FoundationsBeginner

OOPS using C++

Object-oriented design in C++

Learn object-oriented programming the right way — classes, constructors, inheritance, polymorphism, templates, STL, exception handling and multithreading in modern C++.

21 modules45-hr track80% hands-on2 projects
Curriculum

21 modules, 45 hrs of hands-on learning

Every module pairs a focused topic with a guided practical exercise — learn it, build it, then practice it on the Atom Code portal in the same session.

Module 01 · 1.5 hrs

Start here

Introduction to C++

History, features and applications of C++, differences between C and C++, structure of C++, compiling and running C++ programs.

Module 02 · 3 hrs

Hands-on session

Basic Syntax and Data Types

Variables, constants, data types (int, float, char), input/output (cin/cout), comments.

Module 03 · 1.5 hrs

Hands-on session

Operators

Arithmetic, relational, logical, bitwise, assignment, increment/decrement, ternary, sizeof, type casting, special operators, operator overloading, precedence and associativity.

Module 04 · 2 hrs

Hands-on session

Control Statements

Conditional statements (if-else, switch), continue, break.

Module 05 · 2 hrs

Hands-on session

Looping Statements

Implementing for, while and do-while loops.

Module 06 · 2.5 hrs

Hands-on session

Functions and Modular Programming

Function declaration/definition, parameter passing, call by value/reference/address, return values from functions.

Module 07 · 1.5 hrs

Hands-on session

Recursion

Understanding and implementing recursion, inline functions.

Module 08 · 2 hrs

Hands-on session

1D Arrays

Declare and define arrays, handling arrays and traversal.

Module 09 · 2 hrs

Hands-on session

2D Arrays

Declare and define 2D arrays, matrix manipulation, patterns using arrays.

Module 10 · 1.5 hrs

Hands-on session

Strings

Handling string functions and string manipulation.

Module 11 · 2 hrs

Hands-on session

Pattern Manipulation

Pattern manipulation using arrays and strings.

Module 12 · 2.5 hrs

Hands-on session

Pointers and Dynamic Memory

Pointer basics, pointer arithmetic, dynamic memory (new/delete), null pointers.

Module 13 · 2 hrs

Hands-on session

Introduction to Object-Oriented Programming (OOP)

Classes/objects, access modifiers (public/private), member functions, class design.

Module 14 · 2.5 hrs

Hands-on session

Constructors and Destructors

Default, parameterized and copy constructors, destructor use and purpose.

Module 15 · 1.5 hrs

Hands-on session

Inheritance

Types of inheritance (single, multiple, hierarchical), virtual base classes.

Module 16 · 1.5 hrs

Hands-on session

Polymorphism

Compile-time and run-time polymorphism, virtual functions, function overriding.

Module 17 · 2.5 hrs

Hands-on session

Templates and STL

Introduction to STL, using vectors, sets, maps, function/class templates.

Module 18 · 2.5 hrs

Hands-on session

Exception Handling and Multithreading

Try-catch blocks, throwing exceptions, custom exceptions, creating threads in C++11, thread synchronization.

Module 19 · 4.5 hrs

Hands-on session

Advanced OOP (Abstract Classes, Virtual Functions)

Abstract classes, virtual destructors, pure virtual functions, interfaces.

Module 20 · 2 hrs

Hands-on session

Operator Overloading

Overloading operators (+, -, *, <<, >>), rules for operator overloading.

Module 21 · 2 hrs

Hands-on session

File Handling

Reading from and writing to files, modes (r, w, a), error handling in file operations.

More in Foundations

View all