Course Outline
Course Outline
Course Outline
Fall- Semester
September, 2022
Co-requisite (s)
a) Programming Fundamental (CS-1012)
Pre-requisite(s) b) Programming Fundamental–II (CS-1013)
c) Computer Programming (CS-1101 )
2 Class Sessions (90 min each)
Weekly tuition pattern
1 Lab Session ( 180 min )
d) 1-Course Description
a. Programmers face problem of modeling real world artifacts in the programming solution
when they move from writing small programs to bigger software applications. Conventional
programming methods fail to resolve this issue. This is where you need to be aware of object
oriented programming to overcome the solution complexities. It takes lots of hours to write well
organized, less complex, scalable and reusable quality programs. What OOP (object oriented
programming) stands for, is just a way to properly organize your code into logical components
that are easier to program, manage and enhance.
This course is designed to familiarize students with basic concepts of OOP like Classes, Objects
and other main characteristics to write OO programs.
b. 2-Objectives
The goal of this course is to:
Page 1 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming
1) Provide sound understanding of OOP concepts.
2) Provide students a comparison of structured and Object oriented programming
techniques.
3) Teach students how to transform real world scenarios in OO model.
4) Provide students with the knowledge of relations between classes such as inheritance
and other OOP features.
5) Store and retrieve data from / on disk.
c. 3-Outcomes
d. Students who successfully complete the course should be able to:
1) Implement OOP concepts in programming using high level language such as C++.
2) Justify the need of Object Oriented approach with respect to structured programming
technique.
3) Demonstrate their skills by capturing real world objects into programming objects by
applying OO approach.
4) Design, implement and test the relationships among classes in OO paradigm.
5) Write OO programs capable of storing and retrieving data using file handling.
e) 4-Course Structure
1. Presentation by lecturer
2. Class Activities and lab assignments
3. Group project
4. Quiz
5- Course Duration
This course will be held twice a week of 3-hour class duration.
6- Course style
f) The course will be delivered in a classroom environment.
g)
h) 7- Additional Course Requirement
In addition to the objectives of this course, students are expected to gain skills which
would be needed in the professional work environment. These skills include but not
limited to: Writing, Presentation, Decision Making and Teamwork.
8.1 Text
Robert Lafore, Object-Oriented Programming in C++
Page 2 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming
8.2 Other Resources
Harvey & Paul Deitel & Deitel, C++ How to Program, 5th Edition , Prentice Hall
Bjarne Stroustrup, The C++ Programming Language ,3rd Edition
9- Course Outline
The lecturers are advised to complete the following topics/sub-topics before the mid/final
term examination as prescribed in the course outline below:
Page 3 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming
9
Mid Term Exam
10 Lecture 17 Friend functions, friend classes Virtual Inheritance
Lecture 18 Introduction to Polymorphism. Implementing Polymorphism,
Declaring Pointers to an object, Inheritance hierarchy and pointers
Base, class pointer to Derived class, Dynamic memory, dangling
object Introduction to Virtual functions
11 Lecture 19 Introducing & Implementing Run Time Polymorphism (Dynamic
Polymorphism), Virtual Base Classes
Lecture 20 Design Strategy, Abstract class, Abstract class and Pure virtual
function, Concreted Derived Classes
12 Lecture 21 Introducing & Implementing Compile Time (Static) Polymorphism,
Function overloading
Lecture 22 Operator Overloading, Binary and unary
13 Lecture 23 Operator Overloading, Binary
Lecture 24 Introduction to Template functions (STL)
14 Lecture 25 Introduction to Exception Handling,
Need of Exception Handling
Lecture 26 Introduction to File Handling, Need of Files,
Stream I/O classes and objects. Stream input and output.
15 Lecture 27 Types of I/O, Character I/O ,Text I/O
Lecture 28 Intro to Binary I/O, Advantages and Disadvantages of Text and
Binary I/O, File access methods (sequential and random)
16 Lecture 29 Read, Write , Update, Search and Delete object using Binary I/O
Lecture 30 Discussion about Final Paper
Page 4 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming
a. 12- Submission and Collection of Assignment
All assignments should be handed in at the beginning of the class sessions when they are
due. All assignments may be handed back during scheduled classes.
Approval
Page 5 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming