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

Course Outline

Uploaded by

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

Course Outline

Uploaded by

70148553
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

THE UNIVERSITY OF LAHORE

Course Outline
Fall- Semester
September, 2022

Object Oriented Programming


SCU 4 Credit(s)

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 )

Dr. Muhammad Atif


Teaching Team

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- Text and Other Resources

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:

Week Lecture # Topics/Sub-Topics


1 Lecture 1 Introduction of Object oriented programming, Structured vs Object
Oriented Programming.
Lecture 2 Revision of PF-II concepts (Types of Functions, Built-in, User
defined, Passing parameters to Functions by value and by
Reference,) Default Parameters, Function Overloading, Inline
Functions.
2 Lecture 3 OOP and Real World Modeling.
Need of OOP (Primitive and User define Data type, ADT).
Basic features of OOP
(Introduction to abstraction, Encapsulation, Information Hiding)
Lecture 4 Class, Declaring a Class. Creating an Object, Properties of an object,
Relationship between objects and classes.
3 Lecture 5 Type of Access Specifiers in class, Usage of Access Specifiers,
Implementation of Data Encapsulation, & Information Hiding in
Classes
Lecture 6 Defining Member functions Inside and Outside a class, Accessing
member Functions , Constant member functions
4 Lecture 7 Constructors, Need of constructor, default constructor,
Parameterized constructor, destructor
Lecture 8 Static data member, static function member, Objects as function
Parameter
5 Lecture 9 Copy constructor, Constant reference parameters,
Lecture 10 Class Relationships, (inheritance, composition, association,
aggregation)
6 Lecture 11 Inheritance, single inheritance, Use of Access specifiers,
Lecture 12 Inheritance Categories (Single, Multilevel, Multiple), Implementing
Single Inheritance.
7 Lecture 13 Use of Default Constructor, in single inheritance only
Parameterized constructors and Destructors in context of
inheritance, Difference between Function Overloading and Function
Overriding

Lecture 14 Use of Default Constructor, Parameterized constructors and


Destructors in context of inheritance
8 Lecture 15 Multilevel Inheritance, Implementing Multilevel inheritance
Lecture 16 Multiple Inheritance, Need of Multiple Inheritances, Implementing
Multiple Inheritance

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

Final Term Exam

10- Assessment Criteria

No. Assessment Percentage


1. Mid Exam --
2. Final Exam 40%
3. Quiz 20%
4. Programming Assignments 20%
5. Lab 20%
Total 100%

11- Attendance Requirements


You are expected to attend all lectures, seminars, tutorials, and lab sessions or any other
classroom activity. Where you fail to attend classes, you cannot expect the lecturer to
brief you on what you have missed. You are responsible for your attendance, not the
academic staff. Attendance at tutorials and lab sessions will be strictly monitored, and
failure to attend will be taken into account.

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.

13- General Information


Students are required to be familiar with the university code of conduct, and to abide by
its terms and conditions.

13.1 Copying of Copyright Material by a Student


A condition of acceptance as a student is the obligation to abide by the University’s
policy on the copying of copyright material. This obligation covers photocopying of any
material using the University’s photocopying machines, and the recording off air, and
making subsequent copies, of radio or television broadcasts, and photocopying textbooks.
Students who flagrantly disregard University policy and copyright requirements will be
liable to disciplinary action under the Code of Conduct.

13.2 Academic Misconduct


Please refer to the Code of Conduct for definitions and penalties for Academic
Misconduct, plagiarism, collusion, and other specific acts of academic dishonesty. A
student may work together with one or a group of students discussing assignment content,
identifying relevant references, and debating issues relevant to the subject. Encouraging
or assisting another person to commit plagiarism is a form of improper collusion and may
attract the same penalties. To prevent Academic Misconduct occurring, students are
expected to familiarize themselves with the University policy, the Subject Outline
statements, and specific assignment guidelines. Students should also seek advice from
Subject Leaders on acceptable academic conduct.

13.3 Guidelines to Avoid Plagiarism


Whenever you copy more than a few words from any source, you must acknowledge that
source by putting the quote in quotation marks and providing the name of the author.
Students are encouraged to co-operate, but collusion is a form of cheating. Students may
work together in obtaining references, discussing the content of the references and
discussing the assignment, but when they write, they must write alone.

Approval

Checked by, Approved by,

Dr. Muhammad Atif


Cluster Head(OOP)

Last Update Date: 07-September-2022

Page 5 of 5
The University of Lahore
CS- 2135 Object-Oriented Programming

You might also like