| 
            Date
           | 
          
            Topic
           | 
          
            Readings
           | 
          
            Lab
           | 
          
            Assignment due
           | 
          
            Other
           | 
        
        
          | M | 
          Apr 6 | 
          Intro to PL, intro to Racket | 
           | 
           | 
           | 
           | 
        
        
          | W | 
          8 | 
          intro, design recipe intro, structs 1, structs 2 | 
          
            PLAI Chs. 1,2
           | 
           | 
           | 
           | 
        
        
          | F | 
          10 | 
          QUIZ, Lists in Racket & Typed Racket | 
           | 
          
            Lab 1
           | 
           | 
           | 
        
        
          | M | 
          13 | 
          intro, lists 2, lists 3, list functions, quote | 
          
            PLAI Ch. 3
           | 
           | 
           | 
           | 
        
        
          | W | 
          15 | 
          QUIZ, interp and parse for a little language | 
           | 
           | 
           | 
           | 
        
        
          | Th | 
          16 | 
           | 
           | 
           | 
          
            Assignment 1 due
           | 
           | 
        
        
          | F | 
          17 | 
          interp and parse for a string language, desugaring | 
          
            PLAI Ch. 4
           | 
          
            Lab 2
           | 
           | 
           | 
        
        
          | M | 
          20 | 
          Variables, Function calls, scoping | 
          
            PLAI Ch. 5
           | 
           | 
           | 
           | 
        
        
          | W | 
          22 | 
          QUIZ, Map, Filter, Fold, For | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          24 | 
          Environments, Scope | 
          
            PLAI Ch. 6
           | 
          
            Lab 3
           | 
           | 
           | 
        
        
          | M | 
          27 | 
          Higher-order Functions | 
          
            PLAI Ch.7
           | 
           | 
           | 
           | 
        
        
          | W | 
          29 | 
          QUIZ, Closures | 
           | 
           | 
          
            Assignment 2 due
           | 
           | 
        
        
          | F | 
          May 1 | 
          Desugaring of 'vars' | 
           | 
          
            Lab 4
           | 
           | 
           | 
        
        
          | M | 
          4 | 
          sim-AQSE3, recursion using self-reference | 
           | 
           | 
           | 
           | 
        
        
          | W | 
          6 | 
          QUIZ, Exercises using sim-AQSE3 | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          8 | 
          Exercises using vars | 
           | 
          
            Lab 5
           | 
           | 
           | 
        
        
          | M | 
          11 | 
          Questions about Environments | 
          PLAI Ch. 10 | 
           | 
           | 
           | 
        
        
          | W | 
          13 | 
          MIDTERM | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          15 | 
          State and Mutation I | 
           | 
           | 
          
            Assignment 3 due
           | 
           | 
        
        
          | M | 
          18 | 
          State and Mutation II | 
          PLAI Ch. 8-8.1.5 | 
           | 
           | 
           | 
        
        
          | W | 
          20 | 
          Type Checking I | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          22 | 
          Type Checking II, simply-typed lambda calculus | 
          PLAI Ch. 15-15.2.3 | 
          
            Lab 6
           | 
           | 
           | 
        
        
          | M | 
          25 | 
          Memorial Day? | 
           | 
           | 
           | 
           | 
        
        
          | W | 
          27 | 
          Types Checking III | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          29 | 
          Proofs of correctness, Memory Management | 
           | 
           | 
          
            Assignment 4 due
           | 
           | 
        
        
          | M | 
          Jun 1 | 
          TBA | 
           | 
           | 
           | 
           | 
        
        
          | W | 
          3 | 
          Course Review | 
           | 
           | 
           | 
           | 
        
        
          | F | 
          5 | 
          Team Presentations | 
           | 
           | 
          
            Assignment 5 due
           | 
           |