Bsc. I.T. - Object Oriented Programming
Bsc. I.T.

Object Oriented Programming Syllabus

I Object Oriented Methodology: Introduction, Advantages and Disadvantages of Procedure Oriented Languages, what is Object Oriented? What is Object Oriented Development? Object Oriented Themes, Benefits and Application of OOPS.

Principles of OOPS: OOPS Paradigm, Basic Concepts of OOPS: Objects, Classes, Data Abstraction and Data Encapsulation, Inheritance, Polymorphism, Dynamic Binding, Message Passing
II Classes and Objects: Simple classes (Class specification, class members accessing), Defining member functions, passing object as an argument, Returning object from functions, friend classes, Pointer to object, Array of pointer to object

Constructors and Destructors: Introduction, Default Constructor, Parameterized Constructor and examples, Destructors
III Polymorphism: : Concept of function overloading, overloaded operators, overloading unary and binary operators, overloading comparison operator, overloading arithmetic assignment operator, Data Conversion between objects and basic types,

Virtual Functions: Introduction and need, Pure Virtual Functions, static Functions, this Pointer, abstract classes, virtual destructors.
IV Program development using Inheritance: Introduction, understanding inheritance, Advantages provided by inheritance, choosing the access specifier, Derived class declaration, derived class constructors, class hierarchies, multiple inheritance, multilevel inheritance, containership, hybrid inheritance.

Exception Handling: Introduction, Exception Handling Mechanism, Concept of throw & catch with example
V Templates: Introduction, Function Template and examples, Class Template and examples.

Working with Files: Introduction, File Operations, Various File Modes, File Pointer and their Manipulation

Object Oriented Programming Practicals

Practical NoDetails
1 Classes and methods
a Design an employee class for reading and displaying the employee information, the getInfo() and displayInfo() methods will be used repectively. Where getInfo() will be private method
b Design the class student containing getData() and displayData() as two of its methods which will be used for reading and displaying the student information respectively.Where getData() will be private method.
c Design the class Demo which will contain the following methods: readNo(), factorial() for calculating the factorial of a number, reverseNo() will reverse the given number, isPalindrome() will check the given number is palindrome, isArmstrong() which will calculate the given number is armStrong or not.Where readNo() will be private method.
d Write a program to demonstrate function definition outside class and accessing class members in function definition.
2 Using friend functions
a Write a friend function for adding the two complex numbers, using a single class
b Write a friend function for adding the two different distances and display its sum, using two classes.
c Write a friend function for adding the two matrix from two different classes and display its sum.
3 Constructors and method overloading
a Design a class Complex for adding the two complex numbers and also show the use of constructor.
b Design a class Geometry containing the methods area() and volume() and also overload the area() function
c Design a class StaticDemo to show the implementation of static variable and static function.
4 Operator Overloading
a Overload the operator unary(-) for demonstrating operator overloading
b Overload the operator + for adding the timings of two clocks, And also pass objects as an argument.
c Overload the + for concatenating the two strings. For e.g “Py” + “thon” = Python
5 Inheritance
a Design a class for single level inheritance using public and private type derivation.
b Design a class for multiple inheritance.
c Implement the hierarchical inheritance
6 Virtual functions and abstract classes
a Implement the concept of method overriding.
b Show the use of virtual function
c Show the implementation of abstract class
7 String handling
a String operations for string length , string concatenation
b String operations for string reverse, string comparison,
c Console formatting functions.
8 Exception handling
a Show the implementation of exception handling
b Show the implementation for exception handling for strings
c Show the implementation of exception handling for using the pointers.
9 File handling
a Design a class FileDemo open a file in read mode and display the total number of words and lines in the file.
b Design a class to handle multiple files and file operations
c Design a editor for appending and editing the files
1 Templates
a Show the implementation for the following
b Show the implementation of template class library for swap function
c Design the template class library for sorting ascending to descending and viceversa

Object Oriented Programming Reference Books

Title Object Oriented Analysis and Design
Authors Timothy Budd
Publisher TMH
Edition 3rd
Year 2012
Download Here
Title Mastering C++
Authors K R Venugopal, Rajkumar Buyya, T Ravishankar
Publisher Tata McGraw Hill
Edition 2nd
Year 2011
Download Here
Title C++ for beginners
Authors B. M. Hirwani
Publisher SPD
Year 2013
Download Here
Title Effective Modern C++
Authors Scott Meyers
Publisher SPD
Download Here
Title Object Oriented Programming with C++
Authors E. Balagurusamy
Publisher Tata McGraw Hill
Edition 4th
Download Here
Title Learning Python
Authors Mark Lutz
Publisher O’ Reilly
Edition 5th
Year 2013
Download Here
Title Mastering Object Oriented Python
Authors Steven F. Lott
Publisher Pact Publishing
Year 2014
Download Here