- Module 1: The Anatomy of Programming Languages
- Module 2: Simple Stack Machine
- Module 3: Type Enforcement
- Module 4: Branching
In this course, students will learn about the foundational elements of programming languages as well as the design principles behind Motoko and the Internet Computer, ultimately using these ideas to build their own simple stack machine. Module 1 serves as an intro to this unit, providing historical context for programming language design and how this relates to Motoko. Module 2 introduces the idea of a stack machine that can sequentially process instructions, and Modules 3 and 4 build upon this implementation to extend the functionality of the stack machine with type enforcement and branching.
The provided content was developed in collaboration with the following students:
- Nick Zoghb, a graduate of University of California, Berkeley (2018) with a focus on Computer Science and Bioengineering
- Connor Solimano, a student at Harvard College (2022) pursuing a degree in Computer Science and Economics