Tentative schedule
Date | Topic | Readings | Homework (out) | Homework (due) |
9/5 | Overview of the course and Intro to ML (1) | chapter 1, steele_oopsla98* | ||
9/10 | Intro to ML (2) | |||
9/12 | Intro to ML (3) | Hw1 | ||
9/17 | Lecture cancelled | |||
9/19 | Syntax and Parsing (1) | chapter 2: 2.1 | ||
9/24 | Syntax and Parsing (2) | chaper 2: 2.2.1-3, 2.2.5-6 | ||
9/26 | Syntax and Parsing (3) | chapter 2: 2.3, 2.4 | ||
10/1 | Names and scoping (1) | chapter 3: 3.1, 3.3.1-2 | Hw2 | Hw1 |
10/3 | Names and scoping (2) | |||
10/8 | Control flow (1) | chapter 6:6.1, 6.2 | ||
10/10 | Control flow (2) | chapter 6: 6.3-8 | ||
10/15 | Subroutines and Control abstraction (1) | chapter 3: 3.2.1; chapter 8: 8.1-2 | Hw3 | Hw2 |
10/17 | Subroutines and Control abstraction (2) | chapter 3: 3.4 | ||
10/22 | Subroutines and Control abstraction (3) | chapter 8.3 | Hw3 | |
Garbage collection | chapter 3: 3.2.2-3; chapter 7: 7.7.3 | |||
10/29 | Midterm | |||
10/31 | Data types | chapter 7: 7.1, 7.2.1-4 | ||
11/5 | Election Day (No lecture) | |||
11/7 | Data abstraction and Object-Oriented Programming Languages (1) | chapter 10: 10.1-2 | ||
11/12 | Object-Oriented Programming Languages (2) | chapter 10: 10.3 | Hw4 | |
11/14 | Object-Oriented Programming Languages (3) | chapter 10: 10.4, Type systems a b | ||
11/19 | Functional Programming (1) | chapter 11: 11.1-2 why functional programming? * | ||
11/21 | Functional Programming (2) | Hw5 | Hw4 | |
11/26 | Functional Programming (3) | lambda calculus | ||
11/28 | Thanksgiving holiday ( No lecture) | |||
12/3 | Logic Programming (1) | chapter 11: 11.3 | HW5 | |
12/5 | Logic Programming (2) | |||
12/10 | Special Review Session | |||
12/17 | Final exam |