Teaching

Teaching Assistant

Data structures

Undergraduate course, Université de Sherbrooke, Jan 2018 - Dec 2021

Formalize data structures (stacks, lists, trees, etc.); compare and choose the most suitable implementations of the structures according to the problem at hand; put into practice the notions of module and abstract type.

Compilers and interpreters

Undergraduate course, Université Laval, Aug 2021 - Dec 2021

General compilation process. Lexical analysis and finite automata. Predictive top-down parsing and context-free grammars. Intermediate representation. Attribute grammars. Typing. Runtime infrastructure. Memory allocation. Code generation. Optimization.

Analysis and programming

Undergraduate course, Université de Sherbrooke, Aug 2018 - Dec 2021

Knowing how to analyze a problem, having high standards for the quality of programs, being able to systematically develop good quality programs in the framework of sequential procedural programming.

Concurrent processes and parallelism

Undergraduate course, Université de Sherbrooke, Jan 2021 - Apr 2021

Become familiar with the concepts of concurrent programming. Learn to solve problems using concurrent programming.

Neural networks

Graduate course, Université de Sherbrooke, Jan 2020 - Apr 2020

Be familiar with and understand several types of neural networks. Know how to implement them, train them and analyze their performance. Know how to read, understand, synthesize and present scientific papers on neural networks. Be able to reproduce the results of a scientific article or design a new neural network and evaluate its performance.

Functional programming

Undergraduate course, Université de Sherbrooke, Aug 2017 - Dec 2017

Formalize the notions of procedural abstraction and data abstraction in the context of functional programming.