ANNEXURE-I
Object Oriented Programming
Course Code      CS02203
Semester         Spring 2025
Cr. Hrs.         4
Section (s)      CSIT-D, E
Instructor Contact Information
Instructor          Mr. Sana Ullah Imtiaz
Email               sanaullah.imtiaz@cs.edu.pk
Cell No.            0123-456789
Zoom ID
Office              Office No. CS-207, 2nd Floor CSIT Building
                        i)      The teacher will be available during the office hours for student consultation as per the following
                                schedule:
Student
                                 Tuesday: 2:00 - 4:00 PM
Consultation
                                 Wednesday: 2:00 - 4:00 PM
Hours
                                 Thursday: 2:00 - 4:00 PM
                        ii)     Moreover, students can make online appointments with the teacher via Zoom for consultation.
Class Details (subject to change)
                      Class
Section                           Class Title                 Days & Times             Class Room Location            Class Dates
                      Type
                                                              Tuesday                  LB3-107, Lecture Block CSIT    Feb 12, 2025 -
Section CSIT-D        Lecture     OOP Class
                                                              12:30 PM - 01:45 PM      Building                       Jun 20, 2025
                                                              Thursday                 LB3-108, Lecture Block CSIT    Feb 12, 2025 -
Section CSIT-D        Lecture     OOP Class
                                                              12:30 PM - 01:45 PM      Building                       Jun 20, 2025
                                                              Wednesday                LAB-CS-001, Ground Floor       Feb 12, 2025 -
Section CSIT-D        Lab         OOP Lab
                                                              08:00 AM - 10:45 AM      CSIT Building                  Jun 20, 2025
                                                              Thursday                 LB3-107, Lecture Block CSIT    Feb 12, 2025 -
Section CSIT-E        Lecture     OOP Class
                                                              09:30 AM - 10:45 AM      Building                       Jun 20, 2025
                                                              Friday                   CS1-003, Ground Floor CSIT     Feb 12, 2025 -
Section CSIT-E        Lecture     OOP Class
                                                              11:00 AM - 12:15 PM      Building                       Jun 20, 2025
                                                              Tuesday                  LAB-CS-003, Ground Floor       Feb 12, 2025 -
Section CSIT-E        Lab         OOP Lab
                                                              08:00 AM - 10:45 AM      CSIT Building                  Jun 20, 2025
                        i)      Please use email rather than telephone voice mail for messages.
                        ii)     Please keep emails short and focused, and use a clear subject line beginning with "CS02203
                                Question".
Communication           iii)    The instructor will generally respond within 24 hours (during the academic days).
with Instructor         iv)     Always include your name, course, and UOL email address in your messages to the
                                instructor. If you send an email from an address other than the uol email address, like
                                mr@abcd.com, the instructor would not be able to recognize that you are a student of the
                                University.
PreRequisites      (Note: Instructor should define it in coordination with HOD/Faculty Committee)
Prerequisites: Grade of "C" or better in Programming Fundamental (CS-1012), Programming Fundamental–II (CS-1013),
               Computer Programming (CS-1101)
Corequisite
Medium of Instruction
                  The instructor will deliver class lectures, conduct discussions, and engage in all academic activities
  Medium of
                  exclusively in English. Moreover, the students are required to use English as a mode of communication for
  Instruction
                  classroom discussions, group discussions, vivas/presentations, group projects, etc.
Course Material Availability on SLATE/LMS:
                  I will use LMS/Slate to keep in touch with my classes. In-class discussion problems, homework solutions
                  and, supplemental materials, and scores for exams, attendance, and assignments will be posted to LMS/SAP.
                  You should be certain that you are able to log in to LMS/SAP and that you check the class page on LMS and
 SLATE/LMS        your University email account regularly.
                  Course material is available on LMS: https://slate.uol.edu.pk/login/index.php
                  Grades will be posted on LMS/SAP: https://hub.uol.edu.pk
Required Text
 Text Book 1      Robert Lafore, Object-Oriented Programming in C++, 4th Edition
 Text Book 2      Harvey & Paul Deitel & Deitel, C++ How to Program, 10th Edition , Prentice Hall
 Other
                  Bjarne Stroustrup, The C++ Programming Language ,3rd Edition
 Material
