0% found this document useful (0 votes)
10 views10 pages

OOP (CSC-102) Theory & Practical Course Outline Spring 2025 03Mar25

The document outlines the course structure for Object Oriented Programming (CSC-102) at PMAS Arid Agriculture University, focusing on C++ and its object-oriented features. It includes course objectives, topics covered over 16 weeks, assessment methods, and learning outcomes. Additionally, it details the practical lab component, emphasizing hands-on experience with programming concepts and design patterns.

Uploaded by

hashirali12189
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views10 pages

OOP (CSC-102) Theory & Practical Course Outline Spring 2025 03Mar25

The document outlines the course structure for Object Oriented Programming (CSC-102) at PMAS Arid Agriculture University, focusing on C++ and its object-oriented features. It includes course objectives, topics covered over 16 weeks, assessment methods, and learning outcomes. Additionally, it details the practical lab component, emphasizing hands-on experience with programming concepts and design patterns.

Uploaded by

hashirali12189
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

PMAS Arid Agriculture University, Rawalpindi

University Institute of Information Technology

Object Oriented Programming (CSC-102) 4(3-3)


Theory Part
Credit Hours: 3 Prerequisites: PF CSC-101
Teacher: Dr. Kashif Sattar Office: R-104 [email protected]

Course Introduction:
Introduction to object oriented design, history and advantages of object oriented design,
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.
Reference Materials:
1. Start Learning OOP Using C++ by Rangisetti, A.K. , Apress, Berkeley, CA, 2024.
2. Object-Oriented Programming in C++, Robert Lafore; 4th Edition.
3. C++ How to Program, 10th Edition, Deitel & Deitel, 2016.
4. Starting Out with C++ from Control Structures through Objects, 9th Edition, Tony
Gaddis, 2017.

5. Java: How to Program, 11th Edition by Paul Deitel , 2017.


6. Beginning Java 2, 7th Edition by Ivor Horton
7. An Introduction to Object Oriented Programming with Java, 5 th
Edition by C. Thomas Wu.

Course Objectives:
This course covers the C++ language with a focus on its object-oriented features, and
how these can be implemented as part of program designs and implementation.
Student will also study and gain practical experience with the implementation issues
related to object-oriented techniques, be able to build good quality software using
object-oriented techniques and understand the role of patterns in object-oriented
design.
Topics Covered in the Course, with Number of Lectures on Each Topic
(assume 16-week instruction Three hours per week and sixty minutes lectures)

Week # Topics
Revision of Structures:
 Defining Structures
 Declaring Structure Variables
 Initializing and Accessing Members of Structures Using Nested Structures
Revision Functions:
 Declaration, Calling and Definition of Functions
Week 1  Passing Arguments (constants & variables) to Functions
 Returning Values from Functions
 Passing Structure as Argument to Functions
 Returning structure from functions
 Passing Pointers as Arguments to Function
Assignment-1
Introduction to Object Oriented Design:
 Object oriented design
History and advantages of object oriented design:
Week 2  Object Oriented Approach
 Characteristics/Advantages of OOP Languages (Encapsulation,
Abstraction, Inheritance, Polymorphism).
Introduction to Object Oriented Programming Concepts:
Classes and Objects:
 Objects and Classes.
Data Encapsulation:
 Data encapsulation
Week 3  Data Members and Member Function
Access Modifiers:
 Public and private Access
 Functions defining outside the class
 Inline functions VS macros

Classes and Objects:


 Array of Objects
 Passing/Returning objects
 Object as function argument
 Function returning objects
Week 4 Constructors & Destructors:
 Constructors and destructors.
 Default copy constructors
 Constructor Overloading
Quiz-1
Week 5 Constant vs Non-Constant functions:
 Constant and Classes
 Constant Member Function
 Constant Objects
Static data Members & functions:
 Static Class Data (variables and functions)
Identification of classes and their relationships:
 Composition:
 Aggregation:
 Association
 Inheritance
 Composition vs Inheritance
Friend Functions
Friend classes
Inheritance:
Week 6  Derived and Base Classes.
 Derived Class Constructors
 Protected Specifier
