Je travaille actuellement comme enseignant à l'ECAM Brussels Engineering School (ECAM), une institution d'enseignement supérieur industriel. Je donne plusieurs cours destinés aux étudiants en bachelier et en master, en particulier aux futurs ingénieurs industriels en informatique et en électronique. Je suis enseignant à l'ECAM depuis cinq ans (2014–2019). Depuis 2018, je donne également des cours aux étudiants de master business analyst, un programme de cours en alternance co-organisé avec l'ICHEC Brussels Management School (ICHEC).

Plusieurs cours sont gérés par une équipe d'enseignants, et seulement les activités dans lesquelles je suis impliqué sont mentionnées ici. Plus de détails, ainsi que des ressources, sont disponibles pour certains cours sur des pages dédiées.

Actuellement enseigné

2014–maintenant
(5 ans)
B2010 – Informatique (4 ECTS, 43h)
  • B201B – Informatique appliquée (28h)

Ce cours, destiné aux étudiants en deuxième année de bachelier en sciences industrielles, concerne la programmation en Python et présente des structures de données avancées (ensembles, dictionnaires et tuples), les bases de la programmation orientée objet, la programmation évènementielle et les interfaces graphiques avec Kivy, la gestion des erreurs et le mécanisme d'exceptions, la lecture et l'écriture de fichiers texte et binaire. Il présente également comment internet fonctionne, introduit à HTML, CSS et JavaScript et explique comment développer un simple site web avec le micro-framework web CherryPy.

2015–maintenant
(5 ans)
B2160 – Projet informatique (5 ECTS, 57h)
  • B216C – Applications de méthodes numériques (14h)

Ce cours, destiné aux étudiants en deuxième année de bachelier en sciences industrielles, pré-orientation électronique et informatique, concerne des concepts avancés du langage Python. Il présente des outils de gestion de projet (Git, Travis, Heroku...), les expressions régulières, la programmation réseau (socket, client/serveur TCP, pairs UDP), la programmation concurrente (processus et thread), la programmation fonctionnelle. Il introduit également à l'algorithmique avec la récursion, les arbres et les algorithmes de recherche et de backtracking pour l'IA. Enfin, il introduit au calcul numérique avec l'écosystème Scipy (les librairies Numpy, Scipy, Matplotlib et SymPy).

2017–maintenant
(2 ans)
E3010 – Électronique numérique (6 ECTS, 70h)
  • E301B – Programmation C (14h)

Ce cours, destiné aux étudiants en troisième année de bachelier en sciences industrielles, orientation électronique et informatique, concerne le fonctionnement des micro-contrôleurs et comment les programmer à l'aide d'un langage d'assemblage ou avec la programmation C. Les étudiants apprennent à programmer des micro-contrôleurs PIC et à utiliser les timers, les interruptions, etc. Une introduction à l'algèbre de Boole et à la minimisation de fonction logique leur est également proposée.

2018–maintenant
(2 ans)
E3040 – Projet informatique (5 ECTS, 52,5h)
  • E304A – Structure de données (10,5h)

Ce cours, destiné aux étudiants en troisième année de bachelier en sciences industrielles, orientation électronique et informatique, est un projet où les étudiants doivent développer une application de bureau complète en C#, incluant une interface graphique et une base de données. Pour ce projet, les étudiants doivent manipuler des structures de données et les principales leurs sont enseignées (pile, file, deque, vecteur, liste, séquence, arbre, file de priorité, map, table de hachage et graphe). Le projet doit être complètement réalisé en anglais.

2014–maintenant
(5 ans)
I4020 – Architecture et qualité logicielle (4 ECTS, 49h)
  • I402A – Architecture logicielle (21h)
  • I402B – Test driven development and continuous integration (28h)

Ce cours, destiné aux étudiants en première année de master ingénieur industriel en informatique, présente les différentes architectures possibles qu'un logiciel peut avoir à différents niveaux, depuis la structure du code jusqu'à l'organisation des composants logiciels. Il explique également les différentes étapes nécessaires au développement d'un gros logiciel avec une attention particulière pour le versioning, les tests automatisés et le déploiement.

2014–maintenant
(5 ans)
I4030 – Technologie des ordinateurs et systèmes d'exploitation (5 ECTS, 56h)
  • I403A – Systèmes d'exploitation (18h)
  • I403L – Laboratoire de systèmes d'exploitation (14h)

Ce cours, destiné aux étudiants en première année de master ingénieur industriel en électronique et en informatique, concerne le fonctionnement d'un ordinateur, depuis la couche hardware au très bas niveau jusqu'à l'architecture et l'organisation au très haut niveau. Il présente aussi comment il peut être utilisé à l'aide d'un système d'exploitation et ses composants (processus et threads, ordonnancement, deadlock, gestion de la mémoire, système de fichiers, stockage de masse, sécurité...).

2016–maintenant
(3 ans)
I4040 – Base de données avancées (4 ECTS, 43h)
  • I404C – NoSQL (15h)

Ce cours, destiné aux étudiants en première année de master ingénieur industriel en informatique, concerne des concepts avancés de base de données et comment les gérer (base de données distribuées, transaction, optimisation...). Il introduit également à NoSQL, et en particulier aux bases de données orientée document, et comment les combiner avec des bases de données relationnelles dans une même application.

2018–maintenant
(2 ans)
I4100 – Synthèse d'images (4 ECTS, 49h)
  • I410A – Algorithmique et optimisation (21h)

