The following is an approximate week-by-week course schedule: Week 1 02 Sep, 08 T: Introduction, Inductive Reasoning 04 Sep, 08 R: Introduction to ATS (I) Week 2 09 Sep, 08 T: Introduction to ATS (II) 11 Sep, 08 R: Lambda Calculus (I) Week 3 16 Sep, 08 T: Lambda Calculus (II) 18 Sep, 08 R: Lambda Calculus (III) Week 4 23 Sep, 08 T: Simple Type System (I) 25 Sep, 08 R: Simple Type System (II) Week 5 30 Sep, 08 T: Simple Type System (III) 02 Oct, 08 R: Programming with Dependent Types (I) Week 6 07 Oct, 08 T: Programming with Dependent Types (II) 09 Oct, 08 R: Programming with Dependent Types (III) Week 7 14 Oct, 08 T: No Class (Substituting Monday Schedule) 16 Oct, 08 R: Dependent Type Theory (I) Week 8 21 Oct, 08 T: No Class (Personal Emergency) 23 Oct, 08 R: Dependent Type Theory (II) Week 9 28 Oct, 08 T: The Second-Order Polymorphic Calculus 30 Oct, 08 R: Midterm Exam Week 10 04 Nov, 08 T: Programming with Linear Types (I) 06 Nov, 08 R: Programming with Linear Types (II) Week 11 11 Nov, 08 T: Holiday 13 Nov, 08 R: Programming with Linear Types (III) Week 12 18 Nov, 08 T: Programming with Linear Types (IV) 20 Nov, 08 R: Simple Linear Type Theory (I) Week 13 25 Nov, 08 T: Simple Linear Type Theory (II) 27 Nov, 08 R: Holiday Week 14 03 Dec, 08 T: An example: Views for Socket Programming 05 Dec, 08 R: Continuation (I) Week 15 10 Dec, 08 T: Continuation (II) 12 Dec, 08 R: Reducibility ------