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

Course Outline CS4-501-Object Oriented Programming

The Object Oriented Programming course (CS4-501) aims to provide students with a comprehensive understanding of OOP principles, including encapsulation, inheritance, and polymorphism, to design and analyze software solutions. The course includes lectures, practical labs, and assessments such as quizzes, assignments, and a final exam, with a focus on real-world problem modeling using object-oriented techniques. Key topics covered include classes, data encapsulation, polymorphism, and the Standard Template Library.

Uploaded by

zoryavecer79
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)
12 views

Course Outline CS4-501-Object Oriented Programming

The Object Oriented Programming course (CS4-501) aims to provide students with a comprehensive understanding of OOP principles, including encapsulation, inheritance, and polymorphism, to design and analyze software solutions. The course includes lectures, practical labs, and assessments such as quizzes, assignments, and a final exam, with a focus on real-world problem modeling using object-oriented techniques. Key topics covered include classes, data encapsulation, polymorphism, and the Standard Template Library.

Uploaded by

zoryavecer79
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/ 6

Department of Computer Science & Software Engineering

Object Oriented Programming

Course Code CS4-501 Cr. Hrs. 3

Instructor Ms. Tayyba Khalid Class BSCS, BSSE , ADP

Lectures Days: As per timetable Semester II


Time:

Pre- Programming Fundamental Contact tayyba.khalid@gaus.edu.pk


Requisites

Office CS Department Office Thur, Friday


Hours 09:30 to 12:30

Learning The Object-Oriented Programming (OOP) course aims to equip students with a
Objectives comprehensive understanding of OOP principles, enabling them to design,
implement, and analyze software solutions using object-oriented techniques.
Through this course, learners will develop critical skills in identifying objects
and their relationships, applying encapsulation, inheritance, and polymorphism,
and employing advanced programming constructs such as templates and
exception handling to solve complex problems.
Problem Analysis

Development of

Professionalism
Communication
Individual and
Modern Tool

and Society
Solving for
Knowledge

Computing
Computing

Teamwork
Academic
Education

Solutions

Life-long
Learning
Design/
Problems

Ethics
Usage
PLOs
No.

10
1

Learning Outcomes

At the end of the course the students will be Domain BT Level* PLO
able to:

• Understand principles of object C 2 2


oriented paradigm.

• Identify the objects & their C 3 3


relationships to build object-
oriented solution

• Model a solution for a given C 3 4


problem using object-oriented
principles
Department of Computer Science & Software Engineering

• Examine an object oriented solution C 4 3

* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective


domain

SDGS addressed in the course: 9 (Industry, Innovation, and Infrastructure)


Sustainable Development Goals (SDGS)

Course Contents:
Introduction to object-oriented design, history and advantages of object-oriented design,
introduction to object-oriented programming concepts, classes, objects, data encapsulation,
constructors, destructors, access modifiers, const vs non-const functions, static data members
& functions, function overloading, operator overloading, identification of classes and their
relationships, composition, aggregation, inheritance, multiple inheritance, polymorphism,
abstract classes and interfaces, generic programming concepts, function & class templates,
standard template library, object streams, data and object serialization using object streams,
exception handling.

Teaching Methodology:
• Lectures, Slides, Notes, Practical labs, Presentations, or video lectures
• Mode of communication is English.

Course Assessment:
Practice problems as homework, Assignments, Quizzes, Project, Presentations, Midterm, and
Final Exam

Textbooks • Object Oriented Programming in C++, 3rd Edition by Robert Lafore

Lecture Notes • C++ How to Program, 10th Edition, Deitel & Deitel.
& Reference • Starting Out with C++ from Control Structures to Objects, 9th Edition,
Material Tony Gaddis.

Midterms Covered till mid-term Final Will cover the entire course

Classroom • Review recommended material before coming to class plus bring summary of the
Policy reading assigned for the class
• Should be on time

Grading • 4-6 Quizzes: 10%


Policy • 4-6 Assignments: 10%
• Mid Term: 25%
• Project: 5%
• Final Exam (Code + Conceptual): 50%
Department of Computer Science & Software Engineering

Course Learning Outcomes


