This programming course emphasizes the methodology of programming from an object-oriented perspective and software engineering principles. It allows students to develop the ability to analyses programming problems and design and document suitable solutions and to implement reliable and robust software using contemporary program design methods. Topics to be dealt with are: classes: data abstraction, information hiding, overloading; inheritance; polymorphism; exceptions handling.

Upon successful completion of the course, students will be able to:

-        Explain the basic object oriented concepts

-        Successfully code, debug and run programs with appropriate development environment

-        Work on more advanced programs written in Java

Have clear differentiation between structural and object-oriented programming paradigms