Course Title: Concepts of Programming Languages Course Number: BU CAS CS 320 Semester: Fall 2006 Instructor: Hongwei Xi (hwxi AT cs DOT bu DOT edu) Teaching Fellow: Likai Liu (liulk AT cs DOT bu DOT edu) ------ The following is an *approximate* week-by-week course schedule: Week One 05 Sep, 06 Tu: Introduction to Functional Programming 07 Sep, 06 Th: Mathematical Induction Week Two 12 Sep, 06 Tu: Names, Functions and Types (I) 14 Sep, 06 Th: Names, Functions and Types (II) Week Three 19 Sep, 06 Tu: Lists (I) 21 Sep, 06 Th: Lists (II) Week Four 26 Sep, 06 Tu: Trees and Concrete Data (I) 28 Sep, 06 Th: Trees and Concrete Data (II) Week Five 03 Oct, 06 Tu: Trees and Concrete Data (III) 05 Oct, 06 Th: Trees and Concrete Data (IV) Week Six 10 Oct, 06 Tu: (No Class) 12 Oct, 06 Th: Functions and Infinite Data (I) Week Seven 17 Oct, 06 Tu: Functions and Infinite Data (II) 19 Oct, 06 Th: Midterm I Week Eight 24 Oct, 06 Tu: Functions and Infinite Data (III) 26 Oct, 06 Th: Imperative Programming in ML (I) Week Nine 31 Oct, 06 Tu: Imperative Programming in ML (II) 02 Nov, 06 Th: Imperative Programming in ML (III) Week Ten 07 Nov, 06 Tu: Reasoning About Functional Programs 09 Nov, 06 Th: Abstract Types and Functors (I) Week Eleven 14 Nov, 06 Tu: Midterm II 16 Nov, 06 Th: Abstract Types and Functors (II) Week Twelve 21 Nov, 06 Tu: A simple type system (I) 23 Nov, 06 Th: (No Class) Week Thirteen 28 Nov, 06 Tu: A simply type system (II) 30 Nov, 06 Th: A simply type system (III) Week Fourteen 05 Dec, 06 Tu: Writing an Interpreter for lambda-calculus (I) 07 Dec, 06 Th: Writing an Interpreter for lambda-calculus (II) Week Fiftenn: 12 Dec, 06 Tu: Wrap up