Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
40 views

Object Oriented Programming LAB

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Object Oriented Programming LAB

Copyright
© © All Rights Reserved
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