λ CS 251 : Principles of Programming Languages .

Staff / Hours

Instructor: Lyn Turbak, SCI E126
Drop-in hours (SCI E126 or micro-focus):

Tutors:

Schedule (jump to now)

The future and recent past, as recorded here, are subject to revision at any time.

TueWedFri
26 January 27 January
  • finish big ideas from previous lecture
  • computability and the halting problem (slides [1 up] [4 up], notes)
29 January
02 February
  • introduction to Racket (expressions and bindings) (slides [1 up] [4 up], notes)
03 February
  • wrap up Racket expressions and bindings.
  • begin Racket functions (slides [1 up] [4 up], notes)
05 February
  • finish Racket functions, plus substitution model, small-step semantics, recursion, and syntactic sugar (see Wed. sides and notes).
  • for next time, read up on Cons Cells and Lists
  • PS1 due today
  • Assign: Racket Recursion
09 February Racket pairs and lists (slides [1 up] [4 up], notes)10 February Recursive list functions (see slides and notes from yesterday)12 February
16 February Continue first-class functions: map, filter, foldr, compositional programming17 February Compositional programming (no slides yet)19 February
  • Iteration via tail recursion in Racket (slides [1 up] [4 up])
  • PS2 hardcopy solutions in class
23 February
  • More iteration via tail recursion
  • Assign: Iterate Until Done
  • Exam 1 out Mon. Feb 29, absolutely due Mon. Mar. 7 (no extensions)
24 February Wrap up iteration26 February Local naming and scope in Racket (slides [1 up] [4 up], notes)
01 March 02 March
  • let for efficiency; letrec
  • introduction to symbols
04 March
  • s-expressions
  • tree manipulation in Racket
  • our first mini-language, PostFix DCPL PostFix notes
08 March 09 March
  • PostFix interpreter wrap-up
  • Introduction to Standard ML (SML) (slides [1 up] [4 up])
11 March
15 March
  • Lists in SML
16 March
  • Sum-of-Product Datatypes in SML
18 March
  • Wrap up sum-of-product datatypes
22 March Spring Break 23 March Spring Break 25 March Spring Break
29 March 30 March 01 April
05 April 06 April 08 April
12 April
  • Bindex Syntax (including s-expression parsing and unparsing) and free variables
13 April 15 April
  • More Bindex Environment model interpreter
  • Sigmex = Bindex + sigma
19 April Monday Schedule 20 April 22 April
  • Valex -- dynamic type checking and desugaring (slides [1 up] [4 up])
26 April
  • Hofl -- a higher-order functional language (Hofl notes)
27 April Ruhlman Conference 29 April
03 May 04 May 06 May Reading Period
10 May Final Exams 11 May Final Exams 13 May Final Exams
17 May 18 May
  • last day of class
20 May
24 May 25 May 27 May

Long-term schedule on the syllabus