Couvre la génération de code pour un compilateur, traduisant un programme Amy à WebAssembly, y compris la gestion de la mémoire et la compilation de correspondance de motifs.
Couvre les représentations intermédiaires dans les compilateurs, en se concentrant sur CPS / L3 IR fonctionnel avec des continuations locales et des constructions de contrôle.
Offre un cours de crash en MATLAB, couvrant la représentation des données, l'indexation des tableaux, les opérations mathématiques, et les pièges communs.
Explore l'amélioration de la traduction, des traductions basées sur le contexte source et des techniques de représentation de la valeur telles que le marquage et la boxe.
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.
Couvre les bases de la programmation, y compris le cycle de développement d'un programme, forte dactylographie, stockage de données dans les variables Java, et les types de données primitives.