CS 345H: Programming Languages (Honors) Fall 2022

CS 345H is an advanced undergraduate course on the theory and practice of programming languages. We'll explore the formal foundations of programming languages, including program semantics and type systems, and see how we can use these foundations to reason precisely and mathematically about "what programs do". We aim to distill the essence of programming languages, rather than learning any specific language in great detail, and wield that knowledge to build more reliable software systems.

CS 345H is also cross-listed as CS 386L, the graduate-level version of this course.


Lectures: Tuesday and Thursday, 9:30am–10:45am, UTC 3.122

Office Hours:

Discussion: We're using Ed Discussion for course announcements, questions, etc.

Course staff

Instructor: James Bornholt
Teaching Assistants: Sam Laberge, Sammy Thomas

To contact the course staff, please create a private thread on the Ed Discussion board rather than sending email.