CS25C07 Object Oriented Programming Syllabus:

CS25C07 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.
Practical:
1. Simple programs to using Operators, and type conversion.
2. Programs using Conditional and Loop statements and loops.

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 static data and static function.
Practical:
1. Programs using in-line and friend functions.
2. Programs using constructors and destructors

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.
Practical:
1. Programs for inheritance and its types.
2. Programs using friend function and operator overloading.

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.
Practical:
1. Programs for pointer manipulation.
2. Programs for virtual functions.

Templates and Exception Handling: Class Templates – Function Templates – Overloading of Template Functions – String, iterators, hashes, IO streams; Exception Handling.
Practical:
1. Programs using function and class templates.
2. Programs using exception handling.

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.
Practical Activities
1. Programs for error handling in file and I/O management
2. Develop applications using OOP features.

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