Training Content and Scope
C++ is a multi-paradigm programming language supporting procedural, object-oriented, generic and functional programming styles. This course will provide a practical introduction to C++, adhering to the latest official language standard at the time of the course.
The participants will study small example programs, each demonstrating a certain aspect of C++, and then do simple programming exercises using the lessons learned from the examples. The initial focus of the course will be to make the participants comfortable utilizing modern C++, e. g., solving small problems using the STL containers and algorithms along with lambda functions. Syntax will be explained in detail when needed. Once the participants are familiar and comfortable with the easy-to-use aspects of modern C++, the powerful abstraction mechanisms of the language, such as classes and class hierarchies, and templates will be presented at depth. It is hoped that this course will encourage fruitful application of the programming language and provide a good foundation for further learning.
It is assumed that the participants have previous programming experience in languages such as C, C++, Python, Java and Fortran. This course introduces programming in C++20. It is not meant to be a beginners' introduction to programming.