COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Fall 2022
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 MS. Rabia Khan
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 • 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, 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 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 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 Mid Term Exams
16
Week 10 17 Constructors
18 Types of constructor (default and parameterized)
Week 11 19 Types of constructor (copy constructor)
20 Destructor
Week 12 21 Friend Functions
22 Inheritance: Class inheritance
Week 13 23 Inheritance (Single level, multiple inheritance syntax and implementation)
24 Inheritance (Multilevel level, hierarchical inheritance syntax and implementation)
Week 14 25 Inheritance (hybrid inheritance syntax and implementation)
26 Function overloading (Simple)
Week 15 27 Polymorphism
28 Polymorphism (Compile time polymorphism, function overloading)
Week 16 29 Polymorphism (Compile time polymorphism, operator overloading)
30 Polymorphism (Run Time polymorphism, operator overriding)
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name MS. Rabia Khan
Instructor Signature
Date