Week | Instructor | Monday | Wednesday | Friday |
Aug 23 | Ou | Introduction (Slides) Chapter 1: Grammar and operator tree (Slides) |
No class | Grammar and operator tree (cont'd) |
Aug 30 | Ou | Grammar and operator tree (cont'd) Assignment 1 Due: Sept. 7 |
Chapter 2, Part 1: interpreter for a C-like language (Slides) | No class |
Sept 6 | Ou | Labor Day, No Class. | Interpreter for a C-like language (cont'd) | Interpreter for a C-like language (cont'd) |
Sept 13 | Ou |
Assignment 2 Due: Sept. 20 Chapter 2, Part 2: interpreter for an object-oriented language (Slides) |
Interpreter for an object-oriented language (cont'd) | Interpreter for an object-oriented language (cont'd) |
Sept 20 | Ou | Chapter 5, Abstraction, parameterization, and qualification (Slides) | Chapter 5, Abstraction, parameterization, and qualification (cont'd) | Wrap-up on Chapter 5. |
Sept 27 | Ou | Chapter 6, From an assignment core to Java, Part 1. (Slides) | Chapter 6, From an assignment core to Java, Part 2. (Slides) | Wrap up the imperative paradigm. Assignment 3 Due: Oct. 8 |
Oct 4 | Amtoft | Introduction to ML: Chapter 1; Section 2.1 (Slides) | Types, Variables, Tuples: Sections 2.2-2.4.2 (Slides) | Lists: Section 2.4 (Slides); Functions: Section 3.1 (Slides) |
Oct 11 | Amtoft | Higher-order Functions, Currying, Polymorphism: selected parts of Sections 5.3-5.6 (Slides) | Recursive Functions on Inductively Defined Structures: Sections 3.3 and 5.1 (Slides) | Assignment 4 Due: Oct. 22 Map, Filter, and Fold: Sections 5.4&5.6 (Slides) |
Oct 18 | Amtoft | Foldr and Foldl
(Slides).
Discuss Assignment 4. |
Lists for representing Sets and Association tables, cf. Section 5.3.4 (Slides). | No class. Assignment 4 due. |
Oct 25 | Amtoft | Tail Recursion: Sections 3.2 and 3.5 (Slides). |
Finish Tail Recursion
(Slides). Discuss Assignment 4 solutions. |
Continue Assignment 4 solutions. Datatypes: Sections 6.1-2 (Slides). |
Nov 1 | Amtoft | Assignment 5 Due: Nov. 13 Patterns and Local Definitions: Section 3.4 (Slides). Functions on Trees: Sections 6.3-4 (Slides). | Finish Function on Trees
(Slides). Exceptions: Section 5.2 (Slides). Start going through parser for Assignment 5. | Discuss the parser for Assignment 5, cf. Section 5.7. |
Nov 8 | Amtoft | Dissuss upcoming Assignment 5 (revised) | Solve "giving change" using exceptions
(Slides). | Lazy Evaluation (Slides). |
Nov 15 | Amtoft | Finish Lazy Evaluation
(Slides). Discuss Assignment 5 solutions. |
Implement various sorting algorithms
(Code). Assignment 6 Due: Dec. 3 | Manipulate and generate trees
(Code). Discuss Assignment 6 |
Nov 29 | Ou | Introduction to the logic paradigm. Slides. | No class | Prolog cont'd Slides. |
Dec 6 | Ou |
Side effect in Prolog. Slides. Assignment 7 Due: Dec. 15 |
Q/A session (in Simon's office) | Mozart playing Oz, guest lecture by Waclaw Kusnierczyk Slides. |