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

Object Oriented Programming LAB

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)
42 views

Object Oriented Programming LAB

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/ 4

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

Title Object Oriented Programming Laboratory


Code CC-211L
Credit Hours 1 (3 hours LAB per week)
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 Overloading,
Course Overloading Binary Operators, Overloading Unary Operators, Overloading ++ Operator, Overloading – Operator, Dynamic
Description 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.

Page 1 of 4
Laboratory Plan – CC-211L – Object Oriented Programming Laboratory Department of Information Technology, University of the Punjab

Recommendations for

Week No.
Learning Activities

Lab 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 (Classes Objects and Getters
Setters)
• Brief description of C++ concepts Examples given in A – Ch.1 and
LAB Manual – I
• Introduction to OOP Ch.3
1 1 A – Ch. 1 (1.8)
• Concept of Encapsulation and Abstraction Programming Challenges in A –
A – Ch. 3 (3.1 to 3.3)
• Class and Object Ch. 1 and Ch. 3
• Getter/Setter Member Functions
• Public private access specifiers
Introduction to C++ (II): (Constructors and other Member
Functions)
• Constructors LAB Manual – II
Examples given in A – Ch. 3, Ch.6
• Overloaded Constructor A – Ch. 3 (3.1 to 3.3)
and Ch. 9
2 2 • Default Constructor A – Ch. 3 (3.4), Ch. 9 (9.6 to
Programming Challenges in A –
• Destructor 9.8)
Ch. 3, Ch. 6 and Ch. 9
• Inline Functions A - Ch.6 (6.12, 6.16, 6.17)
• Function Overloading
• Function Templates
Introduction to C++ (III): (Class Templates array
/Multidimensional Array/ Vectors)
LAB Manual – III Examples given in A – Ch. 7
• Class Templates array
3 3 A - Ch.7 (7.1 – 7.7) Programming Challenges in A –
• Sorting & Searching
A - Ch.7 (7.8 – 7.10) Ch. 7
• Multidimensional arrays
• Vector
OOP Primitives and Composition / Aggregation
• Returning Reference to private Data Members
LAB Manual – IV Examples given in A – Ch. 9
• Default Member-wise Assignment
4 4 A – Ch. 9 (9.1 to 9.10) Programming Challenges in A –
• const Objects
A – Ch. 9 (9.11 to 9.12) Ch. 9
• const Member Functions
• Object Composition and Aggregation

Page 2 of 4
Laboratory Plan – CC-211L – Object Oriented Programming Laboratory Department of Information Technology, University of the Punjab

Friend Classes Functions and static Members


• Friend Functions
LAB Manual – V Examples given in A – Ch. 9
• Friend Classes
5 5 A – Ch. 9 (9.13) Programming Challenges in A –
• “this” pointer
A – Ch. 9 (9.14, 9.15) Ch. 9
• static Data Members
• static Member Functions
Copy Constructor and Operator Overloading
• Copy Constructor
LAB Manual – VI Examples given in A – Ch. 10
• Default Copy Constructor
6 6 A – Ch. 10 (10.10) Programming Challenges in A –
• Using Overloaded Operators of Standard Library
A – Ch. 10 (10.1 to 10.5) Ch. 10
• Fundamentals of Operator Overloading
• Overloading Binary Operators
Operator Overloading
• Overloading Unary Operators
• Overloading ++ Operator
• Overloading -- Operator LAB Manual – VII Examples given in A – Ch. 10
7 7 • Dynamic Memory Management A – Ch. 10 (10.6 to 10.9) Programming Challenges in A –
• Operators as Members vs Non-Members A – Ch. 10 (10.11 to 10.14) Ch. 10
• Conversion between Types
• Explicit Constructor and Conversion Operators
• Overloading the Function call Operator
Stream I/O
• Introduction Examples given in A – Ch. 13
LAB Manual – VIII
8 8 • Streams Programming Challenges in A –
A – Ch. 13 (13.1 to 13.4)
• Streams Input Ch. 13
• Streams Output
MID TERM EXAM
Inheritance - I
LAB Manual – IX Examples given in A – Ch. 11
• Introduction
9 9 A – Ch. 11 (11.1 to 11.2) Programming Challenges in A –
• Base and Derived Classes
A – Ch. 11 (11.3) Ch. 11
• Relationships between Base and Derived Classes
Inheritance and Polymorphism
• Constructors in Derived Classes LAB Manual – X Examples given in A – Ch. 11 and
• Destructor in Derived Classes A – Ch. 11 (11.4 to 11.6) Ch. 12
10 10
• public protected and private Inheritance A – Ch. 12 (12.1, 12.3) Programming Challenges in A –
• Introduction Ch. 11 and Ch. 12
• Relationship among Objects in Inheritance

Page 3 of 4
Laboratory Plan – CC-211L – Object Oriented Programming Laboratory Department of Information Technology, University of the Punjab

Polymorphism
• Virtual Functions Examples given in A – Ch. 12
LAB Manual – XI
11 11 • Virtual Destructors Programming Challenges in A –
A – Ch. 12 (12.4,12.6, 12.7)
• Pure Virtual Functions Ch. 12
• Abstract and Concrete Classes
File Processing
• Files and Streams
• Create a Sequential File
LAB Manual – XII
• Read a Sequential File Examples given in A – Ch. 14
A – Ch. 14 (14.1 to 14.10)
12 12 • Update a Sequential File Programming Challenges in A –
• Random Access File Ch. 14
• Create a Random-Access File
• Read a Random-Access File
• Update a Random-Access File
Exception Handling
• Introduction LAB Manual – XIII Examples given in A – Ch. 17
13 13 • Flow of Control A – Ch. 17 (17.1 to 17.3 and Programming Challenges in A –
• Rethrowing an Exception 17.7) Ch. 17
• Constructor Destructor and Exception handling
Custom Templates - I
• Introduction
Examples given in A – Ch. 18
• Class Templates LAB Manual – XIV
14 14 Programming Challenges in A –
• Function Templates A – Ch. 18 (18.1 to 18.5)
Ch. 18
• Arguments to Templates
• Overloading Function Templates
Standard Library I
• Containers
Examples given in A – Ch. 15
• Iterators LAB Manual – XV
15 15 Programming Challenges in A –
• Adapters A – Ch. 15 (15.1 to 15.6)
Ch.15
• Sequence Containers
• Associative Containers
Standard Library II
Examples given in A – Ch. 15 and
• Container Adapters LAB Manual - XVI
Ch. 16
16 16 • Minimum Iterator Requirements A – Ch. 15(15.7 to 15.8)
Programming Challenges in A –
• Lambda Expressions A – Ch. 16 (16.1 to 16.7)
Ch. 15 and Ch. 16
• Function Objects
FINAL TERM EXAM

Page 4 of 4

You might also like