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-14
Basics of OOP2Handouts15-20
Abstraction and Inheritance3Handouts21-28
Introduction to Generalization and Specialization4Handouts29-39
Object-Oriented Modeling5Handouts40-54
Polymorphism6Handouts55-64
Assignment No. 01
Introduction to Objects and Classes (cont...)7Handouts65-71
Constructors8Handouts72-83
Destructor9Handouts84-98
Accessor Functions and "this" Pointer10Handouts99-104
Quiz No. 01
Constant data members and Static Variables11Handouts105-111
Constant data members, Static Variables and Array of objects12Handouts112-117
"new" Operator, Getter and Setter13Handouts118-123
Composition14Handouts124-131
Composition, Aggregation and Friend Functions15Handouts132-141
Assignment No. 02
Operator overloading16Handouts142-148
Operator overloading (cont...)17Handouts149-154
Operator overloading (cont...)18Handouts155-157
Operator overloading (cont...)19Handouts158-162
Operator overloading (cont...)20Handouts163-167
Operator overloading (cont...)21Handouts168-174
Inheritance22Handouts175-182
Mid Term Examination
Inheritance (cont...)23Handouts183-190
Inheritance (cont...)24Handouts191-206
Overriding25Handouts207-212
Inheritance (cont...)26Handouts213-217
Inheritance (cont...)27Handouts218-224
Polymorphism28Handouts225-232
Abstract and Concrete Classes29Handouts233-242
Polymorphism (cont...)30Handouts243-249
Assignment No. 03
Inheritance (cont...)31Handouts250-257
Generic Programming32Handouts258-263
Generic Programming (cont...)33Handouts264-269
Generic Algorithms34Handouts270-275
Quiz No. 02
Generic Algorithms (cont...)35Handouts276-281
Generic Algorithms (cont...)36Handouts282-288
Generic Algorithms (cont...)37Handouts289-295
Templates and Friends38Handouts296-302
Generic Algorithms (cont...)39Handouts303-308
Graded Discussion Board
Cursors and Vectors40Handouts309-315
Standard Template Library41Handouts316-324
Iterators42Handouts325-333
Techniques for Error Handling43Handouts334-341
Techniques for Error Handling (cont...)44Handouts342-348
Techniques for Error Handling (cont...)45Handouts349-355
Final Examination
Note: This calendar is subject to change and may be updated at any time.
 
 
Back to Top