λ CS 251 : Principles of Programming Languages .

Staff / Hours

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

Tutor:
MR Ngo: drop-ins Wed. 7-9pm in micro-focus

Schedule (jump to now)

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

TueWedFri
30 August 31 August 02 September
06 September
  • administrivia (see syllabus)
  • finish big ideas (slides [1 up] [4 up], notes)
  • App Inventor example
  • introductory interactive session with Racket
  • motivation for studying computability in a PL context
07 September
  • start computability, the halting problem, and program analysis (slides [4 up], notes)
09 September
  • finish computability, the halting problem, and program analysis (slides [4 up], notes)
  • start Racket expressions and declarations (slides [4 up])
  • PS1 Problems 1-3 & 5 due today (grace period until Sat@6pm); PS1 Problem 4 due Mon evening.
  • Assign: Antics with Semantics
13 September
  • finish Racket expressions and declarations (slides [4 up])
14 September
  • No quiz today
  • start Racket functions (slides [4 up])
16 September
  • finish Racket functions (slides [4 up])
  • start Racket list processing (slides [4 up])
  • P1 solution hardcopies handed out
  • PS2 due (except Problem 5, due on Mon. Sep. 20)
  • PS3 posted Mon. Sep. 19, due Wed. Sep 28
  • Assign: Racket List Recursion
20 September
  • Racket pairs, lists, and list recursion (slides [4 up])
21 September 23 September
  • Defining `snoc`, `my-append`, `append-all`, and `my-reverse` with divide/conquer/glue [Solutions]
  • Local Binding with `let` (slides [4 up])
27 September
  • Continue first-class functions in Racket
28 September
  • No quiz today
  • Compositional programming
  • PS3 due
  • PS4 out (due Thu. Oct 6; first-class functions and higher-order list operations)
30 September Inauguration
  • No class
04 October
  • Start iteration via tail recursion
05 October
  • Quiz planned for today!
  • Finish iteration via tail recursion
  • PS4 due tomorrow (Thu. Oct 6)
  • PS5 out (Due Mon Oct. 17)
07 October
  • S-expressions; Tree manipulation in Racket
11 October Fall Break
  • No class
12 October
  • No quiz today
  • Begin Postfix interpreter in Racket
14 October
  • Finish Postfix interpreter in Racket
  • PS5 due Mon. Oct. 17
18 October
  • PS5 due yesterday (Mon. Oct. 17)
  • PS6 out (due Fri Oct 28)
  • Begin introduction to Standard ML
19 October
  • Quiz planned for today!
  • Finish introduction to Standard ML
  • Start lists in Standard ML
21 October
  • Finish lists in Standard ML
25 October
  • Start sum-of-product dataypes in Standard ML
26 October
  • Quiz planned for today!
  • Finish sum-of-product dataypes in Standard ML
  • Start modules and ADTs
28 October
  • Finish modules and ADTs
  • PS6 due today
  • PS7 out today (due Fri. Nov 4)

Long-term schedule on the syllabus