C++ Curriculum

Our C++ programming course is designed for individuals who want to learn C++ from scratch, regardless of their current knowledge. The course is divided into two parts: "Procedural Programming in C++" and "Object-oriented programming in C++". The first part covers the basics of C++ programming, while the second part focuses on more advanced concepts.

Each part is divided into six modules, and each module contains a project to help students apply what they have learned. Our approach to learning is flexible, allowing students to choose to take all or just a few modules depending on their learning goals and requirements.

Our basic course, "Programming fundamentals in C++", is ideal for beginners who want to learn the basics of programming with C++. On the other hand, the advanced course, "Object-oriented programming in C++", is designed for those who want to take their C++ programming skills to the next level.

Our course is perfect for individuals who want to develop their skills for a career in the IT industry or for those who want to learn coding as an extracurricular activity. We understand that each student's schedule and pace of learning are unique, and we strive to provide flexible learning solutions that best meet the needs of our students.

Procedural Programming in C++

    • Topic 1: Overview of C++ programming language

    • Topic 2: Setting up the C++ development environment

    • Topic 3: Writing and running a simple C++ program

    • Topic 1: Primitive Data Types in C++

    • Topic 2: Variables and Constants

    • Topic 3: Arithmetic Operators

    • Topic 4: Comparison Operators

    • Topic 5: Logical Operators

    • Project: Simple Calculator

      Overview: In this project, students will create a simple calculator program that takes user input and performs basic arithmetic operations.

    • Topic 1: Conditional Statements (If/Else)

    • Topic 2: Switch Statements

    • Topic 3: Loops (For, While, Do-While)

    • Project: Guessing Game

      Overview: In this project, students will create a program that generates a random number and asks the user to guess the number. The program will provide hints if the guess is too high or too low.

    • Topic 1: Declaring and Initializing Arrays

    • Topic 2: Accessing Array Elements

    • Topic 3: Multi-Dimensional Arrays

    • Project: Tic-Tac-Toe Game

      Overview: In this project, students will create a program that allows two players to play a game of Tic-Tac-Toe using a 2D array to represent the game board.

    • Topic 1: Defining and Calling Functions

    • Topic 2: Parameters and Arguments

    • Topic 3: Return Values

    • Project: Hangman Game

      Overview: In this project, students will create a program that allows a user to play a game of Hangman. They will use functions to generate a random word, display the game board, and check for correct guesses.

    • What are vectors and why are they useful?

    • The vector class in C++

    • Declaring and initializing vectors

    • Accessing elements of a vector

    • Adding elements to a vector

    • Removing elements from a vector

    • Modifying elements in a vector

    • Sorting and searching vectors

    • Using algorithms with vectors

    • Creating and using 2D vectors

    • Creating and using higher-dimensional vectors

    Project: Image Processing Application

    Overview: In this project, students will create an image-processing application that uses vectors to manipulate pixel values. The program will read an image file, store the pixel values in a 2D vector, and allow the user to perform various operations on the image, such as resizing, rotating, and applying filters. The program will then write the modified image into a new file.

    • Topic 1: Introduction to Pointers

    • Topic 2: Pointer Operators

    • Topic 3: Dynamic Memory Allocation

    • Project: Minesweeper Game

    Overview: In this project, students will create a program that allows a user to play a game of Minesweeper. They will use pointers to dynamically allocate memory for the game board and check for mine locations.

Object-Oriented Programming

    • Topic 1: OOP Concepts

    • Topic 2: Classes and Objects

    • Topic 3: Constructors and Destructors

    • Project: Bank Account Management System

      Overview: In this project, students will create a program to manage bank accounts using classes and objects. They will learn how to define classes, create objects, and use constructors and destructors to initialize and destroy objects.

    • Topic 1: Encapsulation

    • Topic 2: Abstraction

    • Topic 3: Access Modifiers

    • Project: Library Management System

      Overview: In this project, students will create a program to manage a library using encapsulation and abstraction. They will learn how to define classes with private and public members, use access modifiers to control access to class members, and implement abstraction to hide implementation details.

    • Topic 1: Inheritance

    • Topic 2: Polymorphism

    • Topic 3: Virtual Functions

    • Project: Online Shopping System

      Overview: In this project, students will create an online shopping system that utilizes inheritance and polymorphism. They will learn how to create derived classes and override virtual functions to implement specific behaviors.

    • Module 4: Interfaces

    • Topic 1: Introduction to Interfaces

    • Topic 2: Implementing Interfaces in C++

    • Topic 3: Polymorphism with Interfaces

    • Project: Chess

    • Overview: In this module, students will be introduced to the concept of interfaces and learn how to implement them in C++. They will also learn how to use interfaces to create polymorphic behavior. They will create the game of chess using interfaces.

    • Topic 1: Function Templates

    • Topic 2: Class Templates

    • Topic 3: Standard Template Library

    • Topic 1: Singly Linked Lists

    • Topic 2: Doubly Linked Lists

    • Topic 3: Circular Linked Lists

    • Project: Music Player

      Overview: In this project, students will implement a music player that uses linked lists to manage playlists. They will learn how to create and manipulate singly and doubly linked lists, as well as implement circular linked lists for circular playlists.

    • Topic 1: File Input and Output

    • Topic 2: Exception Handling

    • Project: Inventory Management System

    This project will include features such as inventory tracking, stock ordering, supplier management, and sales reporting. The system allows users to add, edit, and remove products, as well as track their sales and purchase histories. It can also generate reports that provide valuable insights into inventory performance and help users make informed decisions about stock management.