| Date |
Topic and Materials |
| 05/28 |
Introduction (pdf) Ruby 1 (pdf) |
| 05/29 |
Ruby 2 (pdf) Lecture notes and Examples ( github) |
| 05/31 |
Regular Expressions (pdf) Lecture notes and Examples ( github) Regex Cheat Sheet |
| 06/03 |
Code blocks (pdf) Mixins(pdf) Lecture notes and Examples ( github) |
| 06/05 |
OCaml Introduction(pdf) Functions(pdf) Working with OCaml(pdf)
Lecture notes and Examples ( github) |
| 06/07 |
Ocaml Lists and Recursive Functions (pdf) Lecture notes and Examples ( github) |
| 06/10 |
Lets, Tuples, Records (slides) Higher order functions (slides) Lecture notes and Examples ( github) |
| 06/12 |
Higher order functions (slides) Tail Recursion(slides) |
06/14 |
Data types (slides) |
| 06/17 |
Closures (slides) |
| 06/19 |
Imperative (slides) Modules(slides) |
| 06/21 |
Finite Automata(slides) |
| 06/24 |
DFA, NFA(slides) |
| 06/26 |
DFA, NFA, CFG(slides) |
| 06/28 |
Midterm |
| 07/01 |
CFG(slides) Parsing (slides) |
| 07/03 |
Operational Semantics (slides) Code example (github) |
| 07/08 |
Lambda Calculus Basics(slides) |
| 07/10 |
Church Encodings(slides) |
| 07/12 |
Rust Introduction(slides) Ownership(slides) |
| 07/15 |
Collections (slides) Traits (slides) Structs and Enums(slides) Smart Pointers (slides) |
| 07/17 |
Software Security(slides) |
| 07/19 |
Final |