I’ve assisted in teaching several courses in the Bachelor and Master programmes of Computer Science at Vrije Universiteit Brussel:

  • Multicore Programming

    In this elective Master course, we learn advanced techniques for parallel and concurrent programming. The course consists of three main parts, focusing on the actor model (using Erlang), Software Transactional Memory (using Clojure), and programming the GPU (using OpenCL). Since 2020, I’ve been teaching this course as a guest lecturer at VUB. Before that, I was teaching assistant for the course and taught weekly programming exercises.

  • Programming Project 2

    This course is the year-long individual programming project that students have to complete in their second Bachelor year. During this time, the goal of the project was to control a model train set-up: the students develop a program in which a user selects a train’s destination, after which a route is calculated and the train drives there, without collisions. The project consists of communicating with hardware, representing complex data structures (like graphs) in memory, programming algorithms on them (path finding), and designing a GUI. I guided and graded the projects together with other teaching assistants. This includes composing the assignment, holding regular programming sessions with the students, grading reports and code, and conducting oral defenses.

  • Software Architectures

    This Master course teaches students how to design the architecture of complex software applications that consist of many parts (e.g. architectural patterns, concepts like coupling and cohesion). For two years, I composed and corrected the students’ assignments together with another teaching assistant.