CPE342 Object-Oriented Problem Solving

Course Description


This course aims to introduce students to object-oriented programming by building on the understanding of procedural programming and provide them with object-oriented programming skills to solve computational problems. The course includes practicing object-oriented programs development, editing, compiling, linking, and debugging using Java. The core of this course is studying objects and classes and how they are used to represent data. Through the study of objects and classes, this course introduces students to the concepts of inheritance, polymorphism, abstraction, overriding, reuse, encapsulation, etc…




Please join the course facebook group: 




Course OutlineCourse Syllabus


Programming Fundamentals: Part I, Part II



Objects & Classes: Part I , Part II , Part III

Inheritance & Polymorphism: Part I, Part II

Abstract Classes and Methods



Exception Handling


GUI Basics: Part I, Part II

Lab Documents

Lab Syllabus

Lab1: Tutorial, Sheet 

Lab2: Tutorial, Sheet

Lab3: Tutorial, Sheet

Lab4: Tutorial, Sheet

Lab5: Tutorial, Sheet

Lab6: Tutorial, Sheet

Lab7: Tutorial, Sheet

Lab8: Tutorial, Sheet

Additional Excercises

All lab assignments should be submitted to the following email: This email address is being protected from spambots. You need JavaScript enabled to view it.

If the assignment includes code submission, make sure you submit only your .java file(s). If there are several files in your submission, compress the files and submit a .rar or .zip file. DO NOT submit separate files, otherwise your solution will not be graded.

Late submissions (after the deadline) will not be accepted.

Assignment # Assignment Document Assignment Deadline
1 pdf Saturday February 25th Midnight
2 pdf Saturday March 4th Midnight
3 pdf Saturday March 11th Midnight
4 pdf
Sunday March 19th Midnight
Wednesday March 22nd Midnight
5 pdf
Saturday March 29th Midnight






Total (50)