Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
CLO6 Apply principles of encapsulation, abstraction, reusability and extensibility to PLO11 Cognitive C3
support collaborative development.
Program Learning Outcomes
The Bachelor of Science in Computer Science program is designed to enable students to achieve the following by the time they
graduate;
PLO1 An ability to apply mathematical foundations, algorithmic principles, and computing theory in the modeling and design of
computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
PLO2 An ability to use current techniques, skills, and software tools necessary for computing practices and an understanding of
best practices and standards and their application.
PLO3 An ability to analyze a computing problem, and identify the computing requirements appropriate to its solution.
PLO4 An ability to predict the time and cost needed to create/develop and to maintain a computing solution, process or project.
PLO5 An ability to analyze, specify, design, implement, verify, and maintain software systems, process, component, or program
to meet user’s desired needs within realistic constraints such as economic, environmental, social, political, ethical, health
and safety, manufacturability, and sustainability.
PLO6 Attain the necessary organizational and business skills to work effectively in multidisciplinary teams to accomplish a
common goal.
PLO7 An understanding of professional, ethical, legal, security, and social issues and responsibilities.
PLO8
An ability to engage in continuing professional development.
PLO9 An ability to communicate effectively with a range of audiences and project stakeholders.
PLO10 An ability to apply design and development principles in the construction of software systems of varying complexity.
PLO11 An ability to design and conduct experiments, as well as to analyze and interpret data.
PLO12 An ability to design and simulate the computational theories and data.
Lecture type Class room Lectures, Lab Sessions, Project Presentation
Prerequisites Programming Fundamental I
Follow up Data Structures
Courses
Assessment Assessment Weight Used to attain CLO Assessment Weight Used to attain CLO
Criteria (100%) Assignment 10% CLO1-CLO4 Quiz 10% CLO1-CLO6
Lab 20% CLO1-CLO4 Project / Presentation 10% CLO5-CLO6
Attendance 0% Participation 0%
Mid Term 20% CLO1-CLO4 Final 30% CLO3-CLO4
Methods of Assignments, Quizzes, Project, Midterm paper, Final term paper
Evaluation
Notes -
COURSE CONTENTS
Week Topic Lecture Lecture Contents Relation Lecture Material Class Activity Tasks
No. No. with CLO
W1. Recap L1. Functions: prototype, definition, and call. CLO1 Real Life coding Introduction Book Reading
PF(Functions) Function parameter types: in, in-out and out video
only, value type, reference type.
Pass by Reference and pass by pointer
differentiated.
Declaration of a simple structure
Defining a structure variable o
Accessing members of the structure
Initialization of a structure variables
L2. Nested Structure o Declaration, CLO1 Book, PPT, Brainstorming Home
Definition, Accessing members and Assignment
initialization of nested structure.
Difference between non-structured
programming, structured programming
and Object
Oriented Programming and problem
solving. Where to store Structural,
Behavioral and Capabilities with limitation
and constraints.
W3. Objects and L3. Characteristics of Object-Oriented CLO2 Book, PPT, Brainstorming Home
Classes Programming. Assignment
Migration from modular program
having structures and functions to
Classes & Object: syntax and semantics.
Implicitly available member functions.
Defining the Class
Using the Class
Calling Member Functions
L4. − Examples of class − Member Functions CLO2 Book, PPT, Brainstorming Major
Defined Outside the Class Assignment
--Access modifiers: public, private.
W5. Constructors L5. Constructor CLO2 Book, PPT, Brainstorming Quiz
and Destructor Types of Constructor
of Class Default constructor, copy constructor,
Parametrized Constructor.
Destructor of Class.
Passing Object as a Function Arguments
Return an object from member function
this pointer
L6. Programmer defined constructor, copy CLO2 Book, PPT, Brainstorming Home
constructor, White Board, Assignment
= assignment operator. Live coding
Overloading constructors. Shallow and
deep objects. Constructor’s initializer
list.
W7. Member functions L7. Separate declaration and definition of CLO2 Book, PPT, Brainstorming Home
outside the class member functions. Assessors, utility CLO3 White Board, Assignment
methods, Live coding
Cascaded calls to functions.
Examples of passing and returning
objects
L8. Scope resolution Operator CLO2 Book, PPT, Brainstorming Home
Dot operator. CLO3 White Board, Assignment
Const key and why pass by refrence is Live coding
preferred.
W8. Static Class Data L9. − Static members, const members, objects CLO2- Book, PPT, Brainstorming Home
members CLO4 White Board, Assignment
Constructor’s initializer list revisited; Live coding
uses of implicit this pointer/reference or
me reference.
L10. Uses of Static Class Data − An Example CLO2- Book, PPT, Brainstorming Home
of Static Class Data CLO4 White Board, Assignment
Live coding
W10. Arrow operator L11. Arrow -> operator, dynamic memory CLO2- Book, PPT, Brainstorming Major
and Inheritance allocation with new operator to CLO4 White Board, Assignment
instantiate objects in the system heap CLO3 Live coding
and de-allocation of object memory with
delete operator.
W30. Review of L31. Review of course topics CLO1 Book, PPT, Brainstorming Home
course topics CLO2 White Board, Assignment
&Project CLO3 Live coding
Presentation CLO4
CLO5
CLO6
L32. Project Presentation CLO5 Book, PPT, Brainstorming Home
CLO6 White Board, Assignment
Live coding
W32. Final Exam L33. − Final Exam CLO3- Book, PPT, Brainstorming Major
CLO4 White Board, Assignment
Live coding Quiz
L34. − Final Exam CLO3- Book, PPT, Brainstorming
CLO4 White Board,
Live coding
In semester project the maximum team’s member will be three. Student must meet the requirement of
semester project to implement maximum 3000 lines of code of real-life management system.
Make-up of quizzes/exams
As per university rules and regulation.