CSC 272 Spring 2012 Calendar

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