CSI132 Discrete Structures II

CSI142 Object-Oriented Programming


“Interpret simple problem specifications and apply the appropriate primitive data types, imperative control structures and OO constructs in the design and development of solutions in Java. 

i.e. at the end of this course, students should be able to describe the fundamental concepts of object oriented programming and their implementation, Design and build object-oriented programs using a modern object-oriented programming language, Java, and Apply the concepts through a variety of programming projects.


Introduction to object-oriented programming (e.g., paradigm, OOP language features)- Objects and classes, Encapsulation,  Understanding class definitions, messages and methods, Control flow, Object interaction, Generic programming and Collection classes (Data Structures),  Libraries, Utilities and Packages, Testing and debugging, Design principles, Inheritance, Polymorphism, Extendable, flexible class structures, Building graphical user interfaces, Handling errors.