CentraleSupélec

L’ensentiel de l’enseignement que j’ai donné à CentraleSupélec concerne le cursus ingénieur. En particulier des enseignements en algorithmique, programmation Python, réseaux et sur la Blockchain.

Première annnée

Système d’informations et programmation

Le cours de Systèmes d’Information et Programmation (SIP) est ouvert à tous les élèves de première année. Il vise à offrir une mise à niveau sur divers sujets, notamment les bases de données relationnelles, l’architecture des ordinateurs, les réseaux, la sécurité, ainsi que la programmation en shell et en Python.

Lien pour accéder aux TDs

Algorithmique

Ce cours fournit à tous les étudiants les notions fondamentales de l’algorithmique. Ils y apprennent les premiers algorithmes de graphes (parcours, plus courts chemins, arbres couvrants, flots), des méthodes de résolution génériques (programmation dynamique), ainsi que la complexité algorithmique. Ensuite, sont abordés les concepts de réduction polynomiale, de classes de complexité, d’algorithmes heuristiques, d’approximation et de méthodes exactes (branch & bound).

Lien pour accéder aux TDs et TPs

Coding Weeks

Les Coding Weeks sont deux semaines immersives de programmation destinées à tous les étudiants entrant à CentraleSupélec. Durant cette période, les étudiants auront l’opportunité de concevoir un projet de développement tout en acquérant des compétences en programmation Python. Ils apprendront également à utiliser Git ainsi que diverses bibliothèques.

Deuxième année

Comprendre la Blockchain

Ce cours optionnel initie les étudiants aux fondamentaux de la cryptographie (chiffrement symétrique, asymétrique, hachage, signature) ainsi qu’à l’algorithmique distribué (réseau pair à pair, consensus). Ces connaissances sont ensuite appliquées à l’étude du fonctionnement de la blockchain, leur permettant de comprendre ce qui peut ou ne peut pas être réalisé sur une blockchain et de l’expliquer de manière approfondie.

Quelques références pour le cours, la vidéo d’introduction des 3Blue1Brown et un excellent tutoriel pour créer une chaine.

Cloud Computing

Ce cours, optionnel, introduit les étudiants aux cloud computing. Ils y découvriront les principaux outils.

Troisième année

Algorithmes Avancés

Ce cours approfondit les concepts abordés en première année, notamment en traitant des questions de complexité en espace, de complexité paramétrée, d’approximation et d’inapproximation. Il explore également d’autres modèles de calcul tels que l’algorithmique en ligne et aléatoire, offrant ainsi aux étudiants une vision plus complète et avancée de l’algorithmique.

Ateliers de programmation et outils de développement

Ce cours, très orienté sur la pratique, permet au étudiant de découvrir la programmation système en C et la programmation orienté objet en C++.

Liens pour accéder aux TPs