
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Learn how while loops and do-while loops control repeated execution in C++, with a number-guessing example that updates guesses and avoids infinite loops.
Explore constructors and destructors in object oriented programming, using a smart device class to create objects with a name and on/off status, and observe automatic destruction order.
Explore method overloading in C++ by using a single add function with two ints, three ints, or two floats, showcasing the same name, different parameters, and return types.
Demonstrates regular, const, and reverse iterators in a vector of fruits, showing begin, end, and cbegin usage, modifying the first element to grape and iterating in reverse.
Master function templates with a single swap values function that works for int, double, bool, and string via template type T, using by reference or by value.
Explore metaprogramming in C++, calculating the greatest common divisor at compile time using templates and static constants, and compare with the runtime version to see identical results.
Explore asynchronous execution between input and output using a mutex, condition_variable, lock_guard, and unique_lock to protect shared data (data_ready) and coordinate two threads with wait and notify one.
100 C++ Coding Challenges: Practice, Improve, Master! is a comprehensive, hands-on course designed to take you from a complete beginner to an advanced C++ programmer. Whether you're a student, aspiring developer, or a professional looking to sharpen your C++ skills, this course offers a structured and practical path to mastering modern C++ through 100 carefully crafted coding challenges.
The course is divided into 10 progressive levels, covering everything from the basics of input/output, variables, and control structures (C++98/C++03), to more advanced concepts like pointers, object-oriented programming, STL, templates, file handling, multithreading, and design patterns (C++11–C++20).
Each session includes a clear theory guide, followed by real-world exercises and mini-projects that reinforce the concepts in a meaningful and applied way. You’ll build everything from a basic calculator and student gradebook to a multithreaded restaurant simulation and a stock trading dashboard using design patterns.
By the end of this course, you'll have solved 100+ coding exercises, built reusable C++ systems, and developed a solid portfolio of projects. Most importantly, you'll gain the confidence to tackle interviews, technical tests, and real-world software challenges with modern C++.
No prior experience is required—just your motivation to learn, solve problems, and become fluent in one of the most powerful programming languages in the world.