Data Structure & Algorithms
Undergraduate course, UCLouvain, Louvain School of Engineering, 2020-2021
I was an invited lecturer for this course from the Louvain School of Engineering (EPL), mainly intended for third-year students in computer science & engineering.
The material covers the introduction to basic concepts of algorithms and data structures (arrays, queues, piles, …) and (asymptotic) complexity, and continues into more advanced algorithms and data structures (Dijkstra’s algorithm, Bellman-ford, Red-black trees, Hash maps, …).
The course is attended by students from various backgrounds, mostly future computer science & engineering bachelors, but also future bachelors in mathematics, biology, architecture, business engineering, and future masters in linguistics. 224 students took the course in 2020.
The year 2020 was the year of the COVID: the course was thus bi-modal. The students were separated into groups of 6/7, each mentored by a tutor (a master student who followed the course in the previous years). The course was separated in 6 modules of two weeks each.
- At the beginning of the week, students received a list of theoritical exercices to do in groups during the practice session. The tutor (and myself) would help them, but there was (nearly) never a global explanation on the blackboard. The goal was for student to discover the material by themselves, with a little push from their friends and tutor.
- At the end of the week, they received a list of practical exercices (mainly programming ones) to do individually on INGInious, which would give them an instant feedback.
- At the beginning of the second week, the practical session made the students compare their answer and show that the exercices could be solved in various way. The tutor helped students that were stuck. Additional theoretical exercices were given.
- At the end of the second week, an “ex-cathedra” (first on site, then on Twitch) course was given, that made a summary of all the content seen these last two weeks, and diving into specific misunderstandings seen during the practical sessions.
- Near the end of the year, an additionnal two hour course was given that went on all the content of the course.
- Each ex-cathedra session was followed by a “Ask me anything” session, were students could submit anonymously questions on a web platform that I would answer live. Students were given the choice to submit their questions beforehand (and they were told that it would allow me to prepare some additional slides for the question) or live during the course. There were no limitations on the subjects, and students took the opportunity to ask really interesting questions that were linked to the course but clearly outside its scope, that made links to other courses, or that were really silly ;-).
