GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ w. e. f. Academic Year: 2026-27 Semester: 5th Category of the Course: PEC-04 Prerequisite: Programming in C (Course Code: DI03011011) Object-Oriented Programming (OOP) using C++ builds on procedural programming by introducing concepts like encapsulation, inheritance, and polymorphism, which promote modular, reusable, and maintainable code. C++ is a widely used language in industry for developing software applications, system programming, embedded systems, and graphical user interfaces. This course equips Rationale: diploma engineering students with OOP principles to solve real-world engineering problems efficiently, fostering skills in software design and development. It enhances logical thinking, code reusability, and prepares students for advanced topics in electronics and communication engineering, such as simulation tools and embedded software. Course Outcome: After Completion of the Course, Student will able to: N RBT Level Course Outcomes o Develop basic C++ programs using data types, operators, and input/output R,U,A 01 statements. Design classes and objects including constructors, destructors, static members, R,U,A 02 arrays of objects, and member functions with appropriate access specifiers. Apply inheritance and polymorphism concepts to develop reusable and flexible R,U,A 03 C++ programs using virtual functions and function/operator overloading. Utilize advanced class features such as friend functions, pointers to objects, and R,U,A 04 templates to solve programming problems effectively. Develop C++ programs for file handling, exception handling and apply basic R,U,A 05 Standard Template Library (STL) components like vectors and algorithms. *Revised Bloom’s Taxonomy (RBT) w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 1 of 6 GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ Teaching and Examination Scheme: Teaching Scheme Total Credits Assessment Pattern and Marks (in Hours) L+T+ (PR/2) Total Theory Tutorial / Practical Marks L T PR C ESE (E) PA(M) PA(I) ESE (V) 3 0 2 4 70 30 20 30 150 Course Content: Unit No. of % of Content No. Hours Weightage Principles of OOP and Basics of C++ 1.1 Overview of OOP: Procedure-oriented vs. Object-oriented programming; Basic concepts: Objects, Classes, Data Abstraction, Encapsulation, Inheritance, Polymorphism, Dynamic Binding, Message Passing. 1. 1.2 Structure of C++ Program: Tokens, Keywords, Identifiers, 9 20 Variables, Data Types (int, float, char, bool, etc.), Reference Variables. 1.3 Operators: Arithmetic, Relational, Logical, Bitwise, Assignment, Increment/Decrement; Operator Precedence and Associativity. 1.4 Input/Output: cin, cout, manipulators; Namespaces (using namespace std;). Classes and Objects 2.1 Specifying Class: Defining Member Functions (Inline and Outside); Nesting of Member Functions; Private, Public, Protected Members. 2. 2.2 Arrays within a Class; Static Data Members and Member 10 22 Functions; Arrays of Objects; Objects as Function Arguments. 2.3 Constructors: Default, Parameterized, Copy Constructors; Multiple Constructors in a Class. 2.4 Destructors: Definition and Use. Inheritance and Polymorphism 3.1 Defining Derived Classes: Forms of Inheritance (Single, Multiple, Multilevel, Hierarchical, Hybrid); Visibility Modes (Private, Public, Protected). 3. 3.2 Functions in Derived Classes: Overriding Base Class Functions; 9 20 Abstract Classes; Virtual Functions. 3.3 Polymorphism: Compile-time (Function Overloading, Operator Overloading basics) and Run-time Polymorphism. 3.4 Constructors and Destructors in Derived Classes. w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 2 of 6 GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ Advanced Class Features 4.1 Operator Overloading: Overloading Unary and Binary Operators using Member and Friend Functions; Rules and Limitations. 4. 8 18 4.2 Friend Functions and Classes: Declaration and Use. 4.3 Pointers to Objects: this Pointer; Pointers to Derived Classes. 4.4 Function Templates and Class Templates: Basics and Syntax. File Handling and Exception Handling 5.1 File Streams: Classes (fstream, ifstream, ofstream); Opening, Closing, Reading & Writing Files. 5.2 Binary File Operations: Update Records; Error Handling in Files. 5. 9 20 5.3 Exception Handling: try, throw, catch; Multiple Throws and Catches. 5.4 Standard Template Library (STL) Basics: Vectors and Basic Algorithms (sort, find). Total 45 100 Suggested Specification Table with Marks (Theory): Distribution of Theory Marks (in %) R Level U Level A Level N Level E Level C Level 25 35 40 - - - Where R: Remember; U: Understanding; A: Application, N: Analyze and E: Evaluate C: Create (as per Revised Bloom’s Taxonomy) References/Suggested Learning Resources: (a) Books: 1. Object Oriented Programming with C++, By E. Balagurusamy, McGraw Hill Education; ISBN: 9780070669079 2. Let us C++, By Yashavant Kanetkar, 3rd Edition, BPB Publications, ISBN: 9789388176644 3. C++ Primer, By Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, Addison-Wesley; ISBN: 978-0321714114 4. The C++ Programming Language, By Bjarne Stroustrup, Addison-Wesley; ISBN: 978- 0321563842 5. Object-Oriented Programming in C++, By Robert Lafore, Pearson; ISBN: 9788131722824 (b) Open source software and website: 1. www.tutorialspoint.com/cplusplus 2. www.learncpp.com 3. www.w3schools.com/cpp 4. https://nptel.ac.in/courses/106105234 5. Coding C++ mobile app from Google Play Store w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 3 of 6 GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ 6. Software/tools: Dev-C++, Code::Blocks, Visual Studio Code with C++ extension, or Turbo C++ (for compatibility) Suggested Practical List: S.No. Practical Outcomes (PrOs) Unit No. Approx. Hrs. Required 1 Write a C++ program to demonstrate the basic structure of a C++ program and use cin and cout to input and display student 1 2 information such as name, roll number, and marks. 2 Write a C++ program to perform arithmetic, relational, and logical operations on two numbers entered by the user and 1 2 display the results. 3 Write a C++ program to create a class Student with data members roll number, name, and marks and member functions 2 2 to accept and display the data. 4 Write a C++ program to create a class Rectangle with data members length and width and define an inline member 2 2 function to calculate the area. 5 Write a C++ program to create a class Marks that stores marks of 5 subjects in an array and calculates total and average 2 2 marks. 6 Write a C++ program to demonstrate static data members and static member functions to count the number of objects created 2 2 in a class. 7 Write a C++ program to create an array of objects for a class Employee to store employee ID, name, and salary and display 2 2 their details. 8 Write a C++ program to demonstrate default and parameterized constructors using a class Book containing book 2 2 ID, title, and price. 9 Write a C++ program to demonstrate the use of a copy 2 2 constructor to copy one object’s data into another object. 10 Write a C++ program to demonstrate single inheritance using base class Person and derived class Student to display student 3 2 details. 11 Write a C++ program to demonstrate compile-time and 3 2 runtime polymorphism. 12 Write a C++ program to overload the + operator to add two 4 2 complex numbers using a class Complex. w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 4 of 6 GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ 13 Write a C++ program to demonstrate the use of a friend 4 2 function to access private data members of a class. 14 Write a C++ program to create a text file, store student details 5 2 in the file, and read the stored data from the file. 15 Write a C++ program to demonstrate exception handling using 5 2 try, throw, and catch to handle division by zero error. Total 30 List of Laboratory/Learning Resources Required: Hardware: Personal Computer, RAM minimum 4 GB onwards. Operating System: Windows 10 onwards / Linux Software: Dev-C++ / Code::Blocks / Visual Studio Code with MinGW GCC compiler or any relevant C++ compiler Suggested Project List: 1. Menu Driven Calculator with OOP: Classes for operations (Add, Subtract, Multiply, Divide, Power) using inheritance from a base "Operation" class. 2. Student Grade Management System: Classes for Student and Course; use polymorphism for grade calculation and file handling for report generation. 3. Shape Hierarchy System: Base class "Shape" with derived classes "Circle", "Rectangle", "Triangle"; demonstrate virtual functions and operator overloading for area computation. 4. Menu Driven Number Converter: Classes for conversion (Decimal to Binary/Octal/Hex); use templates for generic handling. 5. Inventory Management System: Classes for Item and Warehouse; include exception handling for invalid inputs and binary file operations. 6. E-Library System: Classes for Book, Author, User; features like search, borrow/return with STL vectors for storage. Suggested Activities for Students: a) Analyze sample C++ code for common logical errors in control structures (e.g., infinite loops or incorrect conditional statements) and propose improved implementations using proper if-else, switch- case, or loop constructs. w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 5 of 6 GUJARAT TECHNOLOGICAL UNIVERSITY Program Name: Diploma Engineering Level: Diploma Branch: Electronics and Communication Engineering Subject Code : DI05011021 Subject Name : Object Oriented Programming with C++ b) Undertake micro-projects in teams, such as developing a simple command-line utility for array manipulation or a structure-based student record system using file operations. c) Students are encouraged to register themselves in various MOOCs such as: Swayam, edX, Coursera, Udemy etc. to further enhance their learning on topics like pointers in C++ or basic file handling techniques. d) Survey and document real-world applications using C/C++ arrays, pointers, and file functions, such as in embedded systems for data storage or simple configuration files in hardware interfaces. e) Encourage students to participate in different coding competitions like hackathons focused on algorithmic challenges or pointer-based problems on platforms like HackerRank or LeetCode. f) Encourage students to form a C/C++ programming enthusiasts club at institute level, where they can collaborate on peer reviews of array and pointer code or basic structure prototypes to support slow learners. ******* w.e.f. 2026-27 http://syllabus.gtu.ac.in/ Page 6 of 6