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 |