Syllabus

Week of
Tuesday
Thursday
Friday (section)
Jan 09
Jan 11
JavaScript and high-order functions JavaScript and high-order functions (cont)
Jan 16
Jan 18
Lambda calculus Lambda calculus (cont)
Jan 23
Jan 25
Scope, storage management, function implementation Haskell crash course Haskell crash course (cont)
Jan 30
Feb 01
Type polymorphism and type inference Type polymorphism and type inference (cont) Midterm review
Feb 06
Feb 08
Midterm Type classes
Feb 13
Feb 15
Type classes (cont) Objects
Feb 20
Feb 22
Objects (cont) vtables, subtyping, inheritance
Feb 27
Mar 01
Control flow, continuations, monads Control flow, continuations, monads (cont)
Mar 06
Mar 08
Rust crash course Concurrency (cont) Rust crash course (cont)
Mar 13
Mar 15
Concurrency (cont) Concurrency (cont)

Tenative release dates for assignments:

  • Written homeworks: Jan 17, Jan 24, Jan 31, Feb 14, Feb 20
  • Programming labs: Jan 12, Jan 26, Feb 09, Feb 23, Mar 09