The following is an *approximate* week-by-week course schedule:
PLPF: Practical Foundations of Programming Languages
Week 1:
2010-09-02 (R): Introduction to FP via ATS
Week 2:
2010-09-07 (T): Introduction to Programming with Theorem-Proving
2010-09-09 (R): Mathematical Induction; More Introduction to PwTP
Reading Chapter 1 and Chapter 2 in PLPF
Week 3
2010-09-14 (T): Theorem-Proving in ATS; Structural Induction
2010-09-16 (R): Untyped Lambda-Calculus (I)
Reading Chapter 3 and 4 in TAPL
Week 4
2010-09-21 (T): Untyped Lambda-Calculus (II)
2010-09-23 (R): Untyped Lambda-Calculus (III)
Reading Chapter 5 and 6 in TAPL
Week 5
2010-09-28 (T): Untyped Lambda-Calculus (IV)
2010-09-30 (R): Simply Typed Lambda-Calculus (I)
Week 6
2010-10-05 (T): Simply Typed Lambda-Calculus (II)
2010-10-07 (R): Simply Typed Lambda-Calculus (III)
Week 7
2010-10-12 (T): No Class (Substituting Monday's Schedule)
2010-10-14 (R): Simply Typed Lambda-Calculus (IV)
Week 8
2010-10-19 (T): dependent datatypes: lists
2010-10-21 (R): dependent datatypes: Braun trees
Week 9
2010-10-26 (T): Linear views: read and write through a pointer
2010-10-28 (R): No Class
Week 10
2010-11-02 (T): Linear views: arrays and lists
2010-11-04 (R): Midterm
Week 11
2010-11-09 (T): Linear views: singly-linked lists
2010-11-11 (R): Using linear types in practice: cairo for 2D graphics
Week 12
2010-11-16 (T): System F
2010-11-18 (R): Programming in System F (I)
Week 13
2010-11-23 (T): Programming in System F (II)
2010-11-24 (R): No Class (Thanksgivings)
Week 14
2010-11-30 (T): Continuation (I)
2010-12-02 (R): Continuation (II)
Week 15
2010-12-07 (T): Recursive Sum Types; reading chapter 11, chapter 21
2010-12-09 (R): (Office hour)
------ end of [schedules.txt] ------