0% found this document useful (0 votes)
23 views

Object Oriented Programming Theory

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Object Oriented Programming Theory

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Lecture Plan – CC-211 – Object Oriented Programming Department of Information Technology, University of the Punjab

Title Object Oriented Programming


Code CC-211
Credit Hours 3
Category Computing Core
• To perceive computer programming as a basic and foremost computer science implementation and verification tool.
• To express and master the constructs of programming that are unavoidable for any computer science student.
• To introduce the concepts of Object-Oriented programming paradigm.
o Encapsulation
Aims and
o Data Abstraction
Objectives
o Inheritance
o Polymorphism
• To be able to program in the C++ programming language using fundamental constructs e.g. data types, operators, control
structures, functions, arrays, pointers, memory management, and text based file I/O.
• Introduction to C++: OOP: Brief description of C++ concepts, Introduction to OOP. Introduction to Classes Objects
and Member Functions: Concept of Encapsulation and Abstraction, Class and Object, Getter/Setter Member Functions,
Public private access specifiers, Constructors, Overloaded Constructor, Default Constructor, Destructor. Functions: Inline
Functions, Function Overloading. Class Templates array: Function Templates, Class Templates array, Introduction to vectors
and multidimensional array, sorting & searching Returning Reference to private Data Members, Default Memberwise
Assignment, const Objects, const Member Functions. Composition and Aggregation: Object Composition and Aggregation,
Class Separation using header. Friend Classes and Functions: Friend Functions, Friend Classes. static Members: “this”
pointer, static Data Members, static Member Functions. Copy Constructor: Copy Constructor, Default Copy Constructor.
Operator Overloading: Introduction, Using Overloaded Operators of Standard Library, Fundamentals of Operator
Course Overloading, Overloading Binary Operators, Overloading Unary Operators, Overloading ++ Operator, Overloading –
Description Operator, Dynamic Memory Management, Operators as Members vs Non-Members, Conversion between Types, Explicit
Constructor and Conversion Operators, Overloading the Function call Operator. Stream I/O: Introduction, Streams, Streams
Input, Streams Output. Inheritance: Introduction, Base and Derived Classes, Relationships between Base and Derived
Classes, Constructors in Derived Classes, Destructor in Derived Classes, public protected and private Inheritance.
Polymorphism: Introduction, Relationship among Objects in Inheritance, Virtual Functions, Virtual Destructors, Pure Virtual
Functions, Abstract and Concrete Classes. File Processing: Introduction, Files and Streams, create a Sequential File, read a
Sequential File, update a Sequential File, Random Access File, create a Random-Access File, read a Random-Access File,
update a Random-Access File, Exception Handling: Introduction, Flow of Control, Rethrowing an Exception, Constructor
Destructor and Exception handling. Custom Templates: Introduction, Class Templates, Function Templates, Arguments to
Templates, Overloading Function Templates. Standard Library: Containers, Iterators, Adapters, Sequence Containers,
Associative Containers, Container Adapters, Minimum Iterator Requirements, Lambda Expressions, Function Objects
Text Books A. Paul Deitel, Harvey Deitel, C++ How To Program, 10th Edition, Pearson, 2017.
Reference
Material

Page 1 of 5
Lecture Plan – CC-211 – Object Oriented Programming Department of Information Technology, University of the Punjab

Recommendations for

Lecture No.
Learning Activities
Week No.
Source
(Mention Assignments, Test,
Topic Book-Chapter No. (Sections /
Quizzes, Practical, Case Study,
Pages)
Projects, Lab Work or Reading
Assignments)
Introduction to C++ – I: OOP Books Readings:
1 • Brief description of C++ concepts A – Ch. 1 (1.8) A – Ch. 1 (1.8)
• Introduction to OOP
Introduction to C++ – II: Classes, Objects and Member
1 Functions
Books Readings:
• Concept of Encapsulation and Abstraction
2 A – Ch. 3 (3.1 to 3.3) A – Ch. 3 (3.1 to 3.3)
• Class and Object
Homework and Practice tasks
• Getter/Setter Member Functions
• Public private access specifiers
Introduction to C++ – III: Classes, Objects and Member
Functions – II Books Readings:
• Constructors A – Ch. 3 (3.4, 3.6) A – Ch. 3 (3.4)
3
• Overloaded Constructor Ch. 9 (9.6 to 9.8)
• Default Constructor Quiz 1 from Week 1
2
• Destructor
Introduction to C++ – IV: Functions
• Inline Functions Books Readings:
4 A - Ch.6 (6.12, 6.16, 6.17)
• Function Overloading A - Ch.6 (6.12, 6.16, 6.17)
• Function Templates
Books Readings:
Introduction to C++ – V: Class Templates array A - Ch. 7 (7.1 – 7.7)
5 • Class Templates array A - Ch.7 (7.1 – 7.7) Quiz 2 from Week 2
• sorting & searching Assignment 1 from Week 1 to
3 Week 3
Introduction to C++ – VI: Multidimensional arrays and
vector Books Readings:
6 A - Ch.7 (7.8 – 7.10)
• Multidimensional arrays A - Ch. 7 (7.8 – 7.10)
• Vector
Object Oriented Programming Primitives
Books Readings:
• Returning Reference to private Data Members
4 7 A – Ch. 9 (9.1 to 9.10) A – Ch. 9 (9.9 to 9.11)
• Default Member-wise Assignment
Quiz 3 from Week 3
• const Objects

Page 2 of 5
Lecture Plan – CC-211 – Object Oriented Programming Department of Information Technology, University of the Punjab

Composition and Aggregation Books Readings:


