Low-level Programming

Teaching goals

  • 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.

Course description

Advanced C programming.

Course content

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

Keywords

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

Prerequisites

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

Bibliography

  • 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

Biography

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.