Speaker : Marc-Olivier Buob
Nokia Bell Labs
Date: 03/04/2024
Time: 10:30 am - 11:30 am
Location: Room 4B01


As stated in WIkipedia, C is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C’s features cleanly reflect the capabilities of the targeted CPUs. It has found lasting use in operating systems, device drivers, and protocol stacks, but its use in application software has been decreasing. C is commonly used on computer architectures that range from the largest supercomputers to the smallest microcontrollers and embedded systems.
As the C language is significantly more efficient than language like Python, it also offer the opportunity to develop efficient core module which can later be wrapped in a Python function.
This tutorial assumes that the audience is already familiar with another programming language (e.g., Python or Java). After briefly recalling the syntax of the C language,  we focus on notions specific to the C language:
  • precompilation and compilation (gcc, make)
  • pointers and memory allocation
  • debugging (gdb, valgrind)
  • how to wrap C functions in python using poetry [1]
Here are the slides.