Lahore University of Management Sciences (LUMS)


Course Outline

This course teaches object oriented programming to those who have learnt basic programming concepts and are ready to learn in-depth programming. It focuses on object-oriented programming using C++. The main concepts discussed are: Objects, Data Abstraction, Data Encapsulation, Polymorphism, and Inheritance. We teach the C++ language constructs that are used to implement these concepts. For example, Classes, Overloaded Operators, Overridden Methods, Friend Functions, Virtual Functions, and Templates, etc. An introduction to design patterns is also provided.


1. Become familiar with breaking down a problem into objects

2. Learn object-oriented programming in C++

3. Learn what is available off the shelf to facilitate C++ development (tools, libraries)

                      CS192 is a pre-requisite for this course.

Goals and Pre-requisites:

1. Why C++?

2. OOP Overview

3. Classes

4. Members

5. Procedures versus Objects

6. Class Design

7. Data Modeling

8. Introductory STL

9. Iterators and Containers

10. Overloading

11. Inheritance

12. Virtual Methods

13. Abstract Classes

14. Destruction

15. Polymorphism

16. Stream I/O in C++

17. Templates

18. STL Details

19. Exception Handling

Detailed Contents (tentative):