Software/ Other Tools/Resources
                    You can use any editor you prefer to write C++ programs. If you don't have a preference, I suggest using
                    Dev C++ or VS Code.
                    For Dev C++, go to:
                    https://sourceforge.net/projects/orwelldevcpp/
  C++ Editors
                    For VS Code, go to:
                    https://code.visualstudio.com/
                    Click on the Downloads link and download the installation for your platform (Windows, macOS, or
                    Linux/Unix).
     Other             i.   Code Blocks: https://www.codeblocks.org/
 Tools/Software       ii.   Visual Studio: https://visualstudio.microsoft.com/
        s
Goals:   (Note: Instructor should define it in coordination with HOD/Faculty Committee)
 Sr.
                                                                   Goals
 No
  1    Understand the fundamental principles of Object Oriented Programming (OOP).
  2    Develop problem-solving skills using object-oriented design techniques.
  3    Learn to implement real-world solutions using C++ OOP concepts.
  4    Master using classes, objects, inheritance, polymorphism, and encapsulation in C++.
  5    Write efficient, reusable, and maintainable C++ code.
  6    Enhance collaboration skills through team-based programming projects.
Course Objectives:        (Note: Instructor should define it in coordination with HOD/Faculty Committee)
Sr.
                                                                Objectives
No
1      Provide a sound understanding of OOP concepts.
2      Provide students with a comparison of structured and Object-oriented programming techniques.
3      Teach students how to transform real-world scenarios in the OO model.
4      Provide students with the knowledge of relations between classes, such as inheritance and other OOP features.
5      Apply encapsulation and abstraction to create modular and reusable code.
6      Utilize inheritance and polymorphism to enhance code flexibility and scalability.
7      Store and retrieve data from/on disk.
8      Debug and troubleshoot C++ programs to improve code quality.
COURSE REQUIREMENTS (Subject to Change)
(Note: Instructor should define it in coordination with HOD/Faculty Committee)
A. Class Attendance:
You are expected to attend class and participate by asking, answering, and contributing to topical discussions. You are expected
to arrive prior to the beginning of class. Class members will be randomly selected to answer questions and/or help with the
solution to the exercises.
 If you do miss a class, it is your responsibility to ensure that you understand the material covered and the announcements made
in the class you missed. You may not use office hours to have the professor explain the material if you missed the class when it
was discussed.
B. Class Participation:
The following factors will be considered in evaluating class participation:
(1)   Attend class sessions and contribute to a positive learning environment,
(2)   Ask thoughtful questions,
(3)   Participate in discussion,
(4)   Prepare for reading and assignments conscientiously.
A positive learning environment results when you demonstrate respect for other students and the instructor, are courteous and
attentive, assist others in learning, attend class regularly, and arrive in class on time.
C. Homework/Assignment:
Doing the homework is essential for success in this course. Throughout the semester, at least 4 Homework/Assignments (5
marks/points each) , 2 before Mid-Term and 2 after Mid-Term will be given.
Homework/Assignments assigned will be discussed in class when time permits, but you may not understand it completely unless
you have already attempted the work. Programming is a discipline that cannot be learned merely by watching; it is learned only
by doing. By attempting each homework problem prior to the class discussion, you can maximize your learning experience and
will be in a position to ask appropriate questions and identify areas where you need help. Accordingly, homework should be
done as instructed before coming to each class.
Incomplete work (or cheating on an assignment) cannot be accepted. Late homework cannot be accepted (as the solution
will be posted right after the collection of the assigned homework).
D. Quizzes
Throughout the semester, at least 4 quizzes (5 marks/points each), 2 before Mid-Term and 2 after Mid-Term, will be given
in class on material covered in the previous week(s) to ensure that you are keeping current. There are no makeup quizzes. If
you are not in class on the day of a quiz, you will receive a zero.
E. Exams:
There will be two (2) exams for the semester. All exams are "closed book." Students will not be given any extended time if
arriving late on that day.
Exams will be a combination of objective questions (e.g., multiple choices, short answers) and programming problems.
No makeup exam will be given, and the exam will not be administered on any other day!
EVALUATION & GRADING:
(Note: Teacher should modify it as per University/Department Policy in Consultation with HOD/Faculty Committee)
The course grades will be determined by the following:
                 Components                                Marks                                       Weight
 Mid-Term                                                    20                                         20%
 Lab                                                         20                                         20 %
 Final-Exam                                                  40                                         40 %
 Quizzes (4*5 points)                                        20                                         10%
 Home Work/Assignment (4*5 points)                           20                                         10%
 Total                                                                                                  100%
