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 2 |
Set
2 ( Demo Program will be uploaded) |
|
Set 3 |
|
|
Set 4 |
|