| Date | Cliff | Dr. Mamat | ||||
|---|---|---|---|---|---|---|
| 26 Aug, 2024 | Intro | Slides: Intro | ||||
| Notes | Notes: Notes | |||||
| 27 Aug, 2024 | Intro | Slides: Link Notes: Link |
||||
| 28 Aug, 2024 | OCamls Basics | Slides: OCamls Basics | ||||
| OCaml Lists | Slides: OCaml Lists | |||||
| Notes | Notes: Notes | |||||
| 29 Aug, 2024 | ocaml | Slides: Link Notes: Link |
||||
| 4 Sep, 2024 | Lets, Tuples, Records | Slides: Lets, Tuples, Records | ||||
| Notes | Notes: Notes | |||||
| 5 Sep, 2024 | Functions | Slides: Link Notes: Link |
||||
| 9 Sep, 2024 | Higher Order Functions | Slides: Higher Order Functions | ||||
| Notes | Notes: Notes | |||||
| Map & Fold | Slides: Map & Fold | |||||
| Notes | Notes: Notes | |||||
| 11 Sep, 2024 | Tail Recursion | Slides: Tail Recursion | ||||
| Notes | Notes: Notes | |||||
| Data Types | Slides: Data Types | |||||
| Notes | Notes: Notes | |||||
| 12 Sep, 2024 | PBT | Slides: Link Notes: Link |
||||
| Jose PBT | Notes: Link | |||||
| Imperative OCaml | Slides: Link | |||||
| 16 Sep, 2024 | Closures | Slides: Closures | ||||
| Notes | Notes: Notes | |||||
| Imperative OCaml | Slides: Imperative OCaml | |||||
| Notes | Notes: Notes | |||||
| 17 Sep, 2024 | Regular Expressions | Slides: Link Notes: Link |
||||
| 18 Sep, 2024 | Property-Based Random Testing | Slides: Property-Based Random Testing | ||||
| Notes | Notes: Notes | |||||
| 19 Sep, 2024 | Finite State Machines | Slides: Link Notes: Link |
||||
| 23 Sep, 2024 | Regular Expressions | Slides: Regular Expressions | ||||
| Finite Automata | Slides: Finite Automata | |||||
| 24 Sep, 2024 | NFA and DFA | Slides: Link | ||||
| 30 Sep, 2024 | Finite Automata NFAs and DFAs | Slides: Finite Automata NFAs and DFAs | ||||
| Reducing NFA to DFA | Slides: Reducing NFA to DFA | |||||
| NFA to DFA Conversion Examples | Notes: NFA to DFA Conversion Examples | |||||
| 1 Oct, 2024 | Grammars | Slides: Link Notes: Link |
||||
| 2 Oct, 2024 | Context Free Grammars | Slides: Context Free Grammars | ||||
| 9 Oct, 2024 | Parsing | Slides: Parsing | ||||
| Parser Examples | Notes: Parser Examples | |||||
| 10 Oct, 2024 | Lexing and Parsing | Slides: Link Notes: Link |
||||
| 14 Oct, 2024 | Operational Semantics | Slides: Operational Semantics | ||||
| Notes | Notes: Notes | |||||
| Interpreter Example 1 | Notes: Interpreter Example 1 | |||||
| Interpreter Example 2 | Notes: Interpreter Example 2 | |||||
| 15 Oct, 2024 | Opsem | Slides: Link Notes: Link |
Interpreter posted to github | |||
| 16 Oct, 2024 | Type Checking | Slides: Type Checking | ||||
| 17 Oct, 2024 | Typing | Slides: Link Notes: Link |
Thanks to Maya for helping with type inference | |||
| 21 Oct, 2024 | Subtyping | Slides: Subtyping | ||||
| OCaml Modules | Slides: OCaml Modules | |||||
| Subtyping | Notes: Notes | |||||
| OCaml Modules Notes | Notes: Notes | |||||
| OCaml Modules Examples | Notes: OCaml Modules Examples | |||||
| 23 Oct, 2024 | Lambda Calculus Basics | Slides: Lambda Calculus Basics | ||||
| Lambda Calculus Notes | Notes: Lambda Calculus Notes | |||||
| 24 Oct, 2024 | Lambda Calculus | Slides: Link Notes: Link |
||||
| Alan Lambda Lecture Notes | Notes: Link | |||||
| 28 Oct, 2024 | Lambda Calculus Encodings | Slides: Lambda Calculus Encodings | ||||
| Lambda Calculus Code | Notes: Lambda Calculus Code | |||||
| 30 Oct, 2024 | Memory Management and Garbage Collection | Slides: Memory Management and Garbage Collection | ||||
| 31 Oct, 2024 | Garbage Collection | Slides: Arwen's Slides Notes: Cliff Notes |
||||
| 4 Nov, 2024 | Rust Intro | Slides: Rust Intro | ||||
| Ownership | Slides: Ownership | |||||
| Notes | Notes: Notes | |||||
| 5 Nov, 2024 | Rust | Slides: Video on ELMS/Panopto Notes: Link |
Chapter 3 of https://doc.rust-lang.org/book/ | |||
| 11 Nov, 2024 | Collections | Slides: Collections | ||||
| 12 Nov, 2024 | Rust Ownership and References | Slides: Link | Chp 4: https://doc.rust-lang.org/book/ | |||
| 13 Nov, 2024 | Structs and Enums | Slides: Structs and Enums | ||||
| Traits | Slides: Traits | |||||
| Examples | Notes: Examples | |||||
| 14 Nov, 2024 | Rust Structs and Enums | Slides: Link | Chp 5,6,8: https://doc.rust-lang.org/book/ | |||
| 18 Nov, 2024 | Closures & Iterators | Slides: Closures & Iterators | ||||
| Examples | Notes: Examples | |||||
| 19 Nov, 2024 | Lifetimes | Notes: chapter 10 and the following link | https://doc.rust-lang.org/nomicon/lifetime-elision | |||
| 20 Nov, 2024 | Box Smart Pointer, Trait Objects | Slides: Box Smart Pointer, Trait Objects | ||||
| Reference Counting and Interior Mutability | Slides: Reference Counting and Interior Mutability | |||||
| Examples | Notes: Examples | |||||
| 21 Nov, 2024 | Smart Pointers | Notes: Chapter 15 | Chp 15: https://doc.rust-lang.org/book/ | |||
| 2 Dec, 2024 | Software Security | Slides: Software Security | ||||
| 3 Dec, 2024 | Security | Slides: Link | ||||
| 4 Dec, 2024 | History | Slides: History | ||||