CS304 - Object Oriented Programming
Course Page
Q & A
Course Category: Computer Science/Information Technology
Course Level: Imdregraduate
Credit Hours: 3
Pre-requisites: CS101CS201

Course Synopsis

This course gives you a thorough grounding in the basics of Object Orientation i.e. Abstraction, Polymorphism, Inheritance, Encapsulation and other related concepts. Students will learn about these concepts in a C++ development environment. It will also give you knowledge about C++ Class and Template Constructs.

Course Learning Outcomes

At the end of the course, you should be able to:
  • Describe Object Oriented Programming
  • Tackle real world problems through Object Oriented Programming
  • Handle Operator overloading
  • Implement Inheritance, Polymorphism, Encapsulation and related features of OOP
  • Handle Constructors & Destructors
  • Implement Generic Programming Concepts and manipulate exception handling

Course Contents

Introduction, Abstraction & Inheritance, Introduction to Generalization & Specialization, Multiple Inheritance & Associations, Object-Oriented Modeling, Introduction to Objects and Classes, Constructors, Destructor, Accessor Functions & this Pointer, Constant data members & Static Variables, Constant data members & Static Variables& Array of objects, new Operator & Getter and Setter, Composition, Composition& Aggregation and Friend Functions, Operator overloading, Inheritance, Access Specifiers, Copy Constructor &Assignment Operator, Overriding, Types of Inheritance, Polymorphism, Abstract & Concrete Classes, Polymorphism – Case Study, Multiple Inheritance, Generic Programming, Templates and Friends, Generic Algorithms Revisited, Cursors & Vectors, Standard Template Library, Iterators, Techniques for Error Handling, Exception Handling.

Course Related Links

Object-oriented programming
What is Object-Oriented Software?
Object Oriented Programming in C++
The Free On-line Dictionary of Computing
A Graphical Programming Environment to teach Computer Programming
An Introduction to Object-Oriented Programming in C++
OOP Web Dictionary For C/C++
A good resource for OOP concepts
OOP Concepts
C++ Programming Resources
Learning Object Oriented Programming in C++
Introduction to Object-Oriented Programming Using C++
OOP Tutorials
A good resource for oop concepts
A good C++ tutorial
A good tutorial for beginners
Online C++ Tutorial
ACM Resource
Course Instructor

Mr. Shafiq-ur-Rehman
M.Sc.(Electrical Engineering)
George Washington University, USA

C++ How to Program
by Paul J. Deitel

Object-Oriented Software Engineering by Jacobson, Christerson and Jonsson

The C++ Programming Language by Bjarne Stroustrup