Your Responsibilities
 Sr.
 No                                                         Major Responsibilities
   .
 1     Arrive on time and do not leave before the end of the class period.
       Refrain from causing other distractions (ringing cell phones, talking while others have the floor, etc.). Disruptive
 2
       students will be asked to leave the class.
 3     Treat everyone with respect.
       Be responsible for all assigned materials plus everything covered in class. If you missed classes, make arrangements
 4
       with another student to collect handouts and update you on classes you missed
ACADEMIC HONESTY STATEMENT
 Academic dishonesty, which includes cheating, fabrication, facilitation of academic dishonesty, and plagiarism, is a serious
academic offense. A grade of "F" shall be assigned to any student who engages in academic dishonesty in this class, and formal
disciplinary action shall be taken. (Plagiarism in any assignment or cheating in the examinations will result in a grade of F in the
entire course).
THIS SYLLABUS CONSTITUTES A CONTRACT BETWEEN THE STUDENT AND THE FACULTY OF IT (FIT). THE TERMS
AND CONDITIONS CONTAINED IN THIS CONTRACT ARE DEEMED TO BE ACCEPTED BY EACH STUDENT WHO
REMAINS IN THIS COURSE AFTER THE OFFICIAL DROP DATE.
Home Work/Assignment and Quiz Details (subject to change)
                            Home Work (HW)/Assignment                                                                   Quiz
                                                                                                             Submission of           Solution
   Homework/                 HW/Assignment        Solution Posting of      Result                                                                      Result
                    Week                                                                 Quiz      Week         Quiz by          Posting of Quiz
   Assignment                 Submission by       HW/Assignment By       Submission                                                                  Submission
                     No                                                                (on LMS)     No         Student on        by Teacher on
    (on LMS)                 Student on LMS        Teacher on LMS           Date                                                                        date
                                                                                                                  LMS                  LMS
 Home Work 1                                                                          Quiz 1      Week       Within the         Immediately         Within
                             Within the Time     Immediately after the
                    Week                                                 Within                   3-4        Time Line          after the quiz      7days
                             Line Assigned by    assignment
                    2-3                                                  7days                               Assigned by the    submission
                             the Teacher         submission deadline
                                                                                                             Teacher            deadline
 Home Work 2        Week                                                 Within       Quiz 2      Week                                              Within
                             Same as Above       Same as Above                                                Same as Above      Same as Above
                    5-6                                                  7days                    6-7                                               7days
 Home Work 3        Week                                                 Within       Quiz 3      Week                                              Within
                             Same as Above       Same as Above                                                Same as Above      Same as Above
                    10-11                                                7days                    11-12                                             7days
 Home Work 4        Week                                                 Within       Quiz 4      Week                                              Within
                             Same as Above       Same as Above                                                Same as Above      Same as Above
                    12-13                                                7days                    13-14                                             7days
 Reading
                                                Every Week
 Assignments
Note: This is the minimum number of homework/Assignments and Quizzes. The instructor should encourage you to add more homework/Assignments and Quizzes.
Submitting Work:
     1. Most assignments will be submitted electronically via Slate/LMS.
     2. Please do not email submissions until and unless necessary due to some justified reason.
