Home > The courses > UE-SD9 (S9)
Advanced C++ Programming

Knowing how to code an algorithm effectively in a given programming language requires a prior understanding of the associated calculation model and how the instructions in that language are translated into machine instructions. Too many students still approach programming in a superficial and risky way, lacking the basic knowledge necessary to write elegant and effective code.
The unique strength of the C++ language is to allow the production of compiled codes close to the optimal machine code while offering different high-level programming approaches such as strong typing, object programming, functional programming and meta-programming (automatic code generation at compilation). For this reason, C++ has become the essential language for developing optimized algorithms. Its only disadvantage is its richness, which has continued to grow in its most recent versions (C++11/14/17/20) and which makes it difficult to understand the language in its entirety without adequate training.
This course is intended for students, including beginners, who want to master the different aspects of C++ programming in order to be able to write code that combines performance and elegance. The course adopts a bottom-up approach starting from the mechanisms of elementary program execution and gradually moving towards the most advanced language functionalities.

  • Know how to write a program in C++ using different programming paradigms such as object programming, functional programming and generic programming.
  • To know certain aspects of the C++ language that have a decisive influence on the performance of programs during their execution.
  • Be familiar with the functionalities offered by the most recent specifications of the C++ language (C++11, C++14, C++17, C++20).
  • Know how to use a C++ compilation and debugging environment

Course sequencing

Materials is at work, since the support is currently being updated.