CS-142: Object Oriented Programming
Spring 2023
Instructor: Samreen kazi
Office: PhD Scholar Room (City Campus)
Email: [email protected]
Office Hours: Mon, wed 1:00 pm- 2:00pm
I. Course Objectives/Description:
This course describes another paradigm as a replacement for structured/procedural programming
paradigm (CSE141) for managing large programs by segregating code into reusable chunks called
classes. Principles of Abstraction, Encapsulation, Inheritance and Polymorphism are explored as well
as developing an understanding of code structuring and design philosophies. It requires a thorough
understanding of fundamentals of programming. Unified Modeling Language is used to design the code
before its application. Best design practices are taught using design patterns and the utility of these
patterns in normal use is explored.
II. Specific Learning Outcomes: By the end of this course, students will be able to: -
CLO Description Learning-Domain
Level
CLO 1 Acquire knowledge of underlying concepts of object-oriented Cog - 3
paradigm.
CLO 2 Develop an understanding of object-oriented design artifacts Cog - 3
and their mapping to object-oriented programming.
CLO 3 Design and implement object-oriented solutions for small Cog - 5
systems involving single/multiple objects.
CLO 4 Students will learn team management and work distribution Cog - 3
1
Mapping of Quiz/Assignment/Exam with Course Learning Outcome (CLOs):
CLO 1 CLO 2 CLO 3 CLO 4
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Project Submission
Program Learning Outcomes (PLO) mapped to CS 353
CLOs of the course are designed to cater following PLOs:
PLO 1 : Analysis
PLO 2 : Design
PLO 3 : Programming
PLO 4 : Implementation
PLO 5 : Tools
PLO 8 : Communication and Team Work
PLOs Distribution of CLO weightages for each PLO
CLO 1 CLO 2 CLO 3 CLO 4
PLO 1 100%
PLO 2 50% 50%
PLO 3 50% 50%
PLO 4 50% 50%
PLO 5 50% 50%
PLO 8 100%
Level of Emphasis of PLO
S. No. Program Learning Outcomes (PLOs)
(1=High; 2=Medium; 3=Low)
1 Analysis 2
2 Design/Development of Solutions 1
3 Programming 1
4 Implementation 1
5 Tools 2
6 Self-learning -
7 Ethics and Awareness -
8 Communication & Teamwork 1
2
III. Course Requirements:
(a) Required text:
Head First Design Patterns by Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra
Head First Java, 2nd Edition by Kathy Sierra, Bert Bates
The Object-Oriented Thought Process by Weisfeld, Matt
IV. Grading Procedures:
Assignments 16% (4 Assignments)
Lab Work 24% (12 Best Labs)
Mid term 20%
Project 15%
Final 25%
Grade Allocation:
IBA’s standard grading scheme will be used with absolute marking.
V. Format and Procedures: - There are no quizzes in this course, however the students will be assessed
based on the quality of code during their lab sessions and given marks on their performance. Mid terms
and Finals will be programming based. Everyone will individually work on all the assessments.
VI. Attendance Policy: The standard IBA’s attendance policy will be applied.
VII. Academic Integrity Each student in this course is expected to abide by IBA’s Student Honor Code
of Academic Integrity. Any work submitted by a student in this course for academic credit will be the
student's own work. Scholastic dishonesty shall be considered a serious violation of these rules and
regulations and is subject to strict disciplinary action as prescribed by Habib University regulations and
policies. Scholastic dishonesty includes, but is not limited to, cheating on exams, plagiarism on
assignments, and collusion.
3
VIII. Course Schedule
Week Topic(s)
Week 1 Course outline and marks distribution. History of OOP. Classes definition
Week 2 Classes and Objects, Encapsulation and Abstraction, Access modifiers
Week 3 Constructor & Copy Constructor, static keyword
Week 4 Linked List and Stack (understanding references by creating a general List)
Week 5
Inheritance and Super(), method overloading and overriding
Week 6 Polymorphism & Types of Polymorphism, static and dynamic binding
Week 7
Abstract class and Interface
Week 8 UML Introduction
Dependency,Generalization,Association,Aggregation,Realization
Week 9
Review
Week 10 Design Patterns, Factory, Abstract Factory
Week 11 Singleton, Builder Design Pattern
Week 12 Prototype Design Pattern, Adapter Design Pattern
Week 13 Exception Handling
Week 14
Review and SOLID principles
Disclaimer:
Changes in syllabus may take place during the course as felt necessary by the instructor