| institution: | University of Michigan |
| from: | 2023 |
| to: | 2024 |
Programming languages are rich mathematical structures and powerful user interfaces. This course covers the design and use of modern programming languages. We will build up systematically from formal first principles while considering human factors in language design, language prototyping, and techniques for reasoning precisely about program behavior throughout the course.
The goal is to change the way you think about programming and programming language design in ways that will remain relevant across the many technology hype cycles that you will encounter over the course of your careers.
I was the undergraduate teaching assistant for the 2023–2024 academic year. The course was lectured by Cyrus Omar; Andrew Blinn and David Moon served as graduate teaching assistants in F23 and W24, respectively.