Course Title: Concepts of Programming Languages Course Number: BU CAS CS 320 Semester: Fall 2004 Instructor: Hongwei Xi (hwxi AT cs DOT bu DOT edu) ------ The following is a *rough* week-by-week course schedule: Week One 07 Sep, 04 Tu: Introduction 09 Sep, 04 Th: Primitive Expressions, Conditionals Week Two 14 Sep, 04 Tu: Recursion; Tail-recursion = Iteration 16 Sep, 04 Th: Time complexity, Space complexity Week Three 21 Sep, 04 Tu: Exponetiation, Primality test based on Fermat's Little Theorem 23 Sep, 04 Th: Higher-order procedures Week Four 28 Sep, 04 Tu: Higher-order procedures, Continuation 30 Sep, 04 Th: Data Abstraction, Recursion on Lists Week Five 05 Oct, 04 Tu: Recursion on Lists, Symbolic Data 07 Oct, 04 Th: Huffman Encoding Trees, Multiple Representation for Abstract Data Week Six 12 Oct, 04 Tu: Data-Directed Programming and Additivity 14 Oct, 04 Th: Assignment and Local State Week Seven 19 Oct, 04 Tu: Benefits and Costs of Introducing Assignment 21 Oct, 04 Th: The Environment Model of Evaluation Week Eight 26 Oct, 04 Tu: Modeling with Mutable Data 28 Oct, 04 Th: in-class midterm exam Week Nine 02 Nov, 04 Tu: Programming with Streams 04 Nov, 04 Th: Concurrency: Time is of the Essence Week Ten 09 Nov, 04 Tu: Simple Type Theory (I) 11 Nov, 04 Th: Holiday Week Eleven 16 Nov, 04 Tu: Simple Type Theory (II) 18 Nov, 04 Th: Simple Type Theory (III) Week Twelve 23 Nov, 04 Tu: A Quick Overview of SML (I) 25 Nov, 04 Th: Holiday Week Thirteen 30 Nov, 04 Tu: A Quick Overview of SML (II) 02 Dec, 04 Th: A Simple Evaluator for Lambda-Calculus Week Fourteen 07 Dec, 04 Tu: Structures and Functors 09 Dec, 04 Th: final review