Assignment-2
Inheritance:
 Function Overriding
 Scope Resolution with overridden function
Week 7 Multi Inheritance:
 Single Inheritance
 Multilevel Inheritance
 Multiple Inheritance and Constructor calling
String Classes:
 String class
 String class functions
Week 8
Mid Course Revision
Quiz-2
Midterm Exam
Function Overloading:
Operator Overloading:
 Operators which cannot be overloaded
 Unary operator overloading
 Binary operators overloading
Week 9  Multiple Overloading
 Subscript operator overloading
 Function call operator overloading
 Assignment Operator overloading
 Stream insertion and extraction operators overloading
Data Conversion:
 Conversion between basic types
 Conversion between user-defined and basic types
 Conversion between objects of different classes
Polymorphism:
 Virtual functions
Week 10  Base class pointer
 Inline Function
 Late and Early binding
Abstract Classes and Interfaces:
 Abstract Classes
 Pure virtual functions
Assignment-3
Memory Management:
 Pointer arithmetic
 Pointer vs. array
 Use of New and Delete Keyword.
Week 11  Stack vs. heap
 Pointer to Object
 Pointer to pointer
 Array of Pointer to string
Quiz-3

Function Templates:
 Template functions
Week 12 Class Templates:
 Template Classes
 Multi Template Classes
Exception handling:
 Exceptions syntax
 Simple Exceptions
 Multiple exceptions with Arguments.
Week 13 Standard template library:
 Introduction to STL
 Stack as an STL example
Assignment-4
Standard template library:
 Vector, List and Deque
 Iterator
 Function Objects
Object Streams:
Week 14  Object Filing
 Read, Write functions in object filing.
 Update and delete operations in object filing
 File pointers for read and write
Quiz-4
Introduction to Java:
 Object and Classes in Java
 How to compile and execute java programs
Week 15 Data and Object serialization using object streams:
 File handling using Java
 Update and delete in File using Java
Project Demos:
Week 16  GroupWise Project Demos and Presentations
Final Course Revision
Final Term Exam

Computer Network Assignments Done in the Course:


Students will be assigned a series of in-class and homework tasks to understand
network concepts and devices, design and development of computer network in a
simulated environment.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Courses Assessment:
Mid Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Grading for 4(3-3) A=64 and above, B=52-63, C=40-51, D=32-39, F= less than 32
Theory Marks=60 out of 80
Rounding is applied individually on theory and practical final marks e.g. 23.5=24 and
23.49=23

Class Time Spent on (3 credit hours for theory):


Theory Problem Analysis Solution Design and Social and Ethical
Practical Development Issues
60% 15% 20% 5%

Course Learning Outcomes (CLOs) for Theory


At the end of course the students will be able to: Bloom Taxonomy
1. Understand principles of object oriented paradigm C2
2. Identify the objects & their relationships to build Object C3
Oriented solution
3. Model a solution for a given problem using Object Oriented C3
principles
4. Examine an Object Oriented solution. C4
C=Cognitive domain
CLO – PLO Mapping for Theory
CLOs
CLO:1 CLO:2 CLO:3 CLO:4
PLOs
PLO-1 √ √ √
(Academic Education)
PLO-2 √ √ √
(Knowledge)
PLO-3 √ √
(Problem Analysis)
PLO-4 In Practical Part
(Design/Dev of Solutions)
PLO-5 In Practical Part
(Modern Tool Usage)
PLO-6 In Practical Part
(In dividual and Team Work)
PLO-7 √ √
(Communication)
PLO-8 √ √
(Computing Professionalism)
PLO-9 √ √
(Ethics)
PLO-10 √ √ √ √
(Life Long Learning)
Computer Networks (CSC-204) - Lab
Credit Hours: 1 Contact Hours: 3 Prerequisites: PF CSC-101
Teacher: Dr. Kashif Sattar Office: R-104 [email protected]

