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

TopicLectureResourcePage
Introduction1Handouts8
Starting to OOP2Handouts15
Abstraction and Inheritance3Handouts21
Introduction to Generalization and Specialization4Handouts29
Object-Oriented Modeling5Handouts40
Polymorphism in OO Model6Handouts55
Introduction to Objects and Classes (cont...)7Handouts65
Constructors8Handouts72
Destructors9Handouts84
Accessor Functions and "this" Pointer10Handouts99
Quiz No.1
Constant data members and Static Variables11Handouts105
Constant data members, Static Variables and Array of objects12Handouts112
new Operator, Getter and Setter13Handouts118
Composition14Handouts124
Composition, Aggregation and Friend Functions15Handouts132
Assignment No.1
Operator overloading16Handouts142
Operator overloading (cont1...)17Handouts149
Operator overloading (cont2...)18Handouts155
Operator overloading (cont3...)19Handouts158
Quiz No.2
Operator overloading (cont4...)20Handouts163
Operator overloading (cont5...)21Handouts168
Inheritance22Handouts175
Inheritance (cont1...)23Handouts183
Mid Term Exams
Inheritance (cont2...)24Handouts195
Overriding25Handouts207
Inheritance (cont3...)26Handouts213
Quiz No.3
Inheritance (cont4...)27Handouts218
Polymorphism28Handouts225
Abstract and Concrete Classes29Handouts233
Assignment No.2
Polymorphism (cont...)30Handouts243
Inheritance (cont5...)31Handouts250
Generic Programming32Handouts258
Generic Programming (cont...)33Handouts264
Generic Algorithms34Handouts270
Generic Algorithms (cont1...)35Handouts276
Generic Algorithms (cont2...)36Handouts282
GDB
Generic Algorithms (cont3...)37Handouts288
Templates and Friends38Handouts296
Generic Algorithms (cont4...)39Handouts303
Cursors and Vectors40Handouts309
Standard Template Library41Handouts316
Iterators42Handouts325
Techniques for Error Handling43Handouts334
Techniques for Error Handling (cont1...)44Handouts342
Techniques for Error Handling (cont2...)45Handouts349
Final Term Exams
* This is tentative schedule and may be subject to change
 
 
Back to Top