0% found this document useful (0 votes)
70 views6 pages

CS-121 OOP Course Outline 4-07-2020

The document outlines the course plan for an Object Oriented Programming course, including weekly topics, reading assignments, and assessments. Over 16 weeks students will learn object-oriented concepts like classes, inheritance, templates and exception handling through lectures, labs, assignments, and exams.

Uploaded by

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

CS-121 OOP Course Outline 4-07-2020

The document outlines the course plan for an Object Oriented Programming course, including weekly topics, reading assignments, and assessments. Over 16 weeks students will learn object-oriented concepts like classes, inheritance, templates and exception handling through lectures, labs, assignments, and exams.

Uploaded by

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

ICT Colleges Islamabad

Course Breakup / Lesson Planner


BS(Computer Science) & ADP (Science) – 2nd Semester (Spring 2020)
Object Oriented Programming (CS-121)
Credit Hours: 3+1 (3 Hours Theory + 3 Hours Lab)
Minimum Hours Required: 96 (16 Weeks X 6 Hours)
Course Learning Outcomes (CLOs)
1. Understand principles of object-oriented paradigm.
2. Identify the objects & their relationships to build object-oriented solution
3. Understand how to produce object-oriented software using C++
4. Understand how to apply the major object-oriented concepts to implement object-oriented programs in C++,
encapsulation, inheritance and polymorphism
5. Understand advanced features of C++ specifically stream I/O, templates and operator overloading

Text Book
“C++ Programming: Program Design Including Data Structures” by “D. S. Malik”, 8th Edition, Cengage Learning
Reference Books
1. C++ How to Program, 10th Edition, Deitel & Deitel.
2. Object Oriented Programming in C++, 3rd Edition by Robert Lafore
3. “Starting out with C++, From Control Structures through Objects” by “Tony Gaddis”, 9th Edition, Pearson Education, Inc.,
(2017)
Software: Visual Studio 2019 Community Edition
Distribution of Marks
Total: 100 Marks
Assignments: 10%
Quizzes: 10%
Class Participation: 5%
Lab Tasks: 5%
Midterm Exam: 20%
Final Exam: 50%

No. of Weeks Required Topic Hours Lab Reading


1 Week -Introduction to Object Orientation 3+3 Lab related to CHAPTER 9 RECORDS
-Constant and Static Data Members and (Theory concepts (STRUCTS)
Member Functions + lab) covered in theory
Structures class D. S. Malik, 8th Edition
-Records (structs)
-Accessing struct Members
-Assignment
-Comparison (Relational Operators)
-Input/Output
-struct Variables and Functions
-Arrays versus structs
-Arrays in structs
-structs in Arrays
-structs within a struct
1 Week CLASSES AND DATA ABSTRACTION 3+3 Lab related to CHAPTER 10 CLASSES AND
-Classes (Theory concepts DATA ABSTRACTION
-Unified Modeling Language Class Diagrams + lab) covered in theory
-Variable (Object) Declaration class D. S. Malik, 8th Edition
-Accessing Class Members
-Built-in Operations on Classes
-Assignment Operator and Classes
-Class Scope
-Functions and Classes
-Reference Parameters and Class Objects
(Variables)
-Implementation of Member Functions
-Accessor and Mutator Functions
-Order of public and private Members of a
Class
3 Weeks CLASSES AND DATA ABSTRACTION 3+3 Lab related to CHAPTER 10 CLASSES AND
-Constructors (Theory concepts DATA ABSTRACTION
-Invoking a Constructor + lab) covered in theory
-Invoking the Default Constructor class D. S. Malik, 8th Edition
-Invoking a Constructor with Parameters
-Constructors and Default Parameters
-Classes and Constructors
-In-line Initialization of Data Members and the
Default Constructor
-Arrays of Class Objects (Variables) and
Constructors
-Destructors
-Data Abstraction, Classes, and Abstract
Data Types
-A struct versus a class
-Information Hiding
-Inline Functions
-Static Members of a Class
-Constant Members and Constant Functions
2 Weeks INHERITANCE AND COMPOSITION 3+3 Lab related to CHAPTER 11 INHERITANCE
-Inheritance (Theory concepts AND COMPOSITION
-Redefining (Overriding) Member Functions of + lab) covered in theory
the Base Class class D. S. Malik, 8th Edition
-Constructors of Derived and Base Classes
-Destructors in a Derived Class
-Multiple Inclusions of a Header File
-C11 Stream Classes
-Protected Members of a Class
-Inheritance as public, protected, or private
-Accessing protected Members in the Derived
Class
-Composition (Aggregation)
-Object-Oriented Design (OOD) and
Object-Oriented Programming (OOP)
-Identifying Classes, Objects, and Operations
1 Weeks POINTERS, CLASSES, VIRTUAL FUNCTIONS, 3+3 Lab related to CHAPTER 12 POINTERS,
ABSTRACT CLASSES (Theory concepts CLASSES, VIRTUAL
-Pointer Data Type and Pointer Variables + lab) covered in theory FUNCTIONS, ABSTRACT
-Declaring Pointer Variables class CLASSES
-Address of Operator (&)
-Dereferencing Operator (*)
-Classes, Structs, and Pointer Variables D. S. Malik, 8th Edition
-Initializing Pointer Variables
-Initializing Pointer Variables Using nullptr

