The main purpose of this course is to introduce students to the object-oriented programming (OOP) paradigm building on the procedural programming paradigm covered in their previous programming courses. A pure object-oriented programming language such as Java or C# is going to be used in the course. Problem analysis, solution design, debugging, and decision making all are well covered as part of this course using an OOP paradigm. Students also experiment building graphical-user interface (GUI) applications. The practical part of the course focuses on programming and developing application programs that emphasis the concepts and the tools covered in the course.

Skill Level: Beginner