Course Contents and Tentative Class Schedule Table-I (subject to change)
                                                                                                                                   Exam/Quiz/Assignment
    Week                                                                                                       Chapter
     No         Dates                             Topics                               Book Name                                                   Time Line
                                                                                                                 No            Category            for Result
                                                                                                                                                   Submission
                             Revision of PF-II concepts (Types of
                             Functions, Built-in, User defined,                   Robert Lafore, Object-
                             Passing parameters to Functions by                   Oriented
                                                                                                                    5               NA                NA
             13-02-2025      value and Reference) Default                         Programming in C++,
             18-02-2025      Parameters, Function Overloading,                    4th Edition
      1                      Inline Functions
             13-02-2025      Introduction of OOP, Structured vs
             14-02-2025                                                           Harvey & Paul Deitel
                             Object Oriented Programming. OOP
                                                                                  & Deitel, C++ How to
                             and Real World Modeling. Need of                                                    1,2,3              NA                NA
                                                                                  Program, 10th
                             OOP (Primitive and User define a
                                                                                  Edition , Prentice Hall
                             Data type, ADT).
                             Recursive function and nested                        Harvey & Paul Deitel
                             recursion with examples Factorial                    & Deitel, C++ How to
             18-02-2025                                                                                             6               NA                NA
                             calculation, Fibonacci series, pattern               Program, 10th
             20-02-2025
                             printing.                                            Edition , Prentice Hall
      2
             20-02-2025      Class, Declaring a Class. Creating an                Robert Lafore, Object-
                             Object, Properties of an object,                     Oriented                                      Home Work/
             21-02-2025                                                                                                                             Within 7
                                                                                                                    6           Assignment 1
                                                                                                                                                     Days
                             Relationship between objects and                     Programming in C++,                          (Week 2/Week3)
                             classes, Memory concepts.                            4th Edition
                             Type of Access Specifiers in class,
                                                                                  Robert Lafore, Object-
                             Usage of Access Specifiers,
                                                                                  Oriented
             25-02-2025      Implementation of Data                                                                 9               NA                NA
                                                                                  Programming in C++,
             27-02-2025      Encapsulation, & Information Hiding
                                                                                  4th Edition
      3                      in Classes
             27-02-2025      Defining Member functions Inside                     Robert Lafore, Object-
             28-02-2025      and Outside a class, Accessing                       Oriented                                         Quiz 1           Within 7
                                                                                                                    5          (Week 3/Week4)        Days
                             member Functions, Constant member                    Programming in C++,
                             functions                                            4th Edition
      4      04-03-2025      Constructors, Need of constructor,                   Robert Lafore, Object-            9               NA                NA
                                                                                                     Exam/Quiz/Assignment
Week                default constructor, Parameterized       Oriented                  Chapter
 No      Dates                      Topics                         Book Name
                                                                                         No
                    constructor, destructor, Constructors    Programming in C++,
       06-03-2025   outside class                            4th Edition
       06-03-2025
                                                             Robert Lafore, Object-
                    Static data member, static member
       07-03-2025                                            Oriented
                    function, Objects as function                                         5           NA              NA
                                                             Programming in C++,
                    parameter
                                                             4th Edition
                    Copy constructor, Constant reference     Harvey & Paul Deitel
                    parameters, Deep copy vs shallow         & Deitel, C++ How to
       11-03-2025                                                                        10           NA              NA
                    copy                                     Program, 10th
       13-03-2025
                                                             Edition , Prentice Hall
 5
       13-03-2025   Class Relationships (composition,        Robert Lafore, Object-
                    association, aggregation)                Oriented                             Home Work/
       14-03-2025                                                                                                   Within 7
                                                                                          9       Assignment 2
                                                                                                                     Days
                                                             Programming in C++,                 (Week 5/Week6)
                                                             4th Edition
                    Inheritance, Use of Access specifiers,   Robert Lafore, Object-
                    single inheritance, Implementing         Oriented
       18-03-2025                                                                         9           NA              NA
                    Single Inheritance.                      Programming in C++,
       20-03-2025
                                                             4th Edition
 6
       20-03-2025   Multilevel Inheritance, Implementing     Robert Lafore, Object-
       21-03-2025   Multilevel inheritance                   Oriented                                Quiz 2         Within 7
                                                                                          9      (Week 6/Week7)      Days
                                                             Programming in C++,
                                                             4th Edition
                    Multiple Inheritance, Need of            Robert Lafore, Object-
                    Multiple Inheritances, Implementing      Oriented
       25-03-2025                                                                         9           NA              NA
                    Multiple Inheritance, Diamond            Programming in C++,
       27-03-2025   problem, Virtual Inheritance             4th Edition
 7
       27-03-2025   Hierarchical Inheritance, Hybrid         Robert Lafore, Object-
       28-03-2025   Inheritance, Implementing                Oriented
                                                                                          9           NA              NA
                    Hierarchical and Hybrid Inheritance      Programming in C++,
                                                             4th Edition
                    Use of Default Constructors,             Robert Lafore, Object-
                    Parameterized constructors, and          Oriented
       01-04-2025                                                                         9           NA              NA
                    Destructors in the context of            Programming in C++,
       03-04-2025
                    inheritance                              4th Edition
 8
       03-04-2025   Friend functions, friend classes,        Robert Lafore, Object-
       04-04-2025                                            Oriented
                                                                                         11           NA              NA
                                                             Programming in C++,
                                                             4th Edition
       07-04-2025
                                                                                                                    Within
 9         To              Mid-Term Exam Week                                                      Midterm
       13-04-2025                                                                                                   5 Days
                    Introduction to Polymorphism. Types      Harvey & Paul Deitel                 Home Work/
                    of polymorphism, Introduction and        & Deitel, C++ How to                 Assignment 3      Within 7
       15-04-2025                                                                        12        (Week10/          Days
                    implementation of static                 Program, 10th
       17-04-2025                                                                                   Week11)
                    polymorphism, Function Overloading       Edition , Prentice Hall
