What's New?
Here is a zip file containing the starter code you need to write lexical-address. If you would rather code in Dr. Racket than on paper, download it and give it a try.
Schedule
Week | Date | Unit | Topic | Notes & Code | Assignments | |
---|---|---|---|---|---|---|
1 | Tue, 01/16 | A Gentle Introduction to the Study of Languages | 01 notes | Homework 0 | ||
Thu, 01/18 | An Introduction to Racket | Learning a New Language: Racket | 02 notes & code | Homework 1 | ||
2 | Tue, 01/23 | & Functional Programming | More Primitive Racket | 03 notes & code | Homework 2 | |
Thu, 01/25 | Racket Data Structures | 04 notes & code | ||||
3 | Tue, 01/30 | Racket Functions | 05 notes & code | Homework 3 | ||
Thu, 02/01 | Higher-Order Functions | 06 notes & code | ||||
4 | Tue, 02/06 | Thinking Functionally | 07 notes & code | |||
Thu, 02/08 | Inductive Specifications | Inductive Definitions of Data | 08 notes | Quiz 1 | ||
5 | Tue, 02/13 | & Recursive Programs | Defining Recursive Programs | 09 notes & code | Homework 4 | |
Thu, 02/15 | Recursive Programming Techniques | 10 notes & code | ||||
6 | Tue, 02/20 | Recursive Programs and Loops | 11 notes & code | Homework 5 | ||
Thu, 02/22 | Recursive Programs and Programming Languages | 12 notes & code | ||||
7 | Tue, 02/27 | An Application of Recursion: Variable Binding | 13 notes & code | Homework 6 | ||
Thu, 02/29 | An Application of Recursion: A Small Interpreter | 14 notes & code | ||||
8 | Tue, 03/05 | Recursive Programming Review | 15 notes & code | |||
Thu, 03/07 | Syntactic Abstraction | Syntactic Abstraction | 16 notes & code | Quiz 2 | ||
. | Tue, 03/12 | SPRING BREAK | ||||
Thu, 03/14 | ||||||
9 | Tue, 03/19 | Local Variables as Syntactic Abstraction | 17 notes & code | Homework 7 | ||
Thu, 03/21 | off day | |||||
10 | Tue, 03/26 | Variable Reference and Scope | 18 notes & code | Homework 8 | ||
Thu, 03/28 | Lexical Addresses | 19 notes & code | ||||
11 | Tue, 04/02 | Lexical Addresses, Part 2 | 20 notes & code | |||
Thu, 04/04 | Data Abstraction | Data Abstraction and Variety | 22 notes & code | Quiz 3 | ||
12 | Tue, 04/09 | The Finite Function ADT | 23 notes & code | Homework 9 | ||
Thu, 04/11 | Programs with State | 24 notes & code | ||||
13 | Tue, 04/16 | Objects as Closures | 25 notes & code | Code review | ||
Thu, 04/18 | Building a Language Interpreter | 26 notes & code | Homework 10 | |||
14 | Tue, 04/23 | Creating New Syntax | 21 notes & code | |||
Thu, 04/25 | Bringing It All Together | Optimization in a Simple Interpreter | 28 notes & code | Homework 11 | ||
15 | Tue, 04/30 | The Next Big Thing? | 29 notes & code | |||
Thu, 05/02 | Back to the Future | 30 notes & code | ||||
F | Thu, 05/09 | 1:00 - 2:50 p.m. | Final Exam |