Note 1: you may do the readings from either or both of The Little Schemer and How to Design Programs (HTDP). Use whichever book you prefer. We will follow the HTDP style more closely in class, but some students find the question-answer style of The Little Schemer to be helpful in learning the material.
Note 2: The "Extra Exercises" column provides additional practice exercises that you can try. These will not be graded, and are separate from the homework assignments. You are always welcome to bring questions on these practice problems to office hours. We strongly recommend that you try some of these exercises as you will need to be comfortable programming in Scheme by the third week of the course!
Functional Programming |
Language Modeling and Interpreters |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
9/18 | Language Modeling; Arithmetic Interpreters | Little Schemer: Chapter 6 HTDP Chapter ?? |
|||
9/20 | Interpreters 2 | HTDP Chapter ?? |
Homework 3 |
||
9/21 | Interpreters 3 | Eval/Curly Data Defn FAQ |
|||
9/22 | [Saturday -- due date only] | Project, Part 1 |
|||
9/24 | Midterm exam -- In class | ||||
9/25 | Interpreters with Delayed Substitution | Notes on delayed substitution The Revised Interpreter |
Web Programming and Compilers |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
9/27 | The Nature of Web Programming | Homework 4 |
Notes on Web Programs |
||
9/28 | Introduction to Continuation-Passing Style | see the notes |
Notes on Tail Calls |
||
10/1 | More on Continuation-Passing Style | CPS examples |
|||
10/2 | A Continuation-Passing Style Compiler | CPS compiler |
|||
10/4 | A CPS Compiler: number?, var?, and plus? | Homework 5 |
CPS compiler |
||
10/5 | A CPS Compiler: proc? and apply? | CPS compiler |
State and Objects |
Date | Lecture Topic | Readings | Extra Exercises | Due | Notes |
---|---|---|---|---|---|
10/8 | Set! and Local | notes |
|||
10/9 | Objects | notes |
|||
10/11 | Inheritence | Homework 6 |
notes on inheritence |
||
10/12 | Functional and Object-Oriented Programming | notes |
|||
10/15 | Web Cookies | notes |
|||
10/16 | Implementing Set!: Environments versus Stores | Homework 7 |
Implementing set! with environments Threading environments |
||
10/18 | Final exam -- In class |
A MzScheme script generated this page on Wed Oct 17 13:48:39 EDT 2001. |