CS 521 Object-oriented Programming Course Home

 

 

Course Information

 

Course Prefix

Course No.

Credit Hour

Course Title

Prerequisite

CS

521

4

Object-oriented Programming & Design

 

Course Contents

 

Course Syllabus

Part I :  Object Oriented Programming
Structured Programming and Object Oriented Programming paradigms.

Key Concepts :
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.
Part - II Object Oriented Design
Object Oriented Design Approaches: Object Model, Dynamic Model, and Functional Model. (Objet Diagram, State Diagram, and DFD).
Phases of Object Oriented Development: Object Analysis, System Design, Object Design.

Main Text

Part -I:

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

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

Part – II:

Ali bahrami : Object-oriented systems development using unified modeling language, Tata McGraw-Hill

Mark Priestley : Practical Object-oriented design with UML,  Tata McGraw-Hill

Mike O’Dochetry : Object-oriented analysis & Design-understanding system development with UML 2.0, John Wiley & Sons Ltd, (Soft Copy)

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 using UML and application to a case study

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

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

Learning Objectives

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

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

·         Deep understanding of C++ language features specially the oop supports.

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

 

Evaluation Plan

 

Evaluation Plan

Activity

Credit

 

Mid-term Examination

060

End-term Examination

100

Homework & Assignments

050

 

Attendance

010

 

Total

220

 

Class Schedule

 

Week Day

Room No.

Time

Monday

SH ( Lab on the same day after theory)

10:20

Tuesday

SH  

10:20

Wednesday

SH

10:20

Friday

SH

10:20

 

 

Lecture Notes, Number of classes & Reading Materials

 

Part

Topic

Lectures

Slides/Notes

Part -I

Introduction to oop and other programming paradigms 

1

Lecture slides in ppt format are available in the oopd subfolder of sis in the manas server

OOP concepts : object, class, abstraction, inheritance etc.

3

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

2

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

5

Inheritance concepts – single, multiple, repeated inheritance and problems, other forms , alternative to inheritance – composition

4

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

5

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

3

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

6

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

3

Part -II

Overview of  OOAD, OOAD Methodologies, Unified Approach, Brief Introduction to UML (4+1) Views of system Modeling

3

Overview of OOA ( Actor, Actor Identification, Use Case, Use case Modeling, Class diagram, interaction diagram, state diagram etc)

5

Overview of OOD ( Design procedure, Business Layer, Access Layer, View Layer, brief ideas of design patterns- GRASP patters)

5

Total Lectures :

45

 

Home Work & Assignments

 

Assignment Set

Required Files etc

Set 1 ( credit 10)

Will be uploaded very soon

Set 2 ( credit 10)

Set 3 (credit 10)

Set 4 ( Mini Group Project) (credit 20)