Object Oriented Programming Syllabus
|Course Title||Object Oriented Programming|
|Nature of the course||Theory + Lab|
|Full Marks||60 + 20 + 20|
|Pass Marks||24 + 8 + 8|
CHAPTER LIST: Object Oriented Programming
|Unit 1||Introduction to Object Oriented Programming||3 Hrs|
|Unit 2||Basics of C++ programming||5 Hrs|
|Unit 3||Classes & Objects||8 Hrs|
|Unit 4||Operator Overloading||7 Hrs|
|Unit 5||Inheritance||7 Hrs|
|Unit 6||Virtual Function, Polymorphism, and miscellaneous C++ Features||5 Hrs|
|Unit 7||Function Templates and Exception Handling||4 Hrs|
|Unit 8||File handling||6 Hrs|
Course Description: The course covers the basic concepts of object oriented programming using C++ programming language.
Course Objectives:The main objective of this course is to understand object oriented programming and advanced C++ concepts such as composition of objects, operator overloads, inheritance and polymorphism, file I/O, exception handling and templates.
Unit 1: Introduction to Object Oriented Programming
Duration: (3 Hrs.)
Overview of structured programming approach, Object oriented programming approach, Characteristics of object oriented languages
Unit 2: Basics of C++ programming
Duration: (5 Hrs.)
C++ Program Structure, Character Set and Tokens, Data Type, Type Conversion, Preprocessor Directives, Namespace, Input/Output Streams and Manipulators, Dynamic Memory Allocation with new and delete, Control Statements.
Functions: Function Overloading, Inline Functions, Default Argument, Pass by Reference, Return by Reference, Scope and Storage Class.
Pointers: Pointer variables declaration & initialization, Operators in pointers, Pointers and Arrays, Pointer and Function.
Unit 3: Classes & Objects
Duration: (8 Hrs.)
A Simple Class and Object, Accessing members of class, Initialization of class objects: (Constructor, Destructor), Default Constructor, Parameterized Constructor, Copy Constructor, The Default Copy Constructor, Objects as Function Arguments, Returning Objects from Functions, Structures and Classes, Memory allocation for Objects, Static members, Member functions defined outside the class.
Unit 4: Operator Overloading
Duration: (7 Hrs.)
Fundamental of operator overloading, Restriction on operator overloading, Operator functions as a class members, Overloading unary and binary operator, Data Conversion (basic to basic, basic to user-defined, user-defined to basic, user-defined to user-defined)
Unit 5: Inheritance
Duration: (7 Hrs.)
Introduction to inheritance, Derived Class and Base Class, Access Specifiers (private, protected, and public), Types of inheritance, Public and Private Inheritance, Constructor and Destructor in derived classes, Aggregation
Unit 6: Virtual Function, Polymorphism, and miscellaneous C++ Features
Duration: (5 Hrs.)
Concept of Virtual functions, Late Binding, Abstract class and pure virtual functions, Virtual Destructors, Virtual base class, Friend function and Static function, Assignment and copy initialization, Copy constructor, This pointer, Concrete classes, Polymorphism and its roles.
Unit 7: Function Templates and Exception Handling
Duration: (4 Hrs.)
Function templates, Function templates with multiple arguments, Class templates, templates and inheritance, Exceptional Handling (Try, throw and catch), Use of exceptional handling.
Unit 8: File handling
Duration: (6 Hrs.)
Stream Class Hierarchy for Console Input /Output, Unformatted Input /Output, Formatted Input/Output with ios Member functions, Formatting with Manipulators, Stream Operator Overloading, File Input/output with Streams, Opening and Closing files, Read/Write from File, File Access Pointers and their Manipulators, Sequential and Random Access to File, Testing Errors during File Operations
Students should be able to implement the concepts of Object Oriented Programming using C++ language.
Object Oriented Programming Books
1. Robert Lafore, Object Oriented Programming in C++, Fourth Edition, SAMS
2. Herbert Schildt, C++ The Complete Reference, Fourth Edition, Tata McGraw Hill
1. Deitel and Deitel, C++ How to Program, Third Edition, Pearson Publication.
2. Joyce Farrell, Object-oriented programming using C++, Fourth Edition, Cengage