“Begin at the beginning,” the King said, very gravely, “and go on till you come to the end: then stop.” ― Lewis Carroll, Alice in Wonderland

As a future professional computer scientist, you should be comfortable learning new programming languages, even those that have not yet been invented. The way to do this is to understand the underlying principles of programming languages. That is the goal of this course.

In the course of a software developer’s career, languages will trend in and out of fashion. Understanding programming language (PL) principles helps you keep pace in a rapidly changing field. Furthermore, recent trends toward domain-specific languages mean many developers will need to design their own languages. This course teaches these skills, contextualizes the history and breadth of programming language design, and familiarizes students with both current and upcoming future trends.

Lecture

Lecture Instructor Dates Time Location
10545 Jason MW 2:50-4:30 129 Hurtig Hall