Master on Cryptology & Computer Security (University of Bordeaux)

Mise à niveau en Informatique (Master1, Autumn Semester)

Stage de remise à niveau en informatique (8h):

  • Manipulation d’une machine Unix (shell);
  • Programmation Shell;
  • Le langage LaTeX;
  • Programmation C et Rust.
Course Website

C Programming (Master1, Autumn Semester)

This course is going from initiation, up to advanced topics in software project management in C programming. It covers the following topics:

  • Basic C syntax;
  • Advanced types;
  • Memory management;
  • Compilation (gcc) and Makefiles;
  • Debugging tools (gdb, valgrind);
  • Version control tools (git);
  • Coding conventions and programming idioms;
  • Handling bit-level data-structure;
  • Peer reviewing;
  • Software testing and profiling;
  • Medium sized code base handling;
  • Command-line user interface.
Course Website

Rust Programming (Master1, Autumn Semester)

This course is an initiation to Rust programming. It covers the following topics:

  • Basic Rust syntax;
  • rustc compiler;
  • cargo;
  • Modules and Libraries;
Course Website

Software Security (Master1, Spring Semester)

This course is about the security of software and how to exploit usual flaws to get access to unwanted features. This course covers the following topics:

  • Introduction to Software Security;
  • Usual logic flaws in programs;
  • i386 & amd64 assembly;
  • Shellcodes;
  • Stack buffer-overflow;
  • Heap buffer-overflow;
  • Format string bugs;
  • Fuzzing techniques;
  • Software Reverse-engineering.
Course Website

OS Security (Master2, Autumn Semester)

This course is about the security of Linux kernel and how to exploit usual flaws to get access to unwanted features. This course covers the following topics:

  • Linux kernel module programming;
  • Kernel debugging (QEMU + gdb-server);
  • Rootkit writing;
  • SMEP/SMAP kernel protection;
  • KASLR and KPTI;
  • Memory in kernel (SLAB/SLUB);
  • Kernel exploitation;
  • ROP on kernel image;
  • Kernel fuzzing and static analysis.
Course Website

Master Informatique (Université de Bordeaux)

Projet de Programmation (Master1, Autumn Semester)

Le cours Projet de Programmation (PdP) propose aux étudiants de travailler en groupe sur un projet de programmation de moyenne envergure en pratiquant en condition réelle les outils et les méthodes de développement classiques (git, build-systems, test frameworks, code formatting, …).

Course Website

Miscellaneous

Initiation à Python 3 (Tous niveaux)

Ce cours, en français, s’adresse à ceux qui veulent découvrir le langage de programmation Python. Il ne nécessite que très peu de connaissances préalables, mais il essaye de couvrir beaucoup de sujets en peu de temps.

Course Website