Low-level Programming

Objectifs pédagogiques

  • Programming, compiling, linking programs written in C.
  • Advanced memory management (stack allocation, dynamic memory management).
  • Good practices in programming (programming rules, version management, testing).
  • Algorithmics.

Description du cours

Advanced C programming.

Contenu du cours

  • Basic and advanced C data structures and control structures.
  • Memory management.
  • X86 assembly (basic).
  • Tools (compilation toolchain, Makefiles, version management, testing).

Mots-clés

C language, git, gcc, make, software engineering, performance.

Prérequis

Prior knowledge in Unix (shell, environment) and any programming language.

Bibliographie

  • Programmation en langage C, by Anne Canteaut
  • Modern C (2nd edition), by Jens Gustedt, 2019
  • The C Programming Language (2nd edition), by Brian W. Kernighan and Dennis M. Ritchie, 1988

Biographie de l’enseignant

Isabelle Puaut is a researcher professor at the University of Rennes. Isabelle Puaut’s research focuses on real-time embedded systems: timing analysis of real-time software (WCET estimation), real-time operating systems, security in real-time embedded systems, architectural support for predictability in embedded systems. Isabelle Puaut carries out her research with IRISA.