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 Fifteen:
12 Dec, 06 Tu: Wrap up