The third machine problem has been released.
The second machine problem has been released.
The first machine problem has been released.
Welcome to the Spring 2024 edition of CS 440: Programming Languages!
We will be using Discord to facilitate student discussion, and to run open TA office hours. If you aren't already a member, please join at https://discord.gg/dD6mUe5y
Here's the shared lecture session link for today
The lecture calendar is tentative and may be updated. All lecture source files can be found in the class GitHub repository.
Date | Topic | Notes | Reading(s) |
---|---|---|---|
Jan 10 | Syllabus and Course overview | slides-intro.pdf | Syllabus |
Jan 12 | Compilers and Interpreters | slides-racket.pdf | CI ch. 2 |
Jan 17 - Jan 19 | Intro to Racket and Basic types | 01-intro.rkt | RG chs. 2-3 |
Jan 24 | Functions and more special forms | 02-functions.rkt | RG ch. 4 |
Jan 26 | Lists and Recursion | 03-recursion.rkt | BR: Lists |
Jan 31 - Feb 2 | Higher-order functions | 04-hofs.rkt | |
Feb 7 - Feb 9 | Macros and Syntax transformers | 05-macros.rkt | RG ch. 16 |
Feb 14 - Feb 16 | Building an Interpreter | 07-interpreters.rkt | PLAI chs. 3-4, RG chs. 5, 12 |
Feb 21 | Closures | 08-closures.rkt | PLAI chs. 5-6 |
Mar 1 | Desugaring | 09-desugaring.rkt | |
Mar 6 | Building interpreters: Recap | interpreters-recap.pdf | |
Mar 13 - Mar 15 | Spring Break | ||
Mar 20 | Big Step Semantics | big-step.pdf | Harper ch. 2 |
Mar 22 | Midterm Exam | ||
Mar 27 - Mar 29 | Big Step Semantics (continued) | big-step.pdf | Harper ch. 2 |
Apr 3 - Apr 10 | Lambda Calculus | lambda-calculus.pdf | λ-calculus Tutorial |
Apr 12 - Apr 17 | Axiomatic Semantics and Hoare Logic | axiomatic.pdf | |
Apr 19 - Apr 24 | Continuation Passing Style | 10-continuations.rkt | |
Apr 26 | First-class Continuations | 11-callcc.rkt | BR: Continuations |
Mon, Apr 29 | Final Exam @ 8AM in SB 111 | Final Exam Coverage |
The following abbreviations for reading materials are used in the lecture calendar:
If you plan on submitting an assignment late, you must use this late day notice form to let us know by the assignment deadline.
Released | Due | Writeup / Resources | Repo Invite | Max Points |
---|---|---|---|---|
Jan 31 | Feb 11 | Basics and Recursion | cs440lang/mp1 | 40 |
Feb 14 | Feb 25 | HOFs and Symbolic manipulation | cs440lang/mp2 | 55 |
Mar 4 | Mar 24 | Interpreters | cs440lang/mp3 | 76 |
Mar 28 | Apr 7 | Big-step semantics, Sample solutions | — | 45 |
Apr 8 | Apr 17 | Lambda Calculus, Sample solutions | — | 45 |
Apr 18 | Apr 26 | Axiomatic Semantics, Sample solutions | — | 20 |