Welcome to the advanced programming course which is devoted to Modern C++, where you will learn the main features and best practices of C++11, C++14, C++17, and C++20. This course is designed for programmers who are already familiar with traditional C++ language and want to update their skills with the latest standards. For those students that are not familiar with C++, but have experinces with Python, another web site, named C++ for Python prorammers is prepared.

Here, you will learn how to write simpler, safer, more elegant, and more efficient code with modern C++. You will also learn how to use the C++ Standard Library and its containers, algorithms, smart pointers, strings, and more. This course consists of several chapters, each covering a specific topic or feature of modern C++. Each chapter contains a lot of code examples and exercises to help you understand and practice the concepts. You can find the source code on the GitHub repository of this course. I hope you enjoy this course and learn a lot from it.

I should also mention that the original material of this course was from Richard Spencer’s web site. He is a computer science student and a C++ tutor who created this course as a way to share his knowledge and passion for modern C++. I have forked his repository and modified it to suit my own needs and preferences. I would like to thank him for his great work and generosity.