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 Key
Concepts : |
|
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) |