Model Interpretation and CompilationExplores model interpretation, compilation via partial evaluation, function calls, and the transition to partial evaluation, emphasizing the importance of model interpreters in supporting modeling languages.
Code Generation LabCovers generating code for a compiler, translating an Amy program to WebAssembly, including memory management and pattern matching compilation.
Records and VariantsIntroduces records, variants, evaluation rules, typing rules, aliasing challenges, and benefits in programming languages.
Compiler Extension LabCovers the Compiler Extension Lab, focusing on adding new functionality to a simple functional language compiler.
Understanding SoftwareCovers the definition, types, and building process of software, including system software and applications.
Scientific Computing EssentialsCovers algorithmic thinking, Python programming, numerical methods, and essential computing concepts for scientific computing.