This document provides an introduction to object-oriented programming in Java. It outlines the course objectives which are to learn Java fundamentals like object-oriented principles, exceptions, files, threads, and GUI programming. The course is divided into 5 units that will cover Java basics, inheritance, data structures, exception handling, and GUI programming. The document discusses Java's history and importance for portability. It compares Java to C/C++, highlighting features removed or changed in Java like pointers, preprocessor, and multiple inheritance. Finally, it reviews Java's core characteristics like being simple, object-oriented, architecture-neutral, portable, secure, and its multi-threaded environment.