I worked as a full-time lecturer at the ECAM Brussels Engineering School (ECAM), an higher education institution, for six years (2014–2020). I was involved in several courses targeted to bachelor and master students, in particular for future engineers in computer science. Since 2018, I also gave some courses to business analyst master students, an course program co-organised with the ICHEC Brussels Management School (ICHEC).

Many courses at ECAM are managed by a team of teachers, and only those in which I was involved are mentioned hereafter. More details with resources for some courses are available on subsequent pages.

Taught courses

2014–2019
(6 years)
B2010 – Informatique (4 ECTS, 43h)

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 work and provides an introduction to HTML, CSS and JavaScript and shows how to develop a simple website with the CherryPy web framework.

2015–2020
(6 years)
B2160 – Projet informatique (5 ECTS, 57h)

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) and functional programming. It also introduces algorithm concepts such as recursion, trees, search algorithms and backtracking for artificial intelligence. Finally, it introduces to numerical methods with the Scipy ecosystem (Numpy, Scipy, Matplotlib and SymPy libraries).

2014–2019
(6 years)
I4020 – Architecture and Software Quality (4 ECTS, 50.5h)

This course, taught to students in first year of master in computer science engineering, presents the different possible architectures that a software can have at different levels from the structure of the code to the 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–2020
(6 years)
I4030 – Operating Systems (4 ECTS, 47h)

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...).

2015–2020
(6 years)
I5030 – Seminars (4 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.

2014–2017, 2020
(5 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 low level programming (C) and object oriented programming (C#).

2016–2019
(4 years)
E3020 – Embedded Systems (4 ECTS, 45.5h)

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, namely the BeagleBone Black, and the whole IoT chain around them, with high level programming languages and cloud computing.

2016–2019
(4 years)
I4040 – Database Management System (3 ECTS, 43h)

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.

2017–2019
(3 years)
E3010 – Microcontroller and Logic Design (6 ECTS, 74.5h)

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 assembly language or with the C programming 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.

2018–2020
(3 years)
E3040 – Software Engineering 2 (6 ECTS, 52.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 data structures and they are taught the main ones and how to use them (stack, queue, deque, vector, list, sequence, tree, priority queue, map, hashtable and graph). The project has to be realised completely in English.

2018–2019
(3 years)
I4100 – GPU Computing (5 ECTS, 63h)

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 and students learn how to think about an innovating project and handle it with relevant algorithms.

2018–2019
(3 years)
I5010 – Distributed Systems (4 ECTS, 43h)

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–2019
(3 years)
I5020 – Computer Security (3 ECTS, 36h)

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.

2018–2020
(3 years)
I4110 – Artificial intelligence (5 ECTS, 52.5h)

This course, taught to students in first 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.

2018–2020
(3 years)
21BA060 – Conception et développement logiciel (6 ECTS, 70h)

This course, taught to students in first year of the business analyst master, presents what is the object oriented (OO) programming paradigm and initiates students to it. The course focuses on the analysis of an OO design, to identify good practices and assess the quality of an OO architecture.

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.

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

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 outils mathématiques (7 ECTS, 81h)

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...

2018
(1 year)
22BA010 – Réseau et sécurité (6 ECTS, 72h)

This course, taught to students in second year of the business analyst master, is about network architecture and security. In addition to network architecture, students are taught what are the main virtualisation techniques and how to secure an information system, on the hardware and software levels.