| Date | Topic and Materials |
| 09/01/15 | Introduction: slides (pdf), code (zip) |
| 09/03/15 | Ruby 1: slides (pdf), code
(zip) (Read more: Discussion of Ruby top-level) |
| 09/04/15 | discussion_exercises, exercise_solution |
| 09/08/15 | Ruby 2: (same slides as above) code (zip) |
| 09/10/15 | Ruby Regexp: slides (pdf), code (zip) |
| 09/11/15 | discussion_exercise, exercise_solution |
| 09/15/15 | Ruby 3: slides (pdf), code (zip) |
| 09/17/15 | OCaml Basics: slides (pdf) updated 9/22, code (zip) |
| 09/19/15 | Quiz 1 (Ruby) |
| 09/22/15 | OCaml Functions: slides (pdf), code (zip) |
| 09/24/15 | OCaml Data: slides (pdf), code (zip) Lecture examples |
| 09/29/15 | OCaml Data, cont'd |
| 10/01/15 | Objects and FP: slides (pdf), code (zip) |
| 10/06/15 | Types and Bindings: slides (pdf) |
| 10/13/15 | Regexps and Finite Automata: slides (pdf), code (zip) |
| 10/15/15 | NFA, DFA: slides (pdf) example (pdf) |
| 10/20/15 | CFGs: slides (pdf) |
| 10/22/15 | Parsing: slides (pdf), code (zip) |
| 10/27/15 | Operational Semantics: slides (pdf) |
| 10/29/15 | Lambda Calculus: slides (pdf), code (zip) |
| 11/3/15 | Lambda Calculus, cont'd |
| 11/05/15 | Polymorphism: slides (pdf), code (zip) |
| 11/10/15 | Prolog1: slides (pdf), code (zip) |
| 11/19/15 | Prolog2: slides (pdf), code (zip) code (zip) |
| 11/24/15 | Parameter Passing: slides (pdf) |
| 11/24/15 | Memory Management: slides (pdf) |
| 12/01/15 | Input Validation: slides (pdf) |
| 12/03/15 | Secure Design: slides (pdf) |
| 12/05/15 | History of PL: slides (pdf) |