Syllabus
Syllabus
LTPC
204 4
The study of Object Oriented Programming (OOP) provides us with the ability to create objects
that tie together both properties and behaviors into a self-contained, reusable package. This
allows programs to be written in a more modular fashion, which makes them easier to write and
understand, and also provides a higher degree of code-reusability. These objects also provide a
more intuitive way to work with our data by allowing us to define how we interact with the
objects, and how they interact with other objects.
Course Objectives:
Differentiate the fundamental concepts of C and C++.
Able to define, declare and implement classes and objects.
Examine the working of Control structures in C++ programs.
Understand various Inheritance, polymorphism and Exception handling mechanism.
Construct applications using generic programming concepts
Create various Object Oriented Design and Modeling
UNIT I 10 L
Procedural programming, An Overview of C: Types Operator and Expressions, Scope and
Lifetime, Constants, Pointers, Arrays, and References, Control Flow, Functions and Program
Structure, Namespaces, error handling, Input and Output (C-way), Library Functions (string,
math, stdlib), Command line arguments, Pre-processor directive
Some difference between C and C++: Single line comments, Local variable declaration within
function scope, function declaration, function overloading, stronger type checking, Reference
variable, parameter passing – value vs reference, passing pointer by value or reference,Operator
new and delete, the typecasting operator, Inline Functions in contrast to macro, default
arguments
Learning Outcomes:
After completion of this unit, the student will be able to
● identify various ways of representing data types. (L2)
● classify on pre-defined libraries. (L2)
● describe functions and macros. (L2)
UNIT II 10 L
The Fundamentals of Object Oriented Programming: Necessity for OOP, Data Hiding, Data
Abstraction, Encapsulation, Procedural Abstraction, Class and Object.
79
More extensions to C in C++ to provide OOP Facilities: Scope of Class and Scope Resolution
Operator, Member Function of a Class, private, protected and public Access Specifier, this
Keyword, Constructors and Destructors, friend class, error handling (exception)
Learning Outcomes:
After completion of this unit, the student will be able to
● explain fundamental concepts of OOP. (L2)
● give examples on C and C++ Operators. (L2)
● prepare constructors, friend functions, macros and exceptions. (L3)
UNIT III 10 L
Essentials of Object Oriented Programming: Operator overloading, Inheritance – Single and
Multiple, Class Hierarchy, Pointers to Objects, Assignment of an Object to another Object,
Polymorphism through dynamic binding, Virtual Functions, Overloading, overriding and hiding,
Error Handling
Learning Outcomes:
After completion of this unit, the student will be able to
● summarize the object oriented programming essentials. (L2)
● demonstrate on inheritance and polymorphism. (L3)
● construct virtual functions and exception handling. (L3)
UNIT IV 10 L
UNIT V 10 L
Object Oriented Design and Modeling: UML concept, Use case for requirement capturing,
Class diagram, Activity diagram and Sequence Diagram for design, Corresponding C++ code
from design
80
Learning Outcomes:
After completion of this unit, the student will be able to
● design object oriented design and modeling. (L6)
● organize different modeling C++ code from design. (L3)
evaluate various object oriented design diagrams. (L5)
Text Books:
1. Bjarne Stroustrup, The C++ Programming Language, 4/e, Addison Wesley, 2013.
2. Debasish Jana, C++ and Object-Oriented Programming Paradigm,3/e, PHI Learning Pvt.
Ltd,2014.
Reference Books:
1. Bjarne Stroustrup, Programming – Principles and Practice Using C++, 2/e, Addison Wesley,
2014.
2. Bjarne Stroustrup, The Design and Evolution of C++, Addison Wesley, 1994.
Course Outcomes:
After Completion of this course, the student will be able to:
recall simple applications by using classes and objects. (L1)
illustrate operators, function and constructors. (L2)
construct various applications of inheritance and polymorphism. (L3)
analyze object oriented programming and generic programming. (L4)
develop exception handling in object oriented programming development. (L5)
assess UML design to best performance for a given application. (L6)
81
4. Define class complex with all possible operations: constructor, destructor, copy
constructor, assignment operator with the data members stored as pointer to integers.
5. Define class vector of integers with all possible operations like constructor, destructor,
copy constructor and assignment operators
6. Define class matrix of integers with all possible operations like constructor, destructor,
copy constructor and assignment operators
7. Define class matrix of integers using vector, with all possible operations like constructor,
destructor, copy constructor and assignment operators
8. Define class stack, queue, linked-list, array, set using some data-type (int) with data
members kept as private and functions kept in both protected and public sections.
9. Define class complex with all possible operators: constructor, destructor, copy
constructor, assignment operator and operators >, <, >=, <=, ==, ++ (pre and post), +, +=,
( ), with the data members stored as pointer to integers.
10. Define class vector of integers with all possible operations like constructor, destructor,
copy constructor and assignment operators>, <, >=, <=, ==, ++ (pre and post), +, +=, ( )
11. Define class matrix of integers with all possible operations like constructor, destructor,
copy constructor and assignment operators>, <, >=, <=, ==, ++ (pre and post), +, +=, ( ).
12. Define class matrix of integers using vector, with all possible operations like constructor,
destructor, copy constructor and assignment operators>, <, >=, <=, ==, ++ (pre and post),
+, +=, ( ).
13. Define stack and queue inherited from array class, with standard functions and operators
14. Define a class called ‘array’ with data type passed as template type with constructor,
destructor, copy constructor and assignment operators and index operator.
15. Define template functions for compare and use it in the algorithms like bubble sort,
insertion sort, merge sort.
16. Formatted input-output examples
17. Input manipulators
18. Overriding operators <<, >>
19. Define class model for complex number, student class, book class and show it using
UML diagram as well as concrete class.
20. Show behavioural modelling through sequence diagram and activity diagram for
workflow in a typical log-in, log-out situation.
82