Fifth-year student at EPITA, I teach C++, JAVA, and C programming to third-year students in a team of thirty teaching assistants. I am specializing in various AI-related domains like machine-learning, image processing, or text-mining. I am currently looking for a 6-month internship from March to August 2017.


Teaching Assistant (ACU)

2016 - Present
EPITA, Villejuif, France

Organising practical UNIX, C, and C++ programming courses and projects for 400+ third-year students as part of a team of 30 assistants. This job is in the continuity of the YAKA role, but with students from a different year and other notions to teach.

Teaching Assistant (YAKA)

2015 - 2016
EPITA, Villejuif, France

Organising practical C++, JAVA, and SQL programming courses and projects for 300+ third-year students as part of a team of 30 assistants. Our job was to prepare the subjects, organize courses, help the students understand programming and debug their code, and check their work. I was responsible of the Chess project, which includes the development of a complete Chess game and a chess AI in C++ 14. I am also the quality manager, in charge of checking all the documents (courses, subjects, exams...) provided to the students to ensure that the quality (grammar, content, difficulty) is sufficient.

R&D intern (4 months)

Aerys, Paris, France

  • Development of a multimedia application controlled with the hands using a Leap Motion sensor.
  • Development of an IFC 3D model import plugin for the Minko 3D Engine (C++).
  • Development of an interactive virtual visit app using Oculus Rift DK2 base on the Minko 3D Engine (C++).
  • Implementation of clipping planes inside the Minko 3D Application to allow users to see inside 3D models (C++).

Teaching Assistant (ASM)

2014 - 2015
EPITA, Villejuif, France

Teaching UNIX and C Programming to a thirty students classes. My mission as Teaching assistant at EPITA was to supervise second-year practice class. I taught UNIX, GNU/Linux and C Programming to a class of thirty students. This gave me the opportunity to improve my teaching skills my technical skills nd my pedagogical abilities.

Web development intern (2 months)

SYDER, Lyon, France

The SYDER is a town union responsible for energy and public lighting of a great part of the department of Rhône (France). My mission inside the company was to develop a Web App allowing town councils to consult their charges, and to simulate their budget knowing the ongoing projects. I also improved the Web Design of the Extranet portal and I developed a small cartography system based on OpenLayers and OpenStreetMap.


LyreLand - End of studies' project. Developed with JAVA 8 and completely open-source, LyreLand embodies several modules:
  • harmonic, rhythmic, and melodic analysis of MIDI files
  • machine-learning to learn new music genres using the analysed data
  • generation to compose music using the trained data
Spell Checker - Spell checker developed in C++ with important memory and performance constraints. The project is split in two parts:
  • A compiler, which reads a text dictionary, builds a Trie, and serializes it into a binary contiguous file that allows direct search without reconstructing the Trie in RAM.
  • A spell-checker that directly reads the dictionary on SSD using mmap to allow a great number of requests per second without spending time reconstructing the trie in RAM.
Barcode reader - Program developed in C++ with OpenCV. It can detect several barcodes in a photograph, and read their value.
Viola-Jones - C++ implementation of the Viola and Jones method for Facial detection. Parallel computing was implemented using Intel TBB.
Tiger Compiler - A compiler for the Tiger Programming Language developed in C++ using GNU Bison and Flex inspired of Andrew Appel's 'Modern Compiler Implementation' book. Front-end producing TREE intermediate language, back-end producing MIPS and IA-32 assembly languages.
Chess - Chessboard and engine developed in C++ with a plugin system for game logging and AI loading. We also developed an AI plugin using a Minimax algorithm.
MyPhotoshop - Small raster graphics editor written in JAVA 8 with Swing. It embodies several features such as tab panes, interactive modification history, convolution matrices filters, painting brushes, i18n, custom skins management, external filters loading...
42sh - C implementation of bash --posix (UNIX shell) with SCL parsing using a custom AST, custom readline, and working execution and builtins.
MyHTTPd - HTTP daemon written in C handling heavy charges (C10K) using epoll to implement non-blocking I/O.
OCR - Optical Character Recognition program (OCaml)
Metastruggle - Super-Smash-Bros-like 3D game (C#)

Technical Skills