Mid Term Exam


2 weeks POINTERS, CLASSES, VIRTUAL FUNCTIONS, 3+3 Lab related to CHAPTER 12 POINTERS,
ABSTRACT CLASSES (Theory concepts CLASSES, VIRTUAL
-Dynamic Variables + lab) covered in theory FUNCTIONS, ABSTRACT
-Operator new class CLASSES
-Operator delete
-Operations on Pointer Variables
-Dynamic Arrays D. S. Malik, 8th Edition
-Arrays and Range-Based for Loops
-Functions and Pointers
-Pointers and Function Return Values
-Dynamic Two-Dimensional Arrays
-Shallow versus Deep Copy and Pointers
-Classes and Pointers: Some Peculiarities
-Destructor
-Assignment Operator
-Copy Constructor
-Address of Operator and Classes
- Inheritance, Pointers, and Virtual Functions
-Classes and Virtual Destructors
-Abstract Classes and Pure Virtual Functions

3 weeks OVERLOADING AND TEMPLATES 3+3 Lab related to CHAPTER 13


-Why Operator Overloading Is Needed (Theory concepts OVERLOADING AND
-Operator Overloading + lab) covered in theory TEMPLATES
-Syntax for Operator Functions class
-Overloading an Operator: Some Restrictions
-Pointer this D. S. Malik, 8th Edition
-Friend Functions of Classes
-Operator Functions as Member Functions
and Nonmember Functions
-Overloading Binary Operators
-Overloading the Stream Insertion (<<) and
Extraction (>>) Operators
-Overloading the Assignment Operator (=)
-Overloading Unary Operators
-Operator Overloading: Member versus
Nonmember
-Classes and Pointer Member Variables
(Revisited)
-Programming Example: Complex Numbers
-Overloading the Array Index (Subscript)
Operator ([])
-Programming Example: newString
-Function Overloading
-Templates
-Function Templates
-Class Templates
2 Weeks EXCEPTION HANDLING 3+3 Lab related to CHAPTER 14 EXCEPTION
-Handling Exceptions within a Program (Theory concepts HANDLING
-C11 Mechanisms of Exception Handling + lab) covered in theory
-try/catch Block class
-Using C11 Exception Classes D. S. Malik, 8th Edition
-Creating Your Own Exception Classes
-Rethrowing and Throwing an Exception
-Exception-Handling Techniques
-Terminate the Program
-Fix the Error and Continue
-Log the Error and Continue
-Stack Unwinding
1 week Advanced File Operations 3+3 Lab related to CHAPTER 12 Advanced
-File Operations (Theory concepts File Operations
- File Output Formatting + lab) covered in theory Tony Gaddis, 9th Edition
- Passing File Stream Objects to Functions class
- Member Functions for Reading and Writing
Files
-Working with Multiple Files
-Binary Files
-Creating Records with Structures
-Random-Access Files
-Opening a File for Both Input and Output
Final Exams

You might also like