
Define Object-Oriented Programming
History of C++
Procedural vs Object-Oriented
Discuss the characteristics of OOP
The UML
Discuss Basic Syntax & Language Constructs
Write a basic program
Learn different C++ data types.
Learn how the char data type works in C++, using single quotes for characters and understanding ASCII translation, distinguishing from strings in double quotes, including tab and newline escape sequences.
learn how the get line method with cin captures full names and other strings by reading past spaces, with prompts and semicolon terminations guiding input.
Use the string stream library to convert string input to numerical values, parse price and quantity from user input, and compute the total price.
Explore how arithmetic operators work in C++, including addition, subtraction, multiplication, division, modulus, and prefix/postfix increment and decrement, with practical examples.
Validate numeric input in C++ by looping until a valid value is entered. Use cin.good, cin.ignore, and cin.clear to manage errors, applicable to numeric types like integers and doubles.
Explore variables and data types in C++ by declaring and initializing integers with assignment, constructor, and uniform initialization. Compute a simple arithmetic expression and print the result to the console.
apply const and float to calculate a circle’s area by prompting for radius, storing pi as a const float, computing area as pi times radius squared, then displaying the result.
Define object oriented programming, explore C++ history, examine paradigms and OOP characteristics; set up the C++ work environment, learn basic language constructs, and write your first program.
Statements & Flow Control
Functions
Recursion
Strings
Templates
Compound Data Types
Classes & Objects
Abstraction & Encapsulation
learn decision making in c++ with if else, including nested ifs and else-if chains; use modulus to test even or odd, and consider when to use switch statements.
Build a simple calculator program using a switch statement to perform addition, subtraction, multiplication, and division on two user-provided numbers, with a default for invalid operators.
Replace hardcoded arithmetic with reusable functions in a calculator program by defining sum, subtraction, multiplication, and division with float returns, and organize via a separate math.h header included in main.
Build a simple video game menu in C++ using a switch statement with options: single player, multiplayer, create player, and options, calling void functions and handling invalid input.
Learn to implement a for loop in C++ by initializing i to zero, testing i < 15, and incrementing i to print i squared, then format cubes with setw.
Explore how the while loop handles unknown iteration counts by reading user input until zero, and apply it to compute powers and print values.
Demonstrate break, continue, and goto to alter control flow in C++ loops. See a for loop example that aborts, skips a value, and restarts at a checkpoint.
Explore how to implement arrays in C++ by collecting and displaying three integers representing ages, indexing with square brackets, and iterating with for loops to process and compute an average.
Learn how to create a program in C++ that uses a four by three multidimensional array to enter and display three grades per student.
Explore how pointers in C++ store memory addresses, use the ampersand to obtain addresses, and the dereference operator to access values, with examples showing memory addresses and the values stored.
Explore passing function arguments by reference and by pointer in C++, demonstrate a swap function with both methods, and compare behavior through a before-and-after printout.
Explore dynamic memory management using the new and delete operators to allocate and free memory for arrays, taking user input and printing elements as memory is managed.
Explain how to display memory addresses of array elements using a pointer and a for loop, starting at zero, with five elements, showing dx reference operator and pointer arithmetic.
Explain how to declare a product structure in C++, with int quantity, double price, and string name, then initialize items and access members with the dot operator to compute costs.
Create a simple class with a private integer data member, expose public set and show data methods, and instantiate objects to demonstrate abstraction and encapsulation in C++.
Explore C++ statements and flow control, functions, recursion, C style strings, templates for generic programs, and introduce component data types, classes, and objects.
Organize the distance class into a header file and move its member functions to a cpp file, then include distance.h in main so the program still computes the sum.
Explore encapsulation and data hiding, and see how a friend function bridges Class A and Class B to access private data for sum and square operations.
Implement a friend function in a distance class to compute the square of a distance, converting inches to feet and returning the result in square feet.
Explore the standard template library algorithms that operate on arrays, including find, count, sort, and search, and learn how to apply them to C++ arrays using pointers.
Explore how vectors in the standard template library serve as dynamic sequence containers, providing push_back, size, begin, insert, erase, and pop_back operations for managing integers.
Learn how to use ifstream, ofstream, and fstream to write and read disk files, using insertion and extraction operators to store chars, ints, doubles, and strings in data.txt.
Explore try, throw, and catch in c++, testing code for errors and handling them with catch blocks. Learn age-based access, custom error codes, and catch-all syntax.
Define a patient class with name and age, and implement get data and show data methods, plus binary file I/O to append and read all patient records.
Overload the plus operator for the distance class to add feet and inches and normalize inches when they reach 12, then build, test, and display the summed distances.
Explore the standard template library, sequence containers, and algorithms, and manage file input and output while handling exceptions. Delve into inheritance, polymorphism, friends, and associated relationships to create flexible programs.
UML Case Studies
Abstract Classes
Virtual Functions
Explore an abstract person base class with derived student and professor classes, overriding get data and is outstanding using virtual functions implemented in C++.
Explore an inheritance-based atm model with a base account class and derived savings and checking accounts linked to transactions. Implement balance, deposits, withdrawals, a plus operator, and interest calculation.
Derives savings and checking accounts from the base account, adds interest rate and transfer fee, overrides print balance, implements calculate interest, and tests in main using a plus operator.
Explore UML-based examples and learn how to implement abstract classes in object-oriented programming with C++.
Fundamentals of Object Oriented Programming: C++ is a course designed to introduce students to the principles of object-oriented programming (OOP) using the C++ programming language. This course is suitable for students who have a basic understanding of programming concepts, but may not have prior experience with OOP.
In this course, students will learn the fundamental concepts of OOP, including encapsulation, inheritance, and polymorphism. They will also learn how to design and implement classes, objects, and functions in C++, and how to use them to solve real-world problems.
Throughout the course, students will work on a variety of hands-on projects and exercises to practice their skills and apply their knowledge to real-world situations. They will also learn best practices for writing efficient and maintainable C++ code.
Upon completion of this course, students will have a strong foundation in OOP and be able to use C++ to design and implement object-oriented programs.
OBJECTIVES
The course is designed to provide complete knowledge of Object-Oriented Programming through C++ and to enhance the programming skills of the students by giving practical assignments to be done in labs.
To learn how to write functions for efficiency and performance
To understand how C++ improves C with object-oriented features
To learn the syntax and semantics of the C++ programming language
To learn how to design C++ classes for code reuse
To learn how to implement copy constructors and class member functions
To understand the concept of data abstraction and encapsulation
To learn how to overload functions and operators in C++
To learn how inheritance and virtual functions implement dynamic binding with polymorphism
To learn how to design and implement generic classes with C++ templates
To learn how to use exception handling in C++ programs
C++ REAL WORLD USE CASES
GUI Applications
Operating Systems
Web Browsers and utilities
Database Management Systems
Libraries – Machine learning, AR/VR
Cloud Computing & Distributed Applications
Game Development