You are on page 1of 3

Object Oriented Programming

(ES 04)
Objectives:
The course is design to meet with the objectives of:
1. Learning to program in an object-oriented programming language.
2. It is also suitable for those who already have some experience with another
programming language, and who wish to move on to an object-oriented
one.
3. The language we will teach for object-oriented programming is C++.
Module 1:
Basic features & Concepts of Object Oriented Programming (OOP), Benefits
& Applications of OOPs, Structure of a C++ Program, Tokens, Keywords,
Identifiers, Constants, Basic Data Types, User-defined Data-Types, Derived
Data Types, Symbolic Constants, Type Safety, Dynamic Initialization of
variables, Reference Variables, Scope Resolution Operators, Memory
Management Operators, Manipulators, Type Cast Operators, Expressions and
their types, Special Assignment Expressions, Enumerations, Control Structures,
Functions in C++, The Main function, function prototyping, reference calls,
reference returns, Inline functions, default functions, default and constant
arguments, function overloading, Statements in C++, Standard Input/output
controls, Input/output error handling.
Module 2:
General overview of Objects & Classes, Specifying a class, defining member
functions within a class, Class Implementations, Nesting of member functions,
private member functions, Array within a class, local classes, interface classes,
abstract classes, Declarations of objects, Memory allocation for objects, arrays
of objects, objects as function arguments, Returning objects, pointers to
members, accessing of members, and Dynamic initialization of objects,
Operator Overloading, Operator Precedence, Method Overloading, Method
Overriding, Constructors, Parameterized Constructors, Constructors with
Default arguments, Dynamic Constructors and copy constructors, Destructors
Overview, Dynamic Destructors, Generated Destructors, Introduction to
overloading operators, Rules of overloading operators, overloading binary and
unary operators, Type Conversions, Data Abstraction, Data Encapsulation,
Implicit and Explicit Interface Implementations.
Module 3:
Introduction and General overview of Inheritance, Inheritance using base
classes, derived classes and subclasses, Public/Protected/Private inheritance,
Constructors & Destructors in derived classes, Categories of Inheritance, single,

multilevel, multiple, hierarchical and hybrid inheritance, Virtual base classes,


Abstract classes, Introduction to Pointers, Significance of Pointers in OOP,
Access through pointers, Free Store allocation/de-allocation, Pointers to
Objects and derived classes, Virtual Functions, pointers to virtual functions, the
null pointer, pure virtual functions, Polymorphism, Dynamic binding and
abstract base classes in C++, String Characteristics in C++, Creating String
Objects, Manipulating String Objects, Accessing Characters in Strings,
Palindromes.
Module 4:
Introduction to Templates, Class templates with multiple parameters, Function
Templates, Overloading of Template functions, Member function Templates,
Non-type template arguments, Namespaces, Exception handling Mechanisms,
Throwing and catching mechanisms in Exception handling, Re-throwing an
exception, specifying exceptions, Understanding & processing unexpected
exceptions, Design and analysis of Object oriented programs, File types and
their operations, File handling functions concepts, Opening and closing a file,
Classes for file stream operations, File pointers, The I/O stream model,
Sequential Input and Output operations, Garbage & Error Handling in C++,
Types of Errors, Logic Errors, Debugging, Command Line arguments for
C++, An Introduction to software engineering in C++, Development tools
and prototyping paradigm.
Books/References:
1. Programming: Principles and Practice Using C++ - Bjarne Stroustrup.
2. Object Oriented Programming with C++ - E. Balagurusamy
3. C++ Primer - Stanley B. Lippman
4. An Introduction to Object-Oriented Programming in C++ - Timothy Budd
5. Accelerated C++ - Practical Programming by Example - Andrew Koenig.
6. Thinking in C++: Introduction to Standard C++ - Bruce Eckel
7. The C++ Programming Language - Bjarne Stroustrup.
8. The Design and Evolution of C++ - Bjarne Stroustrup

Object Oriented Programming Laboratory


(ES 06)
1. Assignments on Class, constructor, overloading and overriding with
implementations.
2. Assignments on Garbage Collection and Error Handlings in C++
3. Implementation of a linked list using Classes in C++

4.
5.
6.
7.
8.
9.

Different Command line arguments for C++


Development tools and prototyping for C++
Implementation of Public/Protected/Private Inheritance
Assignments on creating and manipulating string objects
Assignments on virtual and pure virtual functions
Assignments on single, multiple, multilevel, hierarchical and hybrid
inheritance.

You might also like