Classe de maître C++
Vous connaissez C++, mais vous avez eu vent que le C++ « moderne » était presque un nouveau langage? Vous aimeriez à la fois apprendre et comprendre cette nouvelle façon de programmer?
Classe de maître C++
Cette classe de maître est dédiée aux programmeurs C++ qui souhaitent une mise à jour de leurs compétences et une meilleure compréhension de ce langage dans son acception moderne.
Les modalités de programmation proposées tiendront du C++ « moderne », donc à partir de [Cpp11Std], qui sont radicalement différentes des incarnations précédentes du langage.
La perspective proposée sera résolument « moderne », au sens de C++ 11, et ne véhiculera pas délibérément des pratiques de temps plus anciens.
La première de ces formations s’adresse aux gens qui souhaitent comprendre et utiliser les outils et mécanismes qu’apporte cet important standard qu’est C++11. En comparaison avec C++ tel qu’il existait auparavant, C++11 est ni plus ni moins qu’une révolution.
La seconde de ces formations enrichit la première en présentant en quoi C++14 améliore C++11, puis en abordant les nombreux nouveaux outils mis à notre disposition depuis C++17. Si C++14 est un standard plus humble que son prédécesseur (bien qu’il s’y cache des perles!), C++17 apporte beaucoup de nouveautés, influence nos pratiques de programmation de multiples manières, et contribue directement à la fois la productivité et au plaisir de programmer.
Objectifs et Contenus
- Les nouvelles bibliothèques (random, chrono, regex, tuple, etc.)
- Les nouveaux algorithmes
- Les expressions lambda
- Les templates variadiques
- La sémantique de mouvement
- Le relais parfait (Perfect Forwarding)
- La multiprogrammation et ses outils
- Les expressions constantes généralisées
- Exercices pratiques et échanges
Les formateurs
Patrice Roy
M. Roy enseigne au CeFTI depuis 2001 et est professeur au Département d’informatique du Collège Lionel-Groulx depuis 1998. Il a été directeur de ce département de 2001 à 2004, et a été coordonnateur du programme Technique de l’informatique de ce collège de 2001 à 2009. Le programme du collège étant coopératif, ses liens avec l’entreprise privée sont nombreux. Il a contribué activement à la conception du nouveau programme d’informatique dans ce collège. S’ajoutent à cela quelques tâches d’enseignement au Collège O’Sullivan, à l’ÉTS et pour des groupes d’informaticiennes et d’informaticiens en entreprise.
Son passé professionnel récent inclut notamment une participation active au développement et à l’enseignement dans les diplômes de 2e cycle en technologies de l’information (DTI), en génie logiciel (DGL) et en développement du jeu vidéo (DDJV) de l’Université de Sherbrooke. S’ajoutent à cela quelques contributions de type recherche, entre 2004 et 2006, à un projet de système réparti associé à la firme SeaQuest dans le Bas-Saint-Laurent trois années à CAE Électronique Ltée, affecté principalement au développement de simulateurs d’hélicoptères militaires pour la marine britannique, en particulier dans l’interface aux instructeurs et la simulation des messages à contenu vocal; une contribution à titre de consultant pour IREQ, pour le projet MONITEQ, un système de maintenance préventive d’appareils électriques gagnant de plusieurs prix et finaliste au R&D100 en 1995. Il a complété un doctorat sur la contextualisation dans un système massivement réparti à l’Université de Sherbrooke sous la direction conjointe du professeur Bessam Abdulrazak et de docteur Yacine Belala.
M. Roy enseigne l’ergonomie cognitive, les systèmes client/serveur (avec un penchant pour les applications Web ou mobiles), l’approche objet, les systèmes en temps réel et la communication entre toutes sortes d’entités logiques qui ne se parlent pas toujours de manière naturelle. Le modèle objet est prépondérant dans son approche de la programmation en général. Ses autres intérêts personnels incluent l’algorithmique, l’intelligence artificielle, les processeurs de langages, la réalité virtuelle et les systèmes répartis. Au cours des dernières années, il s’est beaucoup amusé avec la programmation générique en général et la métaprogrammation en particulier.