Couvre la définition d'un langage de programmation simple et sa sémantique à grande échelle, y compris les expressions arithmétiques et les commandes impératives.
Couvre les bases de la programmation C, y compris les variables, les opérateurs et la programmation orientée système, en mettant l'accent sur les différences avec Java.
Explore l'application pratique de la théorie du langage, y compris le tri rapide, le typage progressif et la gestion efficace de la mémoire, ainsi que les défis de la synthèse des programmes de réduction.
Introduit les bases des variables et des types dans la programmation C, couvrant la déclaration, l'initialisation et les différences par rapport à Java.
Explique les concepts essentiels des fonctions dans la programmation C, y compris les définitions, les prototypes et les techniques de passage d'arguments.
Explore les fondements de la vérification modulaire en utilisant la logique de séparation pour des programmes concomitants réalistes et discute des défis de l'état mutable partagé dans la concorde.