Object-oriented Programming Course Home

 

 

Course Information

 

Course Prefix

Course No.

Credit Hour

Course Title

Prerequisite

CO

208

4

Object-oriented programming

CO 203

 

Course Contents

 

Course Syllabus

Data Abstraction : Class, object, constructors, destructors, memory allocations for objects, member functions, friend functions, templates.

Inheritance : Single & multiple inheritance, virtual base class.

Polymorphism : Compile time polymorphism : operator overloading, function overloading, static binding.

Run-time polymorphism : Virtual function, pure virtual function, abstract class, dynamic binding.  Exception handling.

Main Text

Herbert Schild : The Complete Reference to C++, Osborne McGrawHill

Stanley B Lippman : C++ Primer (2nd edn.)(Paperback)

Reference

Bjarne Stroustrup: The C++ Programming Language, Addison Wesley

Rambaugh et al. : Object Oriented Modeling and Design, PHI(EEE).

Grady Booch: Object Oriented Analysis and Design, Pearson Education.

 

Objectives

 

Course Objectives

·         Provide a solid introduction to the topic of  object-oriented programming.

·         Discuss, in detail, the fundamental concepts of  oop : data abstraction, encapsulation, inheritance, polymorphism.

·         Introducing the analysis and design techniques of  oo systems

·         Introducing the advance topics : Exception handling, templates, programming with standard template libraries, design patterns.

·         Applying the oop techniques in  C++  programming language.

Learning Objectives

After completing this course, the student should demonstrate the knowledge and ability to:

·         Explain the advantage  of  oo philosophy over other programming  paradigms.

·         Design and implementations systems in object-oriented manner irrespective of  programming  language.

·         Deep understanding of C++ language features.

·         Know the low level aspects of file manipulation.

·         Implement some of the learned techniques and concepts using C++ for solving various problems.

 

Evaluation Plan

 

Evaluation Plan

Activity

Credit

 

Mid-term Examination

30

End-term Examination

70

Homework & Assignments

50

 

Total

150

 

Class Schedule

 

Week Day

Room No.

Time

Monday

CR-2 ( Main Building )

11:05-12:05 PM

Wednesday

CR-2 ( Main Building )

11:05-12:05 PM

Thursday

CR-2 ( Main Building )

12:05-01:00 PM

 

 

 

Wednesday

Lab Hour ( OOP Lab)

03:00-05:00 PM

 

 

Lecture Notes & Reading Materials

 

Topic

Lecture Slides & Notes

Introduction to oop and other programming paradigms

 

OOP concepts : object, class, abstraction, inheritance etc

 

C++ language constructs ( with reference to C language)

 

More on class : constructor, destructor, static non static members, friends

 

Inheritance concepts

Will be uploaded very soon

Compile time polymorphism : function overloading, operator overloading, static binding

 

Run-time polymorphism : virtual function, abstract class, overriding, late binding

 

Design principles : class diagrams, interaction diagrams etc.

 

Advance topics in C++ : Exception handling, templates, STL, RTTI facilities.

 

Brief introduction to design patterns.

 

More topics in C++ : I/O classes, File handling

 

 

Home Work & Assignments

 

Assignment Set

Required Files etc

Set 1

Set 1 ( check out for a demo program ), Demo

Set 2

Set 2 ( Demo Program will be uploaded)

Set 3

 

Set 4