C programming training.

All materials are at https://systemes.pages.ensimag.fr/www-c

The content of the unit is here


Teaching semester :   S1

Target skills :
This module introduces the main concepts available in programming languages to execute a program on a machine. It aims to provide:  
 - the formal tools allowing to describe (static and dynamic) program semantics;
 - the main algorithms and transformation steps implemented within a compiler to produce a sound and correct executable code.

Program summary :
1.      The formalisms used to describe programming language semantics: operational semantics, axiomatic semantics, denotational semantics. Application to a high-order imperative programming language.
2.      Compiler architecture
3.      Type systems: formalization and application to imperative and functional languages
4.      Program execution environment, code generation
5.      Introduction to code optimization, data-flow analysis
6.      Program correctness and verification

This course aims to provide students with useful tools and methods needed to effectively communicate with other scientists. 

The new version of the course material is available on Caseine: https://moodle.caseine.org/course/view.php?id=813