Introduction
  • Intro & info about 100+ exercises
Basics
  • What is programming, compiler. Installing IDE
  • Problems when compiling C++ project? Solution INSIDE for mac users too
  • Basics of programming
  • Variables
  • Types of Variables
  • Downloading data from the input
  • Basics Quiz (Updated Jan 21')
Operators
  • Arithmetic and Assigment Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators (Advanced - Optional at start)
  • Operators Quiz (Updated Feb 21')
Conditions
  • Conditional Statements
  • Switch
  • Conditional Operator
  • Calculator - exercise
  • Conditional Statements Quiz (Updated April 20')
Arrays
  • Arrays
  • Multidimensional Arrays
  • Array Quiz (Updated April 21')
Loops
  • for
  • while and do while
  • exercises, nested loops
  • break and continue
  • Loops Quiz (Updated Feb 21')
Functions
  • pre-function Scope of Variables
  • Functions
  • Functions - return, and invoke explained in text
  • Overloading functions
  • Loops and functions - exercises
  • Data Validation - exercise
  • Why do we use cin.ignore and cin.clear()?
  • Functions Quiz (Updated May 21')
References and enum
  • Enum Type
  • Reference Variables
  • Reference Variables in functions
  • References and Enums Quiz (Updated Apri 21')
Pointers
  • What are pointers?
  • Name of array - Pointer
  • Dynamic allocation of memory
  • Strings and a pointer on a char type
  • How to make sure to correctly free memory of dynamically allocated array?
  • Functions and pointers
  • Lottery - pseudo-random numbers generator
  • Type Casting
  • Why do we need pointers?
  • Pointers FAQ - most confusing parts explained!
  • Pointers Quiz (Updated Jan 21')
BONUS: Project
  • Creating project, external execution of program
  • Preprocessor directives, Multi-file project
Structures and Classes - Object Oriented Programming
  • Data Structures and Pointers
  • Classes
  • Static variables and functions
  • Constant classes and methods
  • Friend functions
  • Friend classes
  • Copy constructor
  • Convert constructor and overloading operators
  • Inheritance between classes
  • Polymorphism, virtual functions, abstract classes
  • Why do we need polymorphism?
  • Virtual destructor
  • Structures and Classes Quiz (Updated Marc 20')
Templates
  • Function templates
  • Class templates
  • Templates Quiz (Updated Apr 21')
Advanced C++
  • Exceptions
  • Namespaces
Fstream library - Working with Files - BONUS SECTION
  • Streams - what is input and output
  • How to open and close files?
  • File opening modes
  • Stream's error flags
  • Reading position pointer - seekg and tellg
  • Writing position pointer - seekp and tellp
  • Extracting characters from files
  • Comparing content of two files
  • Put - loading characters from cin stream directly to file
  • Peek - peeking characters without extracting
  • Putback - returning extracted character on stream
  • Write - writing bytes to file
  • Gcount - counting characters from last operation
Mini database
  • Mini database
STL
  • What is STL?