Course Code: BCE3402
Teaching Scheme
Lecture : 4
Hours : 4
Credit : 4
Evaluation Scheme
IE : 20
MTE : 30
ETE : 50
Total : 100
Prior Knowledge of: Computer programming and problem solving is essential.
Course Objectives:
1 : To explore the principles of Object-Oriented Programming (OOP).
2 : To understand object-oriented concepts such as data abstraction, encapsulation, inheritance, dynamic binding, and polymorphism.
3 : To use the object-oriented paradigm in program design.
4 : To provide a foundation for advanced programming.
5 : To provide programming insight using OOP constructs.
Course Outcomes:
After learning the course, students will be able to:
CO1 : Analyze the strengths of object-oriented programming.
CO2 : Apply the different object oriented concepts to build the real time software scenarios
CO3 : Design object-oriented solutions for small systems involving multiple objects.
CO4 : Illustrate the process of data file manipulations using C++.
CO5 : Apply the concepts of virtual and pure virtual function to solve the complex problems.
CO5 : Develop applications using advanced object-oriented programming concepts.
PPT
Unit- 1 : Introduction to Object Oriented Programming
Introduction, Role of programming languages, need to study programming languages, Characteristics of good programming languages. Introduction to various programming paradigms: Procedural, object-oriented, logical and functional, Features of OOP. Data Types: variables and constants, Class – Data members, Member Functions, and class as abstract data type, Object Visibility Modes, Constructor & Types of Constructors, Destructor, Binding – static & dynamic, Inline Function, Static Members, Static Function, Friend Function, Friend Class, Array of Objects. Case Study: Demonstrate Student Database application using classes, objects, constructor, destructor, friend function in C++.
Unit- 2 : Inheritance using C++
Derived class & base class Public, Protected and Private Inheritance, Types of inheritance, Ambiguity in multiple inheritance & multipath inheritance, Constructor & Destructor in Inheritance, Order of Constructor and Destructor Call. Case Study: Know about Firefox and Thunderbird as one of the popular softwares developed using C++.
Unit- 3 : Polymorphism using C++
Introduction: Function overloading & Operator overloading: Overloading unary & binary operators, Data conversion, Pointers to Objects, this pointer, Up-casting, down-casting, Virtual function, Pure virtual function, Abstract class. Case Study: Demonstrate Polymorphism for Online Railway Reservation System using C++
Unit- 4 : Generic Programming & Exception Handling using C++
Generic Programming - Function Template Class templates Template with multiple parameters Exception Handling - Exception Handling: Fundamentals multiple catching nested try statements uncaught exceptions throw and rethrow Stack unwinding. Case Study : Study about use of exception handling in Symbian Operating system that was developed using C++
Unit- 5 : File Handling
Classes for file stream operation, Opening and closing a file - File mode, Error Handling functions in file, File Pointers and Their Manipulation, File Operations on Characters, File Operations on Binary Files – Variables, Class Objects, Sequential File Organization, Direct Access Files, Indexed sequential File organization, Linked Organization. Case Study: Demonstrate an application to maintain employee database using file handling
Unit- 6 : Standard Template Library
Standard Template Library (STL), components of STL: Containers, algorithms and iterators, Containers- Sequence container, associative containers, container adapters, Iterators- input, output, forward, bidirectional and random access, Algorithms- basic searching and sorting algorithms, min-max algorithm, set operations Case Study: Demonstrate an application for managing Person Record (Name, birth date, telephone no). Perform operations – add, display, search, delete, and update using STL map.