MURANG’A UNIVERSITY OF TECHNOLOGY
COURSE OUTLINE
SCS202: OBJECT ORIENTED PROGRAMMING
Department: Computer Science
Lecturer’s Name: Fredrick Ng’ang’a
Contact Hours: 45
Pre-requisites: SCS101: Introduction to Programming
Purpose of the Course
To equip the learner with knowledge and skills to develop programs in Object
Oriented Languages.
Expected Learning Outcomes
By the end of this unit, the learner should be able to:
1. Explain data types, control and data structures used in object-oriented
programming.
2. Apply programming skills in C++.
3. Develop Object Oriented Programs.
Course Content:
WEEK TOPIC SUBTOPICS
1. Introduction to Object Overview of OOP; Procedural vs OOP; Structure
Oriented Programming of a simple OOP program; Compilers and IDEs
for OOP languages.
2. OOP Concepts Implementation of OOP concepts using an OOP
language; Objects, Classes, Encapsulation,
Abstraction, Inheritance, Polymorphism.
3. CAT 1
4. Data Types and Primitive and user-defined data types; Identifiers
Identifiers and naming rules; Constants and variables.
5. Control Structures and Sequence, Selection (if, switch), Iteration (for,
Jump Statements while, do-while); Break, continue, and goto
statements.
6. Arrays Single-dimensional arrays; Multi-dimensional
arrays; Array operations.
7. Functions Predefined functions; User-defined functions;
Function prototypes; Scope of variables; Passing
arguments (by value and by reference); Return
types.
8. CAT 2
9. Advanced Functions and Function templates; Variable templates; Passing
Templates arguments to main method.
10. File Organization and File handling basics; Reading and writing to files;
Pointers Pointers, pointer operations, pointer and arrays.
11. Classes and Constructors Abstract, concrete, and interface classes;
Constructors and destructors; Passing of values in
constructors.
12. Inheritance and Types of inheritance; Implementing inheritance;
Polymorphism Method overriding. Compile-time polymorphism
(function overloading, operator overloading);
Run-time polymorphism (virtual functions).
13. Exception Handling and Exception handling mechanisms; Try-catch
Threads blocks; Multiple catch statements; Introduction
to threads and concurrency control.
Instructional Method
Lecture method, Group activities, Class discussions, Demonstrations and illustrations,
Audio/Tele/video conferencing, and E-learning activities.
Instructional Materials
The recommended instructional materials for this course include the following:
Overhead projector, Handouts, Charts, Text books, Chalk/white board marker,
supervised laboratory exercises, Video, Multimedia, Computers-Desktop/Laptops/
tablets and E- journals.
Course Assessment
Type of Assessment Weighting
C.A.T 1 10%
C.A.T 2 10%
Assignment 10%
Examination 70%
Total Scores 100%
Core Reading Materials for the Course
1. Graham Lee. (2019). Modern Programming: Object-Oriented Programming
and Best Practices : Deconstruct Object-oriented Programming and Use It with
Other Programming Paradigms to Build Applications. Packt Publishing.
2. Antonio Mallia, & Francesco Zoffoli. (2019). C++ Fundamentals : Hit the
Ground Running with C++, the Language That Supports Tech Giants Globally.
Packt Publishing.
3. Farrell, Joyce.2011. An object-oriented approach to programming logic and
design / Joyce Farrell. - 4th ed. - Boston, MA: Course Technology/Cengage
Learning.
Recommended Reference Materials
1. Bierer, D., Hussain, A., & Jones, P. (2016). PHP 7: Real World Application
Development. Packt Publishing.
2. Procode (2019), The C++ Programming Language 5th edition; 5th Edition
ISBN-10: 1691196002, ISBN-13: 978-1691196005.
3. Deitel, P. & Deitel, H. (2011), C++ How to Program, Prentice Hall; 8th Edition
ISBN- 10: 0132662361, ISBN-13: 978-0132662369.