Ce cours, destiné aux étudiants en première année de master ingénieur industriel en informatique, présente des techniques de programmation parallèle qui sont utilisées pour générer des images et des techniques d'imagerie 3D. Pour cela, une activité qui concerne le design d'algorithme et l'optimisation est également organisée et les étudiants y apprennent comment penser à un projet innovant et le mener à bien avec des algorithmes pertinents.

2018–maintenant
(2 ans)
I5010 – Architecture distribuée (4 ECTS, 43h)
  • I501B – Virtualisation (15h)

Ce cours, destiné aux étudiants en deuxième année de master ingénieur industriel en informatique, présente ce qu'est un système distribué et comment il fonctionne. En particulier, il couvre trois aspects des architectures distribuées qui sont comment passer une application à l'échelle, comment la virtualiser et enfin comment gérer des bases de données en clusters.

2017–maintenant
(3 ans)
I5020 – Sécurité des systèmes informatiques (4 ECTS, 36h)
  • I502A – Sécurité physique et logicielle (15h)
  • I502L – Laboratoire de sécurité logicielle (21h)

Ce cours, destiné aux étudiants en deuxième année de master ingénieur industriel en informatique, présente ce qu'est la sécurité d'un système informatique, aux niveaux hardware et software. Il présente également comment construire et sécuriser de tels systèmes et comment analyser et gérer les risques auxquels ils sont exposés.

2015–maintenant
(5 ans)
O5040 – Séminaires professionnels (3 ECTS, 45h)

Ce cours, destiné aux étudiants en deuxième année de master ingénieur industriel en électronique et en informatique, est un séminaire où les étudiants doivent préparer et présenter, en anglais, un sujet en lien avec l'ingénierie ou avec leur travail de fin d'études, pour partager leur expérience. Les étudiants doivent également participer à des évènements externes qu'ils doivent trouver par eux-mêmes et rapporter ce qu'ils ont appris aux autres étudiants.

2018–maintenant
(2 ans)
I5080 – Artificial intelligence (4 ECTS, 47,5h)
  • I508A – IA et machine learning, big data et data mining (30h)
  • I508B – Laboratoire IA (17,5h)

Ce cours, destiné aux étudiants en deuxième année de master ingénieur industriel en électronique et en informatique, présente ce qu'est l'intelligence artificielle. En particulier, il présente des techniques de recherche et de machine learning et des algorithmes et il explique également comment le big data peut être analysé pour extraire des informations pertinentes.

2018–maintenant
(2 ans)
21BA060 – Conception et développement logiciel (6 ECTS, 70h)
  • Programmation orientée objet (42h)
  • Qualité logicielle (14h)

Ce cours, destiné aux étudiants en première année de master business analyst, présente ce qu'est le paradigme de programmation orienté objet (OO) et y initie les étudiants. Le cours met l'accent sur l'analyse d'un design OO, pour identifier les bonnes pratiques et déterminer la qualité d'une architecture OO.

2018–maintenant
(1 an)
22BA010 – Réseau et sécurité (6 ECTS, 72h)
  • Virtualisation (7h)
  • Sécurité physique et logicielle (7h)

Ce cours, destiné aux étudiants en deuxième année de master business analyst, concerne les architectures des réseaux et la sécurité. En plus des architectures réseaux, les étudiants découvrent les principales techniques de virtualisation et comment sécuriser un système informatique, aux niveaux hardware et software.

Précédemment enseigné

2016
(1 an)
B1070 – Projet intégrateur (6 ECTS, 71h)

Ce cours, destiné aux étudiants en première année de bachelier en sciences industrielles, est un projet où les étudiants doivent travailler sur un projet multidisciplinaire en groupes de six. Par exemple, en 2016, ils devaient développer un distributeur automatique contrôlé par un Arduino et utilisant un tag RFID.

2015
(1 an)
B1080 – Électricité et ses outils mathématiques (7 ECTS, 90h)
  • B108L - Laboratoires d'électricité (10,5h)

Ce cours, destiné aux étudiants en première année de bachelier en sciences industrielles, concerne l'électromagnétisme et la théorie des circuits. Il présente également les outils mathématiques nécessaires : fonctions à plusieurs variables, nombres complexes, vecteurs, intégrales multiples...

2016–2019
(4 ans)
E3020 – Électronique et programmation des systèmes embarqués (4 ECTS, 45,5h)
  • E302A – Électronique embarquée (31,5h)
  • E302B – Projet d'électronique embarquée (14h)

Ce cours, destiné aux étudiants en troisième année de bachelier en sciences industrielles, orientation électronique et informatique, concerne les trois principaux composants d'un système embarqué : la gestion de l'énergie, une unité électronique intelligente et des périphériques. Il présente comment construire un système embarqué à travers le design et la construction d'une application de type robot. En particulier, il présente comment programmer un système embarqué, la BeagleBone Black, et toute la chaine IoT autour de ce dernier, avec de la programmation haut niveau et du cloud computing.

2014–2017
(4 ans)
M3090 – Conception et développement informatique (4 ECTS, 43h)

Ce cours, destiné aux étudiants en troisième année de bachelier, orientation électromécanique, concerne l'analyse et la modélisation d'applications (UML) l'utilisation de base de données et de requêtes (Access) et la programmation de bas niveau (C) et orientée objet (C#).

2015–2016
(2 ans)
JA40I – Programmation distribuée (4 ECTS, 45h)

Ce cours, destiné aux étudiants en première année de master ingénieur industriel en électronique et en informatique, est un projet où les étudiants doivent développer une application de domotique en 3-tiers pour gérer un modèle concret d'une maison. Ils ont également une activité sur la programmation orientée objet en Java.