Date | Assignment | Reading | Topic |
---|---|---|---|
Jan 23 | Administrivia; Turing machines | ||
Jan 25 | HW1 | Sebesta 1; Graham | What's a “good” or “bad” programming language? |
Jan 27 | Review proj1 | Review Project 1 interpreter | |
Jan 30 | PLAI chap. 4 | Implementing functions | |
Feb 01 | HW1 due; HW2 | PLAI chap. 5 | Deferred substitution and environments |
Feb 03 | Sebesta 5.1-4 | Names and variables | |
Feb 06 | Last day to add classes | ||
Feb 06 | Sebesta 5.5-8 | Bindings and scope | |
Feb 08 | Forget Scheme: let's try the project in Java | ||
Feb 10 | Continue porting ae.rkt to Java |
||
Feb 13 | That was a pain: let's go back to homework 2 in Scheme | ||
Feb 15 | Work on homework 2 as a group | ||
Feb 17 | Work on homework 2 as a group | ||
Feb 20 | HW2 due; HW3 | PLAI chap. 6 | Discuss homework 3; first-class functions |
Feb 21 | Last day to drop classes | ||
Feb 22 | PLAI chap. 6 | Discuss homework 3; first-class functions | |
Feb 24 | PLAI chap. 6 | Discuss homework 3; first-class functions | |
Feb 27 | HW4 | LYAH 1-2 | Haskell introduction, ranges, comprehensions |
Feb 29 | Practice with Haskell | ||
Mar 02 | I'm away at a conference; no class | ||
Mar 05 | LYAH 3 | Haskell: types | |
Mar 07 | LYAH 4 | Haskell: patterns, when & let | |
Mar 09 | LYAH 5-6 | Haskell: recursion and higher-order functions | |
3/12-3/16 | Spring break | ||
Mar 19 | Haskell: memoization (Fibonacci) | ||
Mar 21 | LYAH 7-8 | Haskell: user-defined types | |
Mar 23 | discuss homeworks 3-4 | ||
Mar 26 | HW3 due; HW5 | PLAI chaps. 12-13 | Mutable data structures |
Mar 27 | Last day to withdraw from classes | ||
Mar 28 | PLAI chaps. 12-13 | Implementation | |
Mar 30 | HW4 due | PLAI chap. 14 | Assignable variables |
Apr 02 | Implementation | ||
Apr 04 | PLAI chaps. 15-16 | Challenges of Web programming; continuations | |
Apr 06 | HW5 due; HW6 | “Continue” 1-6 | Web programming the Racket way |
Apr 09 | Work on homework 6 | ||
Apr 11 | Sebesta 3.1-3 | Specifying syntax | |
Apr 13 | Sebesta 3.4-5 | Adding semantics to syntax | |
Apr 16 | Research day: no classes | ||
Apr 18 | HW6 due; HW7 | Sebesta 4.1-2 | Lexical Scanning |
Apr 20 | Flex documentation (On Unix, type "info flex"; or see the O'Reilly Book online) |
Scanning, not by hand | |
Apr 23 | Sebesta 4.3-4.5 | Hierarchical Parsing | |
Apr 25 | Yacc documentation (On Unix, type "info yacc" or "info bison"; or see the O'Reilly Book online) |
Parsing, not by hand | |
Apr 27 | catch up and review | ||
Apr 30 | HW7 due; HW8 | The C preprocessor and C macros | |
May 02 | Racket Guide to Macros | Macros in a no-syntax language | |
May 04 | Hygienic macros | ||
May 07 | Replacing patterns with macros | ||
May 08 | HW8 due | make-up for Mar 2; catch up and review | |
May 16 | 272 final exam, 10:30 AM-12:30 PM |