10
       17-04-2025   Operator Overloading, Binary and         Robert Lafore, Object-
       18-04-2025   unary                                    Oriented
                                                                                          8           NA              NA
                                                             Programming in C++,
                                                             4th Edition
11     22-04-2025   Introducing & Implementing Run
       24-04-2025                                            Harvey & Paul Deitel
                    Time Polymorphism (Dynamic
                                                             & Deitel, C++ How to
                    Polymorphism), Function overriding,                                  12           NA              NA
                                                             Program, 10th
                    Declaring Pointers to an object, Base
                                                             Edition , Prentice Hall
                    class pointer to Derived class,
       24-04-2025                                                                                    Quiz 3         Within 7
       25-04-2025   Use of final keyword, Dynamic            Harvey & Paul Deitel        12
                                                                                                   (Week 11/         Days
                    memory, Dangling object, Virtual         & Deitel, C++ How to                   Week12)
                    destructor                               Program, 10th
Week                                                                                   Chapter       Exam/Quiz/Assignment
 No      Dates                      Topics                        Book Name
                                                                                         No
                                                             Edition , Prentice Hall
                    Introduction to Virtual functions,       Harvey & Paul Deitel
                    Abstract class, Pure virtual function,   & Deitel, C++ How to
       29-04-2025                                                                        12           NA              NA
                    Concreted Derived Classes                Program, 10th
       01-05-2025
                                                             Edition , Prentice Hall
12
       01-05-2025   Introduction to Exception Handling,      Harvey & Paul Deitel
       02-05-2025   Need of Exception Handling,              & Deitel, C++ How to                  Home Work/
                                                                                                                    Within 7
                                                                                         17        Assignment 4
                                                                                                                     Days
                    Implementation of exception handling     Program, 10th                       (Week12/Week13)
                                                             Edition , Prentice Hall
                    Pre defined and User defined             Harvey & Paul Deitel
                    exception classes                        & Deitel, C++ How to
       06-05-2025                                                                        17           NA              NA
                                                             Program, 10th
       08-05-2025
                                                             Edition , Prentice Hall
13
       08-05-2025   Introduction to Template Classes and     Robert Lafore, Object-
                    Functions, Example of multiple           Oriented                               Quiz 4
       09-05-2025                                                                                                   Within 7
                                                                                         14         (Week
                                                                                                                     Days
                    placeholders in templates                Programming in C++,                  13/Week14)
                                                             4th Edition
                    Introduction to File Handling, Need      Robert Lafore, Object-
                    of Files,                                Oriented
       13-05-2025   Stream I/O classes and objects.          Programming in C++,         12           NA              NA
       15-05-2025   Stream input and output.                 4th Edition
14
       15-05-2025   Implementation of CRUD operations        Robert Lafore, Object-
       16-05-2025   in CSV/txt files.                        Oriented
                                                                                         12           NA              NA
                                                             Programming in C++,
                                                             4th Edition
                    Types of I/O, Character I/O ,Text I/O,   Robert Lafore, Object-
                    Use of some common file functions        Oriented
       20-05-2025                                                                        12           NA              NA
                    like seekg, seekp, tellg, tellp etc      Programming in C++,
       22-05-2025
                                                             4th Edition
15
       22-05-2025   Intro to Binary I/O, Advantages and      Robert Lafore, Object-
       23-05-2025   Disadvantages of Text and Binary         Oriented
                                                                                         12           NA              NA
                    I/O, File access methods (sequential     Programming in C++,
                    and random)                              4th Edition
       27-05-2025   Read, Write, Update, Search, and         Robert Lafore, Object-
       29-05-2025   Delete objects using Binary I/O          Oriented
                                                                                         12           NA              NA
16                                                           Programming in C++,
       29-05-2025                                            4th Edition
       30-05-2025   Discussion about Final Paper                                                      NA              NA
       02-06-2025
17         To       Final Exam Week
       08-06-2025                                                                                                  Within
                                                                                                 Final Term
       09-06-2025                                                                                                  3 Days
18         To       Final Exam Week
       15-06-2025