Teaching

Course: Computability

Year: 2017

Status: Responsible lectures and tutorials

Course outline: The course introduces the theory of computation, with recursive functions.

Course: Oriented object programming

Year: 2015-today

Status: Responsible lectures and tutorials

Course outline: The course introduces oriented object programming using Java language.

Course: Introduction to programming

Year: 2015-today

Status: Responsible lectures and tutorials

Course outline: The course introduces the basics of programming using language C. Topics cover conditional branches, loops, arrays, pointers, recursive functions, linked list, LIFO and FIFO structures.

Course: Algebra - 30h

Year: 2015

Status: Responsible lectures and tutorials

Course outline: The course introduces abstract algebraic structures. Topics in group theory will include: cyclic groups, permutation groups, subgroups, product groups, group homomorphisms, normal subgroups, quotient groups, and group actions. Topics in rings and fields will include: integral domains, rings of polynomials, homomorphisms of rings, ideals, quotient rings, principal ideal domains, unique factorization domains, finite fields.


Course: Introduction to programming - 144h

Year: 2011 - 2014

Status: Teaching assistant

Course outline: The course introduces the basics of programming using language Java. Topics cover conditional branches, loops, arrays, recursive functions, basic algorithmic notions and an initiation to oriented object programmning.


Course: Data structures and oriented object programming - 26h

Year: 2013

Status: Teaching assistant

Course outline: The course develops oriented object programming using language Java and introduces the main data structures, such as LIFOs, FIFOs, linked lists, trees, graphs and heap, together with standard algorithmic notions, such as sorting or shortest path algorithms.


Teaching in Epita: Teaching programming and algorithmic using language C, C++, Java. Lectures + conception and correction of many Tp and projects, among which:

Course: Introduction to operating systems - 40h

Year: 2005

Status: Responsible for lectures and tutorials

Course outline: The course introduce the basic notions of Unix operating system. Topics cover file system, processes, input/output, signals, BASH script.


Course: Tiger compiler Project - 30h

Year: 2004

Status: Teaching assistant

Course outline: The goal of this project is to program a compiler in the language C++ for the functional language Tiger. This is a long and difficult project. Also the general structure of the project is given and the student are guided, step by step, from implementing the parser, to the generation of assembly instructions.


Course: Core War project - 20h

Year: 2003

Status: Responsible for lectures and tutorials

Course outline: The goal of this project is to implement a virtual machine in the language C, than can parse and execute code in a simple assembly language.