Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
The goal of this course is to help students:
1. learn new languages quickly,
2. evaluate various languages and pick the most suitable one for a given task,
3. know when and how to design a little language, and
4. understand the effects of languages on thought and communication.
We will study programming language concepts, not as paradigms but as a set of basic building blocks, by 1) implementing interpreters for the concepts using the Scala programming language and 2) rigorously discussing the concepts using the operational semantics.