CPE342 Object-Oriented Programming

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…

 Course Outline
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
Lab Documents
Lab Syllabus
Lab-1 Tutorial
Lab-2 Tutorial
Lab-3 Tutorial
Lab-4 Tutorial
Lab-5 Tutorial
Lab-6 Tutorial
Lab-7 Tutorial
Lab-8 Tutorial
Lab-9 Tutorial
Additional Exercises
Exercise 1

Lab midterm sample exam / Solution

Sample midterm exam

Lab final sample exam

Sample Final Exam


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.


Lab # Document Deadline
1 pdf

Tuesday 30th of September midnight.

2 pdf Saturday 11th of October midnight.
3 pdf Wednesday 22th of October midnight
4 No assignment for lab 4.
5 pdf Friday 7th of November midnight.
6 No assignments for labs 6 & 7. 
8 pdf

Thursday 11th of December midnight.

Sunday 14th of December midnight.

9 pdf Tuesday 16th of December midnight.



All Quizes

All Labs


Total (50)