020EFPES4

Effective programming

Effective Programming is a course tailored for learning how to write optimized and high-performance code. To illustrate this concept, C++ is used as an expert friendly language. The course runs around the following axis: use of generic programming and templates to increase code efficiency; exploration of move semantics, an advanced C++ feature for performance optimization, especially in memory-intensive applications; extensive coverage of C++ Standard Library, a key player when it comes to efficient and optimized code. Recognizing that efficient code is part of a bigger system, the course introduces build engines, like CMake and Bazel. These are critical tools for managing dependencies and automating build processes in large software projects. They also enable the easy implementation of software performance tests. The final stretch of the course revolves around programming challenges where the focus is on applying optimization techniques in real-world scenarios. Effective programming is designed with an emphasis on C++ techniques that lead to optimized, reliable, and high-performance software. It's a great pick for those planning a career in areas where high-performance computing is vital, such as Game Development, Systems Programming, Embedded Systems, and Database Applications.


Temps présentiel : 30 heures


Charge de travail étudiant : 70 heures


Méthode(s) d'évaluation : Examen final, Examen partiel, Travail personnel

Les prérequis de ce cours sont les suivants
 Programmation Orientée Objets
Ce cours est proposé dans les diplômes suivants
 Diplôme d'ingénieur - spécialité génie informatique et communications - option : génie logiciel
Diplôme d'ingénieur - spécialité génie informatique et communications - option : réseaux de télécommunications