oops syllabus
oops syllabus
Syllabus
COURSE OUTCOMES: On successful completion of the course, the student will be able to:
1. Recognize features of object-oriented design such as encapsulation, polymorphism, inheritance, and
composition of systems based on object identity.
2. Apply some common object-oriented design patterns.
3. Specify simple abstract data types and design implementations using abstraction functions to document
them.
4. Design a convenient way for the handling problems using templates and use simple try-catch blocks for
Exception Handling.
5. Manage I/O streams and File I/O oriented interactions.
Unit 1- Object Oriented Programming Concepts: Classes and Objects, Methods and Messages, Abstraction and
Encapsulation, Inheritance, Abstract Classes, Polymorphism. Introduction to C++: Classes and Objects, Structures and
Classes, Unions and Classes, Friend Functions, Friend Classes, Inline Functions, Static Class Members, Scope Resolution
Operator, Nested Classes, Local Classes, Passing Objects to Functions, Returning objects, object assignment. Arrays,
Pointers, References, and the Dynamic Allocation Operators: Arrays of Objects, Pointers to Objects, Type Checking, this
Pointer, Pointers to Derived Types, Pointers to Class Members, References, Dynamic Allocation Operators.
Unit 2- Function Overloading and Constructors: Function Overloading, Constructors, parameterized constructors, Copy
Constructors, Overloading Constructors, Finding the Address of an Overloaded Function, Default Function Arguments,
Function Overloading and Ambiguity. Operator overloading: Creating member Operator Function, Operator Overloading
Using Friend Function, Overloading New and Delete, Overloading Special Operators, Overloading Comma Operator.
Unit 3- Inheritance and Polymorphism: Inheritance: Base-Class Access Control, Inheritance and Protected Members,
Inheriting Muitiple Base Classes, Constructors, Destructors and Inheritance, Granting Access, Virtual Base Classes.
Polymorphism: Virtual Functions, Virtual Attribute and Inheritance, Virtual Functions and Hierarchy, Pure Virtual
Syllabus
Functions, Early vs. Late Binding, Run-Time Type ID and Casting Operators: RTTI, Casting Operators, Dynamic Cast.
Unit 4- Templates and Exception Handling: Templates: Generic Functions, Applying Generic Functions, Generic
Classes, The type name and export Keywords, Power of Templates, Exception Handling: Fundamentals, Handling Derived
Class Exceptions, Exception Handling Options, Understanding terminate() and unexpected(), uncaught_exception ()
Function, exception and bad_exception Classes, Applying Exception Handling.
Unit 5- I/O System Basics: Streams and Formatted 1/O. File I/O: File Classes, File Operations. Namespaces: Namespaces,
std Namespace. Standard Template Library: Overview, Container Classes, General Theory of Operation, Lists, string Class,
Final Thoughts on STL.
TEXTBOOKS:
1. Object Oriented Programming with C++ by E. Balagurusamy, McGraw-Hill Education (India).
2. ANSI and Turbo C++ by Ashoke N. Kamthane, Pearson Education
REFERENCE BOOKS:
1. Big C++ - Wiley India.
2. C++: The Complete Reference- Schildt, McGraw-Hill Education (India).
3. C++ and Object Oriented Programming – Jana, PHI Learning.
4. Object Oriented Programming with C++ - Rajiv Sahay, Oxford.
5. Mastering C++ - Venugopal, McGraw-Hill Education (India)