CLOs CLOs Description Outcome BT Level PLO
CLO1 Understand principles of object- Students will gain a deep C2 2
oriented paradigm. understanding of the
object-oriented paradigm,
including its principles,
advantages, and
applications. This
foundational knowledge
will enable them to grasp
complex programming
concepts more
effectively.
CLO2 Identify the objects & their Learners will develop the C3 3
relationships to build object-oriented ability to identify and
solution conceptualize objects in
the context of software
solutions, understanding
how these objects interact
and relate to each other
through mechanisms such
as composition,
aggregation, and
inheritance. This skill is
crucial for designing
efficient and modular
software systems.
CLO3 Model a solution for a given problem Students will acquire C3 4
using object-oriented principles practical skills in
applying object-oriented
principles to model and
develop solutions for real-
world problems. This
includes using
encapsulation to protect
data, inheritance to extend
functionality, and
polymorphism to enhance
flexibility and
maintainability of code.
CLO4 Examine an object-oriented solution By examining object- C4 3
oriented solutions,
students will learn to
critically assess and refine
software designs and
implementations. This
outcome fosters the
ability to improve
software quality,
performance, and
adaptability to changing
requirements.
Department of Computer Science & Software Engineering

Week Session CLOs Assessment Level


1 • Introduction to object-oriented CLO1 L2
programming concepts
• Object-Oriented Design
• History
• OOP VS Procedural and Structural
Programming
• Advantages of OOP
• Premitive vs non-premitive data types
• Classes and Objects
• Data encapsulation
• Access modifiers
• Public
• Private
2 • Function Overloading CLO1 Assignment-1 L2

• Constructor CLO3 L3
• Default Constructor
• Parameterized Constructor
• Non-parameterized Constructor
• Constructor Overloading
3 • Copy Constructors CLO2 L3
• Destructors
• Const vs non-const functions
• Static data members & methods
• Friend functions
4 • Inheritance: CLO3 Quiz-1 L3
• Protected Access modifiers
• Modes of inheritance
• Types of inheritance
• Single/ Basic inheritance
• Multi-Leveled Inheritance
• Inheritance:
• Hieratical Inheritance
• Hybrid Inheritance
• Multiple Inheritance
5 • Virtual base class to solve ambiguity in CLO4 Assignment-2 L4
Multiple Inheritance
• Polymorphism: CLO3 L3
• Types of polymorphism
• Compile Time polymorphism
(Static/Early Binding)
• Run Time polymorphism
(Dynamic/Late Binding)
• Compile Time polymorphism
• Method overloading
• Introduction to operator
overloading
• Unary Operator overloading (prefix
& postfix)
6 • Compile Time polymorphism (Continue) CLO3 Quiz-2 L3
• Introduction to operator
overloading
• Unary Operator overloading (prefix
Department of Computer Science & Software Engineering

& postfix)
• Compile Time polymorphism (Continue)
• Binary Operator overloading
7 • Compile Time polymorphism (Continue) CLO3 L3
• Friend Unary Operator overloading
• Compile Time polymorphism (Continue)
• Friend Binary Operator
overloading
8 • Identification of classes and their CLO2 L3
relationships
• Aggregation
• Composition
9 CLO3 L3
Midterm
10 • Friend Class CLO3 Project L3
• this pointer
• new and delete operator
• Normal Member Functions Accessed with
Pointers
• Run Time polymorphism (Dynamic)
• Overriding methods and
Constructor
• Virtual functions
• Normal Member Functions
Accessed with Pointers
11 • Abstract classes and Pure Virtual Function CLO3 Assignment-3 L3
• Interfaces
• Abstract classes and Pure Virtual Function
Examples
12 • Generic programming concepts CLO3 Quiz-3 L3
• Function & class templates
13 • Exception handling in OOP CLO4 L4

• Exception handling in OOP (Continue)

14 • Standard Template Library CLO3 Assignment-4 L4


• STL Introduction
• Pair
• Vectors
• Standard Template Library (Continue)
• Iterators
• Maps
15 • Standard Template Library (Continue) CLO3 Quiz-4 L4
• Multisets
• Inbuilt sort
• Comparator Function
• Standard Template Library (Continue)
• Upper Bound Lower Bound
• Inbuilt Algorithms and Lamda
Function
Department of Computer Science & Software Engineering

16 • Object streams, data and object CLO4 L4


serialization using object streams

• Project viva CLO4 L4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy