CS304 : Object Oriented Programming

Course Overview

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 Calendar

1 Introduction
2 Starting to OOP
3 Abstraction and Inheritance
4 Introduction to Generalization and Specialization
5 Object-Oriented Modeling
6 Polymorphism in OO Model
7 Introduction to Objects and Classes (cont...)
Assignment No. 1
8 Constructors
9 Destructors
10 Accessor Functions and "this" Pointer
11 Constant data members and Static Variables
12 Constant data members, Static Variables and Array of objects
Graded Quiz No. 1
13 "new" Operator, Getter and Setter
14 Composition
15 Composition, Aggregation and Friend Functions
Graded Discussion Board
16 Operator overloading
17 Operator overloading (cont1...)
18 Operator overloading (cont2...)
Graded Quiz No. 2
Mid Term Examination
19 Operator overloading (cont3...)
20 Operator overloading (cont4...)
21 Operator overloading (cont5...)
22 Inheritance
Assignment No. 2
23 Inheritance (cont1...)
24 Inheritance (cont2...)
25 Overriding
Graded Quiz No. 3
26 Inheritance (cont3...)
27 Inheritance (cont4...)
28 Polymorphism
29 Abstract and Concrete Classes
30 Polymorphism (cont...)
Graded Quiz No. 4
31 Inheritance (cont5...)
32 Generic Programming
33 Generic Programming (cont...)
34 Generic Algorithms
35 Generic Algorithms (cont1...)
36 Generic Algorithms (cont2...)
37 Generic Algorithms (cont3...)
38 Templates and Friends
39 Generic Algorithms (cont4...)
40 Cursors and Vectors
41 Standard Template Library
42 Iterators
43 Techniques for Error Handling
44 Techniques for Error Handling (cont1...)
45 Techniques for Error Handling (cont2...)
Final Term Examination