COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Spring 2023
Course Description : This module will provide the students with a solid theoretical understanding of, as well as practical skills in, object-oriented programming. Practical skills will be learnt using the C++ programming language. The primary aim of the module is to enable the students to tackle complex programming problems, making good use of the object-oriented programming paradigm to simplify the design and implementation process. Laboratory sessions and tutorials will be provided to encourage acquisition of practical problem-solving skills.
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 Mr. Muhammad Hamas
URL (if any)
Current Catalog Description Nil
Textbook (or Laboratory Manual for Laboratory Courses) • C++ Programming from Problem Analysis to Program Design by D.S. Malik 5th Edition.
Reference Material • Object Oriented Programming in C++ by Robert Lafore 4th edition • C++ How to Program by Deitel & Deitel
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, inheritance, multiple inheritance, polymorphism, object streams, data and object serialization using object streams, file handling.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Develop an understanding of object oriented design artifacts and their mapping to object oriented programming. C 2
Analyze a real life problem statement/scenario to develop a solution. C 4
Simulate UML diagrams to solve complex problems and identify the relationship between classes in inheritance. P 3
Implementation of C++ programs for complex problems, making good use of the language such as structures, file handling, classes, inheritance and polymorphism. P 3
* 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 Implementation of Loops and their conversion and Arrays
2 Implementation of different types of Arrays
Week 2 3 Review of Functions (Built in and User Defined)
4 User Defined Functions
Week 3 5 Structures , Structures Vs Arrays
6 Nested Structures
Week 4 7 Structures with Functions
8 File Handling
Week 5 9 Const vs non constant functions, static data members and functions
10 Structures with file handling
Week 6 11 Classes and Objects
12 Class member functions and data members, Access specifiers
Week 7 13 Access Specifiers , classes vs structures
14 Classes with public, private and protected Access Specifiers
Week 8 1 hours Mid Term
Week 9 15 Constructors
16 Types of Constructor (default and parameterized)
Week 10 17 Implementation of Copy Constructor
18 Implementation of Classes with Constructor
Week 11 19 Implementation Destructor
20 Friend Functions
Week 12 21 Inheritance: Class inheritance
22 Inheritance (Single level, multiple inheritance syntax and implementation)
Week 13 23 Inheritance (Multilevel level, hierarchical inheritance syntax and implementation)
24 Inheritance (hybrid inheritance syntax and implementation)
Week 14 25 Function overloading (Simple)
26 Polymorphism
Week 15 27 Polymorphism (Compile time polymorphism, function overloading)
28 Polymorphism (Compile time polymorphism, operator overloading)
Week 16 29 Polymorphism (Run Time polymorphism, operator overriding)
30 Polymorphism (Run Time polymorphism, operator overriding , Virtual Function)
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name Mr. Muhammad Hamas
Instructor Signature
Date