This page lists the schedule for the course.  Note that there may be minor changes: any changes will be announced in class and posted here.
CBT is Clojure for the Brave and True.
Important: Do the readings in advance!
  
    
      | Date | Topic/Readings | 
  
  
    
      | Aug 30 | Lecture 1: Syntax, Regular Languages and Regular Expressions | 
    
      | Sep 1 | Lecture 2: Finite Automata, Lexical Analysis | 
    
      | Sep 6 | Lecture 3: Designing Finite Automata, Eliminating Nondeterminism | 
    
      | Sep 8 | Lecture 4: Context-Free Languages, Parsing, Ambiguity | 
    
      | Sep 13 | Lecture 5: Eliminating Ambiguity, Recursive Descent Parsing | 
    
      | Sep 15 | Lecture 6: Precedence Climbing, Abstract Syntax Trees | 
    
      | Sep 20 | Lecture 7: Turing Machines | 
    
      | Sep 22 | Lecture 8: Decidability and the Halting Problem | 
    
      | Sep 27 | Lecture 9: Decidability of Regular Languages | 
    
      | Sep 29 | Exam 1 (open book, open notes) | 
    
      | Oct 4 | CBT, Chapters 1–2, Lecture 10: Why Clojure? | 
    
      | Oct 6 | CBT, Chapter 3, pages 35–48, Lecture 11: Clojure Data Structures | 
    
      | Oct 11 | CBT, Chapter 3, pages 48–69, Lecture 12: Clojure functions | 
    
      | Oct 13 | CBT, Chapter 4, pages 71–84, Lecture 13: Map, filter, reduce, and higher-order functions | 
    
      | Oct 18 | Fall break, no class | 
    
      | Oct 20 | CBT, Chapter 5, Lecture 14: Recursion and iteration | 
    
      | Oct 25 | Recursion review | 
    
      | Oct 27 | Lecture 15: Prolog | 
    
      | Nov 1 | Lecture 16: More Prolog | 
    
      | Nov 3 | CBT, Chapter 7, Lecture 17: Clojure reader and evaluator | 
    
      | Nov 8 | CBT, Chapter 8, Lecture 18: More Clojure macros, Clojure review 1 | 
    
      | Nov 10 | Clojure review 2 | 
    
      | Nov 15 | Clojure review 3 | 
    
      | Nov 17 | Lecture 19: Virtual Machines | 
    
      | Nov 22 | Exam 2 | 
    
      | Nov 24 | Thanksgiving vacation, no class | 
    
      | Nov 29 | Lecture 20: Erlang | 
    
      | Dec 1 | Lecture 21: More Erlang | 
    
      | Dec 6 | Lecture 22: Concurrency in Erlang | 
    
      | Dec 8 | Lecture 23: Concurrency in Clojure | 
    
      | Dec 13 | Lecture 24: Agents in Clojure |