CS25401 Object Oriented Programming Syllabus:

CS25401 Object Oriented Programming Syllabus – Anna University UG Syllabus Regulation 2025

Course Objectives:

• To impart the principles of object-oriented programming and their advantages over procedural programming.
• To develop problem-solving skills by creating real-world applications using OOP features.

Principles of Object-Oriented Programming: Characteristics of object-oriented languages, C++ Program structure, Procedure Oriented Programming vs Object Oriented Programming, C++ constructs and syntax, tokens, variables, data-types, type conversion, operators, Expressions, Namespace, flow Control and decision making statements.
Activities:
Quiz: Operators and Data Types
Review of GATE Questions: if Condition and for Loop

Classes and Objects: Abstraction mechanism: Classes, Objects, member data, member functions – Constructors and types – destructors, inline function, friend function, array of objects, objects as function arguments – memory allocation for objects, static members, data and function.
Activities:
Assignments: Constructors and Destructors
Project Based Experiential Learning: Array of Objects

Inheritance and Compile Time Polymorphism: Inheritance: Derived Classes – Single inheritance – Multilevel Inheritance – Multiple Inheritance – Hierarchical inheritance – Hybrid inheritance. Operator Overloading: Compile time Polymorphism – Overloading Functions, Overloading Operators, Overloading Unary Operators – Overloading Binary Operators – Operator Overloading with Friend Functions.
Activities:
Assignment: Polymorphism
Project Based Experiential Learning: Inheritance

Pointers and Runtime Polymorphism: Pointers with arithmetic operations – this pointer – Pointers to Derived classes and Base classes – Compile time versus Runtime Polymorphism – Virtual functions – Late Binding – Abstract classes- Pure virtual functions and Virtual Destructors – Virtual base class.
Activities:
Flipped Classroom: Virtual Functions
Review of GATE Question: Pointers

Templates and Exception Handling: Class Templates – Function Templates – Overloading of Template Functions – String, iterators, hashes, IO streams; Exception Handling.
Activities:
Assignment: Exception Handling
Project based Experiential Learning: Templates

I/O Systems and File I/O: C++ Streams – Formatted and Unformatted I/O –File stream classes – File modes – File operations, Sequential Read / Write operations – Binary and ASCII Files – Error handling in file I/O with member function.
Activities:
Quiz: Files
Flipped Classroom: I/O

Weightage: Continuous Assessment: 40%, End Semester Examinations: 60%

Assessment Methodology: Quiz (5%), Assignments (10%), Flipped Classroom (5%), Project (20%), Review of GATE questions (10%) & Internal Assessment (50%)

References:

1. Deitel, P., & Deitel, H. (2024). C++ how to program: An objects-natural approach. Pearson Education.
2. Bronson, G. (2011). A first book of C++. Course Technology Inc.
3. Balagurusamy, E. (2020). Object oriented programming with C++. McGraw Hill Education.

eResources / eMaterials

1. https://en.cppreference.com/w/cpp
2. https://youtu.be/M-mKgBHaMb0?si=1I-pEiAFgwwBA8IC