Professional Documents
Culture Documents
CDF-CSC241 Object Oriented Programming-FA21
CDF-CSC241 Object Oriented Programming-FA21
Object Oriented Programming Fall 2021
COMSATS University Islamabad
COURSE DESCRIPTION FILE
CSC241 Object Oriented Programming
DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING
COMSATS University Islamabad
COURSE DESCRIPTION FILE
CSC241 Object Oriented Programming
DEPARTMENT OF ELECTRICAL & COMPUTER ENGINEERING
Object Oriented Programming
Course code:
CSC241 (3+1)
Prerequisites:
CSC141‐Introduction to Computer Programming
Co requisites:
None
Course Catalog Description:
This course covers the object oriented programming paradigm in C++. The topics covered: Concepts of
object oriented paradigm, encapsulation, inheritance, polymorphism, abstract classes , overloading and
overriding, operator Overloading, exception handling, object‐oriented design, Templates
Textbooks:
1. Object Oriented Programming in C++, Robert Lafore
Reference Books:
1. C++ How to Program, Deitel & Deitel
2. Object oriented programming, Ashok N. Kamthane
Course Learning Objectives:
This course aims to familiarize the students with the basic concepts in digital logic design. Two basic
categories are emphasized: combinational and sequential logic circuits. The teaching material helps the
students to solve many practical hardware problems and to be able to understand the principles of digital
hardware design.
Course Learning Outcomes:
After successfully completing the course, the students will be able to:
1. Understand basic concepts of OOP (classes, objects, abstraction, encapsulation. (C1‐PLO1)
2. Understand and analyze inheritance and polymorphism. (C4‐PLO2)
3. Understand and analyze operator overloading and exception handling. (C3‐PLO2)
4. Develop solutions for a range of problems using OOP approach and modern tools. (A3‐PLO5)
Course Schedule:
3 credit hours/week
One laboratory session/week (3 hours/session)
Topics Covered:
1. Introduction of the course. Review of basic programming concepts, Control Structures, Functions,
Arrays, Strings. Introduction to C++ programming (Chapters 3,4,5,7)
2. Defining classes and objects, Information Hiding and Encapsulation, Overloading, Constructors, Static
and Non‐Static Methods and Variables (Chapters 6)
3. Objects as Function Arguments, Returning Objects from Functions, Using References (Chapters 6)
4. Inheritance, Parent and Child Classes, Encapsulation and Inheritance, Programming with Inheritance
(Chapters 9)
5. Polymorphism, Abstract Classes (Chapters 11)
6. Operator Overloading (Chapters 8)
7. Exception Handling, Templates (Chapters 14)
Assessment Plan:
Theory Quizzes(4) 15%
Homework assignments 10%
2 Sessional exams (in class, 60‐80 minutes each, 10%+15%) 25%
Terminal exam (3 hours) 50%
Total (theory) 100%
Lab work Lab reports (12) 25%
2 Lab sessionals 25%
Lab project and terminal exam 50%
Total (lab) 100%
Final marks Theory marks * 0.75 + Lab marks * 0.25
Learning Outcomes Assessment Plan (Tentative):
Sr. # Course Learning Outcomes Assessment
1. CLO1 Quiz 1
2. CLO1 Quiz 2
3. CLO2 Quiz 3
4. CLO3 Quiz 4
5. CLO1 Assignment 1
6. CLO1 Assignment 2
7. CLO2 Assignment 3
8. CLO3 Assignment 4
9. CLO1 Sessional 1
10. CLO1, CLO2 Sessional 2
11. CLO1, CLO2, CLO3,CLO4 Terminal
Laboratory Experiences:
There is a Laboratory component in all 3+1 credit courses taught at the department. Lab work consists of
a minimum of 12 experiments and related assignments, which constitute 25% of the overall course‐grade.
The laboratory experiments include implementing the Object oriented Programs using Visual Studio in
C++/Dev C++.
Laboratory Resources:
The relevant laboratory is equipped with workbenches and computers to facilitate the experiments
outlined in the lab handbook(s) that are periodically updated. A current list of the 12 lab experiments
performed in this course is provided as Annexure‐II. The list of software and equipment available is also
posted in all labs and is managed by staff dedicated for this purpose.
Computer Resources:
For the purposes of this course Visual Studio C++/Dev C++ are installed in the laboratory that are used for
implementation of C++.
Mapping Course Learning Outcomes (CLOs) to Program Learning Outcomes (PLOs):
PLO 1 Engineering Knowledge: An ability to apply knowledge of mathematics, science,
engineering fundamentals and an engineering specialization to the solution of complex
engineering problems.
PLO 2 Problem Analysis: An ability to identify, formulate, research literature, and analyze
complex engineering problems reaching substantiated conclusions using first principles
of mathematics, natural sciences and engineering sciences.
PLO 3 Design/Development of Solutions: An ability to design solutions for complex
engineering problems and design systems, components or processes that meet specified
needs with appropriate consideration for public health and safety, cultural, societal, and
environmental considerations.
PLO 4 Investigation: An ability to investigate complex engineering problems in a methodical
way including literature survey, design and conduct of experiments, analysis and
interpretation of experimental data, and synthesis of information to derive valid
conclusions.
PLO 5 Modern Tool Usage: An ability to create, select and apply appropriate techniques,
resources, and modern engineering and IT tools, including prediction and modeling, to
complex engineering activities, with an understanding of the limitations.
PLO 6 The Engineer and Society: An ability to apply reasoning informed by contextual
knowledge to assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to professional engineering practice and solution to complex
engineering problems.
PLO 7 Environment and Sustainability: An ability to understand the impact of professional
engineering solutions in societal and environmental contexts and demonstrate
knowledge of and need for sustainable development.
PLO 8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of engineering practice.
PLO 9 Individual and Team Work: An ability to work effectively, as an individual or in a team,
on multifaceted and /or multidisciplinary settings.
PLO 10 Communication: An ability to communicate effectively, orally as well as in writing, on
complex engineering activities with the engineering community and with society at
large, such as being able to comprehend and write effective reports and design
documentation, make effective presentations, and give and receive clear instructions.
PLO 11 Project Management: An ability to demonstrate management skills and apply
engineering principles to one’s own work, as a member and/or leader in a team, to
manage projects in a multidisciplinary environment.
PLO 12 Lifelong Learning: An ability to recognize importance of, and pursue lifelong learning in
the broader context of innovation and technological developments.
PLOs
PLO10
PLO11
PL012
PLO 9
PLO1
PLO2
PLO3
PLO4
PLO5
PLO6
PLO7
PLO8
CLOs
CLO1 C1
CLO2 C4
CLO3 C3
CLO4 A3
Table 2: Mapping CLOs to PLOs
ANNEXURE‐I
Tentative Lecture Breakdown (30 Lectures):
No. of
Topics
Lectures
Introduction of the course. Review of basic programming concepts, Control Structures,
2
Functions, Arrays, Strings. Introduction to C++ programming (Chapters 3,4,5)
Objects as Function Arguments, Returning Objects from Functions, Using References
3
(Chapters 5)
Operator Overloading (Chapter 8) 3
Polymorphism, Virtual, Abstract Classes (Chapters 11 ) 3
Exception Handling, Templates (Chapters 14) 4
File Handling 2
ANNEXURE‐II
List of Experiments:
Lab No. Details
1 Introduction to C++(Revision of Control structure, Arrays, functions ).
2 Implementation of Classes and Objects.
3 Implementation of Access specifiers , Constructors, Destructors.
4 Implementation of Static members.
5 Implementation of Friend function and friend classes.
6 Implementation of Inheritance, Function Overridding
7 Implementation of Types of inheritance
8 Implementation of Composition.
9 Implementation of Operator Overloading
10 Implementation of Polymorphism.
11 Implementation of Abstract Classes.
12 Implementation of Exception Handling,
13 Implementation of Files,
14‐15 Lab Project / Viva
Version Applicable From
Version 1 Fall 2016
Version 2 Spring 2017
Version 3 Fall 2017