I currently work as a lecturer at the École Centrale des Arts et Métiers (ECAM), an industrial higher education institution. I am involved in several courses of the bachelor and the master, in particular for the future industrial engineers in electronics and computer science.

You can find the list of courses that I am currently teaching, and that I taught in the past, hereafter, along with the level of students attending the course and a short description of it. For each course, only the activities I am involved in are mentioned. More details with resources for some courses are available on subsequent pages.

Currently taught

2014–now
(3 years)
B2010 – Informatique (4 ECTS, 43h)
  • B201B – Informatique appliquée (28h)

This course, taught to students in second year of bachelor in engineering, is about programming in Python and teaches advanced data structures (set, dictionaries and tuples), object oriented programming basics, event-based programming and GUI development with Kivy, error handling and exceptions, text and binary files reading and writing. It also explains how the internet works and introduces to HTML, CSS and JavaScript and how to develop a simple website with the CherryPy web framework.

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

This course, taught to students in second year of bachelor in electronics and computer science engineering, presents advanced programming concepts with the Python language. It presents project management tools (Git, Travis, Heroku...), regular expressions, network programming (socket, TCP client/server, UDP peers), concurrent programming (process and thread), functional programming. It also introduces algorithmic with recursion, trees, search algorithms and backtracking for AI. Finally, it introduces to numerical methods with Octave and with the Scipy library.

new E3010 – Électronique numérique (6 ECTS, 70h)
  • E301B – Programmation C (14h)

This course, taught to students in third year of bachelor in electronics and in computer science engineering, presents how microcontrollers work and how to program them using asembly language or with the C language. Students learn to program PIC microcontrollers and how to control timers, interruptions, etc. They are also introduced to Boolean algebra and how to minimise a logical function.

2016–now
(2 years)
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)

This course, taught to students in third year of bachelor in electronics and in computer science engineering, presents the three main components of an embedded system: energy management, an intelligent electronic unit and peripherals. The course presents how to build an embedded system through the design and the construction of a robot application. In particular, it teaches how to program embedded systems.

new E3040 – Projet informatique (5 ECTS, 52,5h)
  • E304A – Structure de données (10,5h)

This course, taught to students in third year of bachelor in electronics and in computer science engineering, is a project where students have to develop a whole desktop application with C#, including a GUI and a database. For that project, students have to deal with datastructures. The project has to be realised completely in English.

2014–now
(3 years)
M3090 – Conception et développement informatique (4 ECTS, 43h)

This course, taught to students in third year of bachelor in electromechanical engineering, presents how to analyse and develop a computer application using modelisation (UML), simple databases and queries (Microsoft Access) and object oriented programming (C#).

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

This course, taught to students in first year of master in computer science engineering, presents how to architecture a software at different levels from the structure of the code to organisation of software components. It also teaches all the steps required to develop a large software with a particular attention to versioning, automated testing, and deployment.

2014–now
(3 years)
I4030 – Technologie des ordinateurs et systèmes d'exploitation (5 ECTS, 56h)
  • I403A – Systèmes d'exploitation (15h)
  • I403B – Technologie des ordinateurs (15h)
  • I403C – OS avancé (12h)
  • I403L – Laboratoire de systèmes d'exploitation (14h)

This course, taught to students in first year of master in electronics and in computer science engineering, presents how a computer works, from the very low hardware level to the very high level architecture and organisation. It also presents how it can be operated with an operating system and its components (processes and threads, scheduling, deadlock, memory management, filesystem, mass storage, security...).

2016–now
(1 year)
I4040 – Base de données avancées (4 ECTS, 43h)
  • I404B – NoSQL (15h)

This course, taught to students in first year of master in computer science engineering, presents advanced concepts in databases and how to manage them (distributed databases, transactions, optimisation...). It also introduces to NoSQL and in particular to document-based databases and how to combine them with relational databases in applications.

new I4100 – Synthèse d'images (4 ECTS, 49h)
  • I410A – Algorithmique et optimisation (21h)
  • I410B – Programmation parallèle (28h)

This course, taught to students in first year of master in computer science engineering, presents parallel programming techniques that are used to generate images and 3D imaging techniques. For that, an activity about algorithm design and optimisation is also organised where students learn how to think about an innovating project and handle it with relevant algorithms.

new I5010 – Architecture distribuée (4 ECTS, 43h)
  • I501B – Virtualisation (15h)

This course, taught to students in second year of master in computer science engineering, presents what a distributed system is and how it works. In particular, it covers three aspects of distributed architectures which are how to scale an application, how to virtualise one and finally how to manage databases clustering.

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

This course, taught to students in second year of master in computer science engineering, presents what is the security of an informatic system, at the hardware and the software levels. It also presents how to build and secure such systems and how to analyse and manage the risks that they are exposed to.

2015–now
(3 years)
O5040 – Séminaires professionnels (3 ECTS, 45h)

This course, taught to students in second year of master in electronics and in computer science engineering, is a seminar where the students are asked to prepare and present, in English, a subject related to engineering or to their master thesis to share their experience. Students are also asked to attend external events they have to found by themselves and report about what they learned to the other students.

new I5080 – Intelligence artificielle (4 ECTS, 47,5h)
  • I508A – IA et machine learning, big data et data mining (30h)
  • I508B – Laboratoire IA (17,5h)

This course, taught to students in second year of master in computer science engineering and in electronics, presents what is artificial intelligence. In particular it presents search and machine learning techniques and algorithms, and also presents how big data can be analysed to extract relevant information.

Previously taught

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

This course, taught to students in first year of bachelor in engineering, is a project where the students have to work on a multidisciplinary project by teams of six. For example, in 2016, they had to develop an automated distributor controlled by an Arduino and using an RFID tag.

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

This course, taught to students in first year of bachelor in engineering, is about electromagnetism and circuits theory. It also presents the necessary mathematical tools: functions with multiple variables, complex numbers, vectors, multiple integrals...

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

This course, taught to students in first year of master in electronics and in computer science engineering, is a project where the students have to develop a 3-tiers home automation application to manage a concrete model of a house. They also have an activity about object oriented programming with Java.

Big Basin, CA,
    USA, July 2011.
Big Basin, CA, USA, July 2011.

Navigation