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 29 |
Lecture 1: Syntax, Regular Languages and Regular Expressions |
| Aug 31 |
Lecture 2: Finite Automata, Lexical Analysis |
| Sep 5 |
Lecture 3: Designing Finite Automata, Eliminating Nondeterminism |
| Sep 7 |
Lecture 4: Context-Free Languages, Parsing, Ambiguity |
| Sep 12 |
Lecture 5: Eliminating Ambiguity, Recursive Descent Parsing |
| Sep 14 |
Lecture 6: Precedence Climbing, Abstract Syntax Trees |
| Sep 19 |
Lecture 7: Turing Machines |
| Sep 21 |
Lecture 8: Decidability and the Halting Problem |
| Sep 26 |
Lecture 9: Decidability of Regular Languages |
| Sep 28 |
Exam 1 (open book, open notes) |
| Oct 3 |
CBT, Chapters 1–2, Lecture 10: Why Clojure? |
| Oct 5 |
CBT, Chapter 3, pages 35–48, Lecture 11: Clojure Data Structures |
| Oct 10 |
CBT, Chapter 3, pages 48–69, Lecture 12: Clojure functions |
| Oct 12 |
CBT, Chapter 4, pages 71–84, Lecture 13: Map, filter, reduce, and higher-order functions |
| Oct 17 |
Fall break, no class |
| Oct 19 |
CBT, Chapter 5, Lecture 14: Recursion and iteration |
| Oct 24 |
Recursion review |
| Oct 26 |
Lecture 15: Prolog |
| Oct 31 |
Lecture 16: More Prolog |
| Nov 2 |
CBT, Chapter 7, Lecture 17: Clojure reader and evaluator |
| Nov 7 |
CBT, Chapter 8, Lecture 18: More Clojure macros, Clojure review 1 |
| Nov 9 |
Clojure review 2 |
| Nov 14 |
Clojure review 3 |
| Nov 16 |
Exam 2 |
| Nov 21 |
Lecture 19: Virtual Machines |
| Nov 23 |
Thanksgiving vacation, no class |
| Nov 28 |
Lecture 20: Erlang |
| Nov 30 |
Lecture 21: More Erlang |
| Dec 5 |
Lecture 22: Concurrency in Erlang |
| Dec 7 |
Lecture 23: Concurrency in Clojure |
| Dec 12 |
Lecture 24: Agents in Clojure |