COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Spring 2022
Course Description :
Course Code CSC321
Course Title Object Oriented Programming
Credit Hours 3+1
Prerequisites by Course(s) and Topics Programming Fundamentals
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
Course Coordinator Dr. Mujtaba Asad
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) • C++ Programming from Problem Analysis to Program Design by D.S. Malik 5th Edition
Reference Material
Course Goals Introduction to object oriented design, history and advantages of object oriented design, Structures 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, file handling.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Understand principles of object oriented paradigm. C 2
Identify the objects & their relationships to build object oriented solution C 3
Model a solution for a given problem using object oriented principles C 3
Examine an object oriented solution. C 3
Examine an object oriented solution. C 4
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures)
WeekLectureTopics Covered
Week 1 1 Review of Functions I
2 Review of Functions II
Week 2 3 Programming Fundamentals concepts review : Background of Object Oriented Programming
4 Structures in C++
Week 3 5 Arrays with Structures
6 Structures and Functions, Nested structures
Week 4 7 C++ File Handling
8 Structs with File handling
Week 5 9 Objects & Classes, Data Abstraction, Information Hiding, ADTs
10 UML Diagrams, , Members of class, Functions and Classes Constructor Types
Week 6 11 Function overloading, Destructors
12 Inheritance: Class hierarchies:
Week 7 13 Protected Member of class, types of inheritance, Scope resolution with overridden functions
14 Public and private inheritance:
Week 8 1 hours Mid Term
Week 9 15 Mid terms
16 Mid terms
Week 10 17 Multiple inheritance and Multi-level inheritance
18 Multiple inheritance and Multi-level inheritance
Week 11 19 Composition/Aggregation
20 Pointers, Pointer Data Type and Pointer Variables
Week 12 21 Address of Operator (&) Dereferencing Operator (*) Classes, Structs, and Pointer Variables
22 Operations on Pointer Variables Dynamic Arrays
Week 13 23 Virtual functions
24 Friend functions Friend classes Static functions
Week 14 25 Polymorphism,
26 Polymorphism-II, Different types of polymorphism
Week 15 27 Operator Overloading -I
28 Operator Overloading -II
Week 16 29 Function Templates - A simple functions template - Functions templates with multiple arguments
30 Class Templates
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course Student Oriented Project
Programming Assignments Done in the Course Four Assignments
Instructor Name Dr. Mujtaba Asad
Instructor Signature
Date