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 |