• const Member Functions A – Ch. 9 (9.11,9.12)
8 A – Ch. 9 (9.11, 9.12)
• Object Composition and Aggregation Assignment 2 from Week 3
• Class Separation using header and Week 4
Friend Functions and Classes Books Readings:
9 • Friend Functions A – Ch. 9 (9.13) A – Ch. 9 (9.13)
• Friend Classes Quiz 4 from Week 4
5 static Members Books Readings:
• “this” pointer A – Ch. 9 (9.14, 9.15)
10 A – Ch. 9 (9.14, 9.15)
• static Data Members
• static Member Functions
Copy Constructor Books Readings:
11 • Copy Constructor A – Ch. 10 (10.10) A – Ch. 10 (10.10)
• Default Copy Constructor Quiz 5 from Week 5
Operator Overloading – I
6
• Introduction
Books Readings:
12 • Using Overloaded Operators of Standard Library A – Ch. 10 (10.1 to 10.5)
A – Ch. 10 (10.1 to 10.5)
• Fundamentals of Operator Overloading
• Overloading Binary Operators
Operator Overloading - II
• Overloading Unary Operators Books Readings:
13 • Overloading ++ Operator A – Ch. 10 (10.6 to 10.9) A – Ch. 10 (10.6 to 10.9)
• Overloading -- Operator Quiz 6 from Week 6
• Dynamic Memory Management
7
Operator Overloading - III
Books Readings:
• Operators as Members vs Non-Members
A – Ch. 10 (10.11 to 10.14)
14 • Conversion between Types A – Ch. 10 (10.11 to 10.14)
Assignment 3 from Week 5 to
• Explicit Constructor and Conversion Operators
Week 7
• Overloading the Function call Operator
Stream I/O
• Introduction
Books Readings:
15 • Streams A – Ch. 13 (13.1 to 13.4)
A – Ch. 13 (13.1 to 13.4)
8 • Streams Input
• Streams Output
16 Revision Quiz 7 from Week 1 to 8

MID TERM EXAM


Inheritance - I
Books Readings:
9 17 • Introduction A – Ch. 11 (11.1 to 11.2)
A – Ch. 11 (11.1 to 11.2)
• Base and Derived Classes

Page 3 of 5
Lecture Plan – CC-211 – Object Oriented Programming Department of Information Technology, University of the Punjab

Books Readings:
Inheritance - II
18 A – Ch. 11 (11.3) A – Ch. 11 (11.3)
• Relationships between Base and Derived Classes
Inheritance - III
Books Readings:
• Constructors in Derived Classes
19 A – Ch. 11 (11.4 to 11.6) A – Ch. 11 (11.4 to 11.6)
• Destructor in Derived Classes
Quiz 8 from Week 9
• public protected and private Inheritance
10
Books Readings:
Polymorphism - I
A – Ch. 12 (12.1, 12.3)
20 • Introduction A – Ch. 12 (12.1, 12.3)
Assignment 4 from Week 8 to
• Relationship among Objects in Inheritance
Week 10
Polymorphism - II Books Readings:
21 • Virtual Functions A – Ch. 12 (12.4) A – Ch. 12 (12.4)
• Virtual Destructors Quiz 9 from Week 10
11
Polymorphism - III
Books Readings:
22 • Pure Virtual Functions A – Ch. 12 (12.6, 12.7)
A – Ch. 12 (12.6, 12.7)
• Abstract and Concrete Classes
File Processing - I
Books Readings:
• Introduction
23 A – Ch. 14 (14.1 to 14.6) A – Ch. 14 (14.1 to 14.6)
• Files and Streams
Quiz 10 from Week 11
• Create, Read and Update a Sequential File
12
Books Readings:
File Processing - II
A – Ch. 14 (14.7 to 14.10)
24 • Random Access File A – Ch. 14 (14.7 to 14.10)
Assignment 5 from Week 11
• Create, Read and Update a Random-Access File
and Week 11
Books Readings:
Exception Handling – I
A – Ch. 17 (17.1 to 17.3 and
25 • Introduction A – Ch. 17 (17.1 to 17.2)
17.7)
• Flow of Control
13 Quiz 11 from Week 12
Exception Handling – II Books Readings:
26 • Rethrowing an Exception A – Ch. 17 (17.3 and 17.7) A – Ch. 17 (17.1 to 17.3 and
• Constructor Destructor and Exception handling 17.7)
Custom Templates - I Books Readings:
27 • Introduction A – Ch. 18 (18.1, 18.2) A – Ch. 18 (18.1, 18.2)
• Class Templates Quiz 12 from Week 13
14 Custom Templates - II
• Function Templates Books Readings:
28 A – Ch. 18 (18.3 to 18.6)
• Arguments to Templates A – Ch. 18 (18.3 to 18.6)
• Overloading Function Templates

Page 4 of 5
Lecture Plan – CC-211 – Object Oriented Programming Department of Information Technology, University of the Punjab

Books Readings:
Standard Library - I
A – Ch. 15 (15.1 to 15.5)
• Containers and Iterators
29 A – Ch. 15 (15.1 to 15.5) Quiz 13 from Week 14
• Adapters
Assignment 6 from Week 13
15 • Sequence Containers
to Week 15
Standard Library - II
Books Readings:
30 • Associative Containers A – Ch. 15 (15.6, 15.7)
A – Ch. 15 (15.6, 15.7)
• Container Adapters
Standard Library – III
• Minimum Iterator Requirements Books Readings:
31 A – Ch. 16 (16.1 to 16.7)
• Lambda Expressions A – Ch. 16 (16.1 to 16.7)
16
• Function Objects
32 Revision Quiz 14 from Week 1 to 16

FINAL TERM EXAM

Page 5 of 5

You might also like