FACULTY OF TECHNOLOGY & ENGINEERING
U & P U. PATEL DEPARTMENT OF COMPUTER ENGINEERING
CE144: OBJECT ORIENTED PROGRAMMING WITH C++
Credits and Hours:
Teaching
Theory Practical Tutorial Total Credit
Scheme
Hours/week 3 4 - 7
5
Marks 100 100 - 200
A. Objective of the Course:
The main objectives for offering the course Object Oriented programming with C++ are:
1. To introduce students with object-oriented programming in C++ language.
2. To display how the object oriented approach differs from procedural approach.
3. To promote skills like Development of logic and implementation of basic mathematical
and other problems by using Object oriented concepts.
4. To explain them concepts of encapsulation, class, objects, Operator Overloading,
function overloading and inheritance.
5. Take a problem and develop the structure to represent objects and the algorithms to
perform operations.
B. Outline of the course:
Sr. Minimum number of
Title of the unit
No. hours
1 Principles of object-oriented Programming 02
2 Introduction of C++ 03
3 Tokens and Expressions & Control Structure 02
4 Functions 04
5 Classes and objects’ 07
6 Constructor and Destructors 03
7 Operator Overloading 06
8 Inheritance 06
9 Pointers and Virtual Functions 06
10 Managing Console I/O Operations 02
11 Working with Files 04
Total hours (Theory): 45
Total hours (Lab): 60
Total hours: 105
C. Detailed Syllabus:
1 Principles of object-oriented Programming 02 Hours 5%
1.1 Basic concept of object-oriented Programming , Benefits of OOP
1.2 Difference between object oriented language and procedure oriented
language
2 Introduction of C++ 03 Hours 3%
2.1 What is C++, Simple C++ Program, Applications of C++
2.2 Introduction to class, object and creating simple program using class,
Structure of C++ program
3 Tokens and Expressions & Control Structure 02 Hours 4%
3.1 Type compatibility, Dynamic initialization, Reference variables
Scope Resolution Operator, Memory Management Operator,
3.2 Manipulators, Type cast operator
4 Functions 04 Hours 8%
4.1 The main function, simple functions, call by reference, return by
reference, inline functions, overloaded functions, default arguments
5 Classes and objects 07 Hours 16%
5.1 Limitation of C structure, Declaring class and defining member
function, making outside function inline , Nesting member function,
Private member function arrays within a class, memory allocation of
objects, Static data members and Member functions.
5.2 Arrays of Objects, Object as a function argument, Friend functions,
Returning objects, const Member functions.
6 Constructor and Destructors 03 Hours 9%
6.1 Introduction to Constructors, Parameterized Constructors, Multiple
Constructors in class, Constructors with default argument, Dynamic
initialization of Constructors, Dynamic Initialization of objects, Copy
Constructor, Dynamic Constructor
6.2 Destructors
7 Operator Overloading 06 Hours 11%
7.1 Introduction, Defining Operator overloading, overloading unary and
binary operators, overloading binary operator using friend function,
rules for overloading operators
7.2 Type Conversion
8 Inheritance 06 Hours 13%
8.1 Introduction, Defining a derived class, Example of Single Inheritance,
8.2 Public and private inheritance.
8.3 Multilevel, multiple and hierarchical Inheritance, Hybrid Inheritance
Virtual Base Class, abstract class nesting of classes, constructors in
derived classes
9 Pointers and Virtual Functions 06 Hours 16%
9.1 Introduction, pointer to object, this pointer, pointer to derived class
9.2 Virtual functions, pure virtual functions
10 Managing Console I/O Operations 02 Hours 5%
10.1 Introduction, C++ stream, C++ stream classes
10.2 Unformatted and for matted console I/O Operations
11 Working with Files 04 Hours 10%
11.1 Introduction, Classes for file stream operations, Opening and closing a
file, Detecting End of File
11.2 File modes, file pointers and their manipulations, Sequential I/O
operations
11.3 Error Handling during File operations, Command-line arguments
D. Instructional Method and Pedagogy:
At the beginning, the course delivery pattern, prerequisite of the subject will be
discussed.
Lectures will be conducted with the aids like multi-media projector, black board,
OHP etc.
Attendance is compulsory in lectures and laboratory which carries 5 Marks
weightage respectively.
Two internal exams will be conducted and average of the same will be converted to
equivalent of 15 Marks as a part of internal theory evaluation.
Assignments based on course content will be given to the students at the end of each
unit/topic and will be evaluated at regular interval. It carries a weightage of 5 Marks as
a part of internal theory evaluation.
Surprise tests/Quizzes/Seminar will be conducted which carries 5 Marks as a part of
internal theory evaluation.
The course includes a laboratory, where students have the opportunity to build
appreciation for the concepts being taught in lectures.
Experiments/Tutorials related to course content will be carried out in the laboratory.
E. Student Learning Outcomes:
After completing this course, the student should demonstrate the knowledge and ability to:
1. Understand object-oriented approach with C++ language.
2. Able to differentiate object oriented approach and procedural approach.
3. Understand the concepts of encapsulation, class, objects, Operator Overloading,
function overloading and inheritance.
4. Explain the benefits of object oriented design and understand when it is an
appropriate methodology to use.
5. Design object oriented solutions for small systems involving multiple objects.
F. Recommended Study Material:
Text Books:
1. Programming with C++ by E.Balagurusami(TMH-)
2. Object Oriented Programming in Turbo C++ by Robert Lafore (Galgotia-)
Reference Books:
1. Let us C++ by Yashwant Kanetkar, BPB Publication
2. C++ How to program, by Deitel & Deitel, Prentice Hall
3. C++ Programming Bible, by Al Stevens and Clayton Walnum, Prentice Hall
4. The Complete Reference, by Herbert Schildt, Tata McGraw Hill
Web Materials:
1. http://www.cplusplus.com/doc/tutorial/
2. http://www.learncpp.com/
3. http://www.cprogramming.com/tutorial/c++-tutorial.html
4. http://www.tutorialspoint.com/cplusplus/index.htm
5. http://www.dre.vanderbilt.edu/~schmidt/C++/