Course Introduction:
Object-Oriented Programming (OOP) is a fundamental paradigm in software development that focuses
on organizing code using objects and classes. This lab course provides hands-on experience in applying
OOP principles such as encapsulation, inheritance, polymorphism, and abstraction. Students will work
with real-world programming problems, designing and implementing efficient, modular, and reusable
code. Through structured lab exercises, they will gain practical knowledge of object-oriented design
patterns and best practices. The course aims to enhance problem-solving skills and prepare students for
building scalable and maintainable software applications.
Reference Materials:
 Start Learning OOP Using C++ by Rangisetti, A.K. , Apress, Berkeley, CA, 2024.
 Object-Oriented Programming in C++, Robert Lafore; 4th Edition.
 C++ How to Program, 10th Edition, Deitel & Deitel, 2016.
 Starting Out with C++ from Control Structures through Objects, 9th Edition, Tony
Gaddis, 2017.

 Java: How to Program, 11th Edition by Paul Deitel , 2017.


 Beginning Java 2, 7th Edition by Ivor Horton
 An Introduction to Object Oriented Programming with Java, 5 th
Edition by C. Thomas Wu.

Course Objectives:
 Understand OOP Concepts – Develop a strong understanding of fundamental OOP
principles, including encapsulation, inheritance, polymorphism, and abstraction.
 Hands-on Programming Experience – Implement object-oriented concepts in programming
languages like C++ or Java through structured lab exercises.
 Design Modular and Reusable Code – Learn to create efficient, maintainable, and scalable
software using modular design principles.
 Apply Design Patterns – Gain exposure to common object-oriented design patterns and best
practices in software development.
 Enhance Problem-Solving Skills – Solve real-world programming problems using OOP
techniques to improve logical thinking and coding efficiency.
 Develop Software Projects – Work on mini-projects to apply theoretical concepts in
practical scenarios, reinforcing knowledge and skills.

Topics Covered in the Course, with Number of Labs on Each Topic


(assume 16-week instruction Three hours per week and sixty minutes each lab)

Week # Topics
Week 1 Revision of Programming concepts
Week 2 Lab1 of Lab Manual
Week 3 Lab2 of Lab Manual
Week 4 Lab3 of Lab Manual
Week 5 Lab4 of Lab Manual

Week 6 Lab5 of Lab Manual


Week 7 Lab6 of Lab Manual
Week 8 Revision Lab1-Lab6
Midterm Exam
Week 9 Lab7 of Lab Manual
Project Allocation
Week 10 Lab8 of Lab Manual
Week 11 Lab9 of Lab Manual
Week 12 Lab10 of Lab Manual
Week 13 Lab11 of Lab Manual
Week 14 Lab12 of Lab Manual
Week 15 Lab13 of Lab Manual
Week 16 Project Demos
Final Term Exam

Class Time Spent on (in credit hours):


Theory Problem Analysis Solution Design and Social and Ethical
Practical Development Issues
20% 30% 45% 5%

Teaching Methodology:
Demonstrations, Practical labs (Class Task+ Home Task), Semester Project,
Presentations
Lab Assessment:
Labs Evaluation/ Quizzes, Project, Presentations, Final Exam
Practical Marks=20 out of 80
Labs=04 Marks, Project=06 Marks, Final Exam=10 Marks
Rounding is applied individually on practical final marks e.g. 07.50=8 and 07.49=7

Oral and Written Communications


In addition to regularly submitting homework tasks as reports, each student is required to
demonstrate their class tasks and discuss the solutions with the instructor.
Course Learning Outcomes (CLOs) for Practical
At the end of course the students will be able to: Bloom Taxonomy
1. Understand principles of object oriented paradigm C2
2. Identify the objects & their relationships to build Object C3
Oriented solution
3. Model a solution for a given problem using Object Oriented C3
principles
4. Examine an Object Oriented solution. C4
C=Cognitive domain

CLO – PLO Mapping for Practical


CLOs
CLO:1 CLO:2 CLO:3 CLO:4
PLOs
PLO-4 √ √
(Design/Dev of Solutions)
PLO-5 √ √
(Modern Tool Usage)
PLO-6 √ √ √
(In dividual and Team Work)
PLO-7 √ √
(Communication)
PLO-8 √ √ √ √
(Computing Professionalism)
PLO-9 √ √ √
(Ethics)
PLO-10 √ √ √ √
(Life Long Learning)

You might also like