Teaching
Teaching in Paris Créteil University:
Course: Introduction to Logic
Year: 2018-today
Status: Responsible lectures and tutorials
Course outline:Propostitional logic, first order logic, proofs, sets, functions, relations, arithmetic
Course: Linear algebra
Year: 2018-today
Status: Responsible lectures and tutorials
Course outline:Vector spaces, linear applications, matrices
Course: Computability
Year: 2017-today
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.
Teaching in Victoria University of Wellington:
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.
Teaching in Paris Diderot University:
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.