Sunteți pe pagina 1din 3

Object Oriented Programming Using C++

Instructor’s Name: Mr. Muhammad Ali. Year: 2009.

Email: muhammadallee@gmail.com Semester: BCS-2, MIT-2.

Course Web Site: http://oop.csc.googlepages.com/

Course Object Oriented Programming Using C++


(Credits) (3 Cr Hrs)

Course This course makes students familiar with the notion of Object Oriented and its implementation in
Description an object oriented language. It discusses the main pillars of object oriented, the common problems
in existing procedural or structural approach and how object oriented paradigm solves them
effectively. And provides a new way of implementing a solution to a problem as a set of interactive
entities that model real world.

Pre-Requisites Introduction to Computer Programming


Students should know how to do structured programming in any language (C, preferably C++).

Goals 1. Learning how to think the problem in terms of entities (objects) instead of procedures.
2. Implementing the solutions in C++.
3. Learning some (necessary) technical aspects of C++.
4. Obtaining fair bit of knowledge of Unified Modeling Language (UML).

Learning 1. Students shall be able to make an object oriented design of a real world problem.
Outcomes 2. Students shall be able to model the design in a CASE tool (like Rational® Rose®)
3. Software developed (using OOP) shall be more flexible and re-usable.
4. More complex problems can be addressed in a more adaptable way.
5. Greatly helps in the follow-up course Data Structures Using C++.

TextBooks, Textbook:
Programming TBA
Environment,
etc. Supplementary Materials:
Name User Level
1. Handouts.
Object Oriented Programming in C++ by Robert Lafore
2. Beginning
(4th Edition).
3. Let us C++ by Yashwant Kanetkar Beginning
C++ From the Ground Up by Herbert Schidlt (3rd
4. Medium
Edition).
5. Thinking in C++ by Bruce Eckel (2nd Edition) Expert
C++ The Programming Language by Bjarne Stroustrup
6. Expert
(3rd Edition)
Object Oriented Programming Using C++

Lectures, Lectures will be organized into 30 sessions (of 90 minutes each). There will be two mid term exams
Exams & and one final term exam and other group activities. Lectures are mostly arranged in a sequence,
Attendance therefore covering the contents for the missed lecture(s) before the start of next lecture is highly
Policies recommended (and required) in order to comprehend the lecture and possibly avoid losing marks in
quizzes.

Events,
Competition, Programming Competitions: Attractive and icy prizes for 1st, 2nd and 3rd position holders.
Trips

Additional The course website will be the primary source for announcements and reading material including
Details lecture slides, handouts, and web resources. Make sure you pay a regular visit to it.

Grading* 20% Assignments


10% Quizzes
20% Midterm Exam
20% Final Exam
15% Project
05% Neat Lecture Notes
05% Weekly Labs
05% Class participation & Attendance

* Grading criteria may vary during the semester depending upon various factors.

Cheating and plagiarism are not tolerated in any case and will result in an ‘F’. Feel free to discuss the
assignments with others, however, in the end you need to put those thoughts in your own way. Come
up with your own independent solution. Not looking at the notes that you discussed is a nice way to
accomplish this. Copying any text, including code segments from the internet and presenting them as
your own is considered plagiarism.
Object Oriented Programming Using C++ A = Asgnmt
Q = Quiz

Lecture Contents Week Suggested Readings Activity


Introduction to the course.
Quiz?
Software Development Life Cycle (SDLC). 1
Pointers. Lab

Functions & Function Overloading.


2
Arrays, Number and Character Arrays. Lab

Object Orientation (OO): Need, Importance.


3
Misc. Concepts: Class, Object, What is/can be an object? A1

Merits and Demerits of Object Oriented Programming.


4
Real world modeling using classes and objects. Q1, Lab

Pillars of Object Oriented Programming: Encapsulation, Abstraction.


5
Object Oriented Relationships: Inheritance. Lab

Object Oriented Relationships: Aggregation and Containment.


6
Object Oriented Relationships: Association, 3-Way Association. Lab

Case Study 1. Q2
7
Case Study 2. A2

Revision.
MID TERM EXAM
Implementing Inheritance: General Implementation.
8
Implementing Inheritance: Virtual Inheritance. Lab

Implementing Aggregation and Containment.


9
Implementing Association. Project Design Submission

Function Overriding, Virtual Functions. Q3


10
Polymorphism: Case Study 3. Lab

Polymorphism: Case Study 3, Virtual Destructor.


11
Static Members A3

File Processing.
12
File Processing. Partial Project Submission 1

File Processing. A4
13
Templates.

Friend Classes and Friend Functions.


14
Operator Overloading (Unary Operators). Partial Project Submission 2

Operator Overloading (Binary Operators).


15
Operator Overloading (Assignment Operator, Copy Constructor).

Standard Template Library. 16 Complete Project Submission

S-ar putea să vă placă și