λ CS 251 : Principles of Programming Languages .

Staff / Hours

Instructor: Lyn Turbak, SCI E126
Drop-in hours: (see the drop-ins calendar for the most up-to-date info):

Tutor Drop-in:
(see the drop-ins calendar for the most up-to-date info)

Schedule (jump to now)

Here is a tentative calendar for the semester. The future and recent past, as recorded here, are subject to revision at any time. See the long-term schedule on the syllabus for the big picture.

TueWedFri
30 January
  • 251 class starts today
  • start big ideas; syntax, dynamic and static semantics [slides]
  • administrivia (see syllabus)
  • quick interactive session with Racket
  • PS0 out; get to know you, study administrivia, install Racket
  • Assign: PS0 Introductions
31 January
  • discussion of dynamic and static semantics examples [slides]
  • PS0 due
  • PS1 out; syntax, comparing languages, Racket, big-step vs. small-step semantics.
  • Assign: PS1 Evaluating Languages
02 February
06 February 07 February 09 February
13 February 14 February 16 February
20 February Monday Schedule
  • No class today
21 February
  • let for efficient recursion, lexical contours, scope, let*, letrec [slides]
23 February
  • first-class functions [slides]
  • PS3 due
  • PS4 out; first-class functions and higher-order list operations
  • Assign: PS4 First-Class Fun
27 February 28 February 02 March
06 March
  • iteration; tail recursion and foldl review; iterate, iterate-apply [slides 32-41, solns]
  • PS4 due
07 March 09 March
13 March 14 March 16 March
20 March 21 March 23 March Spring Break
  • No class
27 March Spring Break 28 March Spring Break
  • No class
30 March Spring Break
  • No class
03 April 04 April 06 April
10 April
  • SML Modules and abstract datatypes 1; mathlib, rational numbers, signature matching[slides 1-16]
11 April 13 April
17 April
  • Metaprogramming; interpreters, compilers, and language derivations [slides 1-17]
18 April 20 April
24 April 25 April 27 April
01 May 02 May Ruhlman Conference 04 May
08 May
  • Valex; multiple values, conditionals, dynamic typing; desugaring [slides w/blanks, solns]
  • PS11 out; desugaring, HOFL, HOILEC (only PS11 solo problem is required; PS11 regular problems are completely optional extra credit problems).
  • Assign: PS11 A Hofl Lot
09 May
  • HOFL = Valex + first-class functions. [F17 notes]; dynamic vs. static scope
11 May
  • HOILEC; state and closures
  • PS10 dueish
  • PS11 solo problem dueish
15 May Reading Period 16 May Final Exams 18 May Final Exams
22 May Final Exams
  • All leftover CS251 work due by end of day
23 May 25 May