This class is designed for school and college students, working professionals, career changers and curious beginners who want a strong foundation in C++. No previous programming experience is required.
We begin with the compiler, editor and basic program structure, then learn variables, input and output, decisions, loops and functions. The course continues with strings, arrays, vectors, maps, standard algorithms, references, pointers, object lifetime and safe memory management.
Students also learn classes, files, error handling, templates, debugging, automated testing, CMake and Git. Every topic is reinforced through guided coding, independent exercises and a practical weekly project.
The final project is a multi-file command-line application that students plan, build, test and document. Students should bring a laptop or desktop with permission to install free development tools. A phone or tablet alone is unsuitable for the practical work.
After completing the course, students can continue to Data Structures and Algorithms, Systems Programming, Game Development, Embedded Systems, Robotics, Computer Vision, Competitive Programming or High Performance C++.