C programming training.

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

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. A number of useful tips about writing a CV and cover letter in addition to basic rules of writing formal letters in English are presented. Students learn how to do a literature review and how to write a scientific paper. They improve their writing skills and learn how to present their research in the form of a poster or an oral presentation.


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