Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Object Oriented Programming

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Superior University Lahore

Faculty of Computer Science & Information Technology


Course Outline
Course Information Course Title Object Oriented Programming
Course ID CS-1206 Course Type Computing Core
Credit hours 4 Hours per week (C-L) 3-1
Programs BS (DS/AI) Preferred Semester 2
Date Version 1.0
Instructor Naeem Abbas TA / Lab Engineer
Course Description This course is designed to teach object-oriented programming techniques to those who have learned basic programming
concepts. In this course following topics will be covered: a brief review structured data type, Classes, Objects, Data
Abstraction; Data Encapsulation; Polymorphism; and Inheritance; Overloaded Operators; Overridden Methods; Friend
Functions; Virtual Functions; File Handling (Streams and Files. Python programming language is used to demonstrate the
object-oriented programming constructs.

Measureable Student Learning Outcomes

CLOs Description PLOs Domain Domain Level


PLO01
CLO1 Explain OOP concepts like object, class, data & function members, friend Cognitive C2.
functions, message, abstraction, encapsulation, protection, composition,
inheritance, Polymorphism
CLO2 Develop objects from description implementing their structure and behavior by PLO03 Cognitive C5.
defining data members, and member functions/operators with emphases on
usability.
CLO3 Evaluate optimal static and dynamic usage of memory and protecting memory PLO02 Cognitive C6.
breach and wastage.
CLO4 Interpret lifespan of objects defined as entry into, computational collaboration PLO03 Cognitive C6
through messages and exit from logical spaces in computational tasks.
CLO5 Comply an object-oriented design in a clear and lucid manner PLO10 Affective A2

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

Course Visual Studio


Software or
Tool
Textbook Title Edition Authors Publisher Year ISBN
Object Oriented Programming 4th Robert Sams December 2001 0-672-32308-7
Lafore
References PYTHON Programming: Program Design Including 6th D.S. 978-1-
Data Structures Malik 13362628-1

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.

L12.  Introduction to inheritance − Derived CLO2- Book, PPT, Brainstorming Quiz


Class and Base Class CLO4 White Board,
 Syntax of Inheritance Live coding
 Accessing Base Class Members − The
protected Access Specifier
W12. Modes of L13.  Derived Class Constructors − Base CLO2- Book, PPT, Brainstorming Home
Inheritance Class Constructors CLO4 White Board, Assignment
 Single inheritance, multiple inheritance, Live coding
multilevel and Hierarchical Inheritance
L14.  Protected Access Specifier CLO2- Book, PPT, Brainstorming Home
 Inheritance: private and protected access CLO4 White Board, Assignment
modifiers. Is-a Relationship of Base Live coding
class and derived classes,
 Public Inheritance − Protected
Inheritance − Private Inheritance with
example
W14. Types of L15.  Levels of Inheritance CLO2- Book, PPT, Brainstorming Home
Inheritance  Derived class functions overloading. CLO4 White Board, Assignment
Data member domination. Live coding
 Inheritance: Member function
overriding;
L16.  Multiple Inheritance − Member CLO2- Book, PPT, Brainstorming Home
Functions in Multiple Inheritance CLO4 White Board, Assignment
 Composition and related concepts; Has- Live coding
a relationship. Complex object. Partial
classes
W16. Mid Term L17.  Mid Term Examination CLO1 – CLO 4
Exam L18.
W18. Polymorphism L19.  Polymorphism − Advantages of Using CLO5 Book, PPT, Brainstorming Home
Polymorphism CLO6 White Board, Assignment
 compilation advantage. Live coding
L20. − Pointers − Pointer to Objects and CLO1- Book, PPT, Brainstorming Home
Dynamically memory allocation CLO5 White Board, Assignment
Live coding
W20. Late Binding L21. CLO5 Book, PPT, Brainstorming Major
− Member function overriding; virtual CLO6 White Board, Assignment
functions; pure virtual functions Live coding
 Abstract Base Class & Concrete
Derived Class
L22.  Normal Member Functions Accessed CLO5 Book, PPT, Brainstorming Quiz
with Pointers − Virtual Member CLO6 White Board,
Functions Accessed with Pointers Live coding
 Virtual Destructors
W22. Virtual Classes L23.  Class hierarchy. Multiple inheritance; CLO5 Book, PPT, Brainstorming Home
& Friend Diamond head Problem with example of CLO6 White Board, Assignment
Functions Virtual classes Live coding
L24.  Accessing provide and protected CLO4- Book, PPT, Brainstorming Home
members from outside the body of class CLO5 White Board, Assignment
 Friend Function Live coding
 Friend Class
W24. Static Functions L25.  Static data members and Static CLO4- Book, PPT, Brainstorming Home
Functions CLO5 White Board, Assignment
 Accessing static Functions Live coding
 Calling member functions of class
without object
L26.  Use of this pointer or keyword. CLO3 Book, PPT, Brainstorming Home
 Cascaded calls to functions CLO4 White Board, Assignment
Live coding
W26. Operators and L27.  Unary, Binary and Relational Operators CLO4- Book, PPT, Brainstorming Major
static  Working of Unary, Binary and CLO6 White Board, Assignment
binding(Operator Relational Operators Live coding
overloading)  Operator Overloading: operator as
member functions; operators as friend
functions;
L28.  Arithmetic Operators, Concatenating CLO4- Book, PPT, Brainstorming Quiz
Strings − Multiple Overloading − CLO6 White Board,
Comparison Operators, Live coding
W28. Overloading L29.  Cascaded calls to operator functions; CLO4- Book, PPT, Brainstorming Home
Binary Operators Restriction on friend operator functions CLO6 White Board, Assignment
& File Handling [],(), -> Cascaded calls to operator Live coding
functions; Restriction on friend operator
functions [],(), ->
 Operator Overloading: operator as
member functions; operators as friend
functions; Cascaded calls to operator
functions; Restriction on friend operator
functions [],
(), ->
 Arithmetic Assignment Operators
L30.  File Handling CLO4- Book, PPT, Brainstorming Major
 Writing Data, Reading Data − CLO6 White Board, Assignment
Appending files, Deleting Records Live coding

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.

 Class presence rules


As per university rules and regulation.

 Make-up of quizzes/exams
As per university rules and regulation.

Semester Long Activities (Project/presentation etc.)


 Project Description

Rubric for Project

Sr. No. Deliverable Description Marks Excellent Good Fair Unsatisfactory


(80% - (60% - 80%) (40% - 60%) (0% - 40%)
100%)
1.
2.
3.

You might also like