Course Outline for Object Oriented Programming Using C++
Course Outline for Object Oriented Programming Using C++
Prerequisites:
Introduction to Programming
Basic knowledge of procedural programming (preferably in C or another language)
Course Type: Core Course for Cyber Security, Computer Science, Software
Engineering, and Information Technology Programs
Course Description
This course introduces students to Object-Oriented Programming (OOP) using C++. It covers
core OOP principles, including encapsulation, inheritance, polymorphism, and abstraction, and
provides students with hands-on experience in implementing real-world problems using these
techniques. Students will also learn about advanced features of C++ like templates, exception
handling, and file handling, along with the Standard Template Library (STL).
Course Outline
Importance of Encapsulation
Getters and Setters
Controlling Access to Class Members
Practice on Data Hiding and Encapsulation
Function Overloading
Operator Overloading (Unary and Binary Operators)
Friend Functions and Friend Classes
Assignment on Operator Overloading
Week 5: Inheritance
Introduction to Templates
Function Templates
Class Templates
Generic Programming and its Benefits
Lab on Template Functions and Classes
Introduction to Exceptions
Try, Catch, and Throw Statements
Handling Multiple Exceptions
User-Defined Exceptions
Lab on Exception Handling
(NOTE: Practical Exam carries 100 marks however 50 marks for written and 50
marks for sessional exams of practical)
Final Exam Theory(20%): Comprehensive exam covering all topics from the course.
Primary Textbook:
o C++ Programming:An Object-Oriented Approach by Behrouz A. Forouzan and
Richard F. Gilberg
o "Object-Oriented Programming in C++" by Robert Lafore.
Supplementary Resources:
o C How to Program 8th Edition by Paul Deitel and Harvey Deitel
o Online Resources:
GeeksforGeeks: C++ Tutorials
cppreference.com
Course Policies
Attendance: Minimum 75% attendance required to be eligible for the final exam.
Assignment Submission: Assignments must be submitted before the deadline; late
submissions will incur penalties.
Plagiarism: Zero tolerance for plagiarism; any instance will result in disciplinary action.
Conclusion
This course is designed to provide a strong foundation in OOP using C++, enabling students to
design and develop efficient and scalable software applications. It emphasizes both theoretical
understanding and practical implementation, aligning with the HEC and NCEAC guidelines.