Object Oriented Programming


Credit Structure: 3-0-3-4.5

Course Objectives:

This course teaches concepts of object-oriented programming and enables the students to design, develop, and implement solutions for real world problems using object oriented programming languages C++ and Java.

Course content outlines

Principles of object-oriented programming, i.e. Abstraction, Encapsulation, Inheritance, and Polymorphism. Demonstrate how C++ and Java supports these features. Generics. Study of some of APIs for io sreams and graphical user interface.

In lab hours, there would be series of programming exercises/mini projects to be done in

C++/Java, preferably on linux platform, and using open source tools.



  1. Big C++, Cay Horstmann and Timothy Budd, John Wiley & Sons
  2. Problem Solving with C++, 6th ed, Walter Savitch, Pearson Education


  1. Big Java, 2nd ed., Cay Horstmann, Wiley Student Edition, John Wiley & Sons
  2. Core Java, Volume I, Cay Horstmann and Gary Cornell, the Sun Microsystems Press, Pearson Education.

More Readings:

  1. Concepts of Programming Languages, Robert Sebesta, Pearson
  2. Introduction to object-oriented programming, Timothy Budd, Pearson
  3. Thinking in C++, Bruce Eckel, Pearson Education
  4. Thinking in Java, Bruce Eckel, Pearson Education
Last modified: Wednesday, 10 July 2013, 3:09 PM