This course introduces the students to object-oriented programming (OOP) and design. The students will be introduced to the basic object-oriented concepts such as OOP history, objects, classes, encapsulation, abstract classes, inheritance, polymorphism, interface, inner classes, and abstraction. Likewise, this course introduces the concepts of Graphical User Interface (GUI), Abstract Window Toolkit (AWT), Event and Exception Handling, and Data Streams.