| Date | Cliff | Dr. Mamat | ||||
|---|---|---|---|---|---|---|
| 25 Jan, 2024 | Intro | Slides: Link Notes: Link |
PL Intro | Slides: Intro | ||
| Examples and Notes | Notes: Link | |||||
| 30 Jan, 2024 | Ocaml Intro | Slides: Link Notes: Link |
OCamls Basics | Slides: Link | ||
| 1 Feb, 2024 | OCaml Lists | Slides: OCaml Lists | ||||
| Notes | Notes: Notes | |||||
| 6 Feb, 2024 | Functions | Slides: Link Notes: Link |
Lets, Tuples, and Records | Slides: Lets, Tuples, and Records | ||
| Higher Order Functions | Slides: Higher Order Functions | |||||
| Notes | Notes: Notes | |||||
| 8 Feb, 2024 | Map and Fold | Slides: Map and Fold | ||||
| Tail Recursion | Slides: Tail Recursion | |||||
| Notes | Notes: Notes | |||||
| 13 Feb, 2024 | Data Types | Slides: Data Types | ||||
| Closures | Slides: Closures | |||||
| Notes | Notes: Notes | |||||
| Closure notes | Notes: Closure Notes | |||||
| 15 Feb, 2024 | Imperative OCaml | Slides: Link | See Dr. Mamat's Slides | Imperative OCaml | Slides: Imperative OCaml | |
| Imperative OCaml Notes | Notes: Imperative OCaml Notes | |||||
| 20 Feb, 2024 | Regular Expressions | Slides: Link Notes: Link |
Regular Expressions | Slides: Regular Expressions | ||
| 22 Feb, 2024 | FSM | Slides: Link Notes: Link |
Finite Automata | Slides: Finite Automata | ||
| Finite Automata Handout | Slides: Finite Automata Handout | |||||
| 27 Feb, 2024 | NFA to DFA | Slides: Link | NFAs and DFAs Handout | Slides: NFAs and DFAs Handout | ||
| NFAs and DFAs | Slides: NFAs and DFAs | |||||
| 29 Feb, 2024 | NFAs and DFAs cont. | Slides: NFAs and DFAs cont. | ||||
| NFA to DFA Conversion Examples | Notes: NFA to DFA Conversion Examples | |||||
| 5 Mar, 2024 | Midterm 1 | |||||
| 7 Mar, 2024 | Grammars | Slides: Link Notes: Link |
Context Free Grammars | Slides: Context Free Grammars | ||
| 12 Mar, 2024 | Interpreters | Slides: Link Notes: Link |
Parsing 1 | Slides: Parsing 1 | ||
| 14 Mar, 2024 | Parser example (old youtube video) | Slides: Parser example (Old youtube video) | ||||
| Parser code (GitHub) | Notes: Parser code (GitHub) | |||||
| Parser example (video) | Slides: Parser example (video) | |||||
| Parsing 2 | Slides: Parsing 2 | |||||
| 26 Mar, 2024 | OpSem | Slides: Link Notes: Link |
Operational Semantics | Slides: Operational Semantics | ||
| Operational Semantics | Notes: Operational Semantics Notes | |||||
| 28 Mar, 2024 | Property Based Testing | Notes: Jose Calderon's Notes | Property-Based Random Testing | Slides: Property-Based Random Testing | ||
| Property-Based Random Testing | Notes: PBT Notes | |||||
| 2 Apr, 2024 | Type Checking | Slides: Type Checking | ||||
| 4 Apr, 2024 | Subtyping | Slides: Subtyping | ||||
| Subtyping (TAPL CH15) | Slides: Types and Programming Languages Chapter 15 | |||||
| OCaml Modules | Slides: OCaml Modules | |||||
| OCaml Modules | Notes: OCaml Modules | |||||
| Module Examples | Notes: Module Examples | |||||
| 11 Apr, 2024 | Lambda Calculus | Slides: Link Notes: Link |
Lambda Calculus | Slides: Lambda Calculus Basics | ||
| Lambda Calculus Notes | Notes: Lambda Calculus Notes | |||||
| 16 Apr, 2024 | Lambda Calculus Encodings | Slides: Lambda Calculus Encodings | ||||
| 18 Apr, 2024 | Garbage Collection | Notes: Link | Memory Management | Slides: Memory Management | ||
| 23 Apr, 2024 | Rust | Notes: Link | Chp 3 and 4: https://doc.rust-lang.org/book/ | Rust Intro | Slides: Rust Intro | |
| Ownership | Slides: Ownership | |||||
| Rust Notes | Notes: Rust Notes | |||||
| 25 Apr, 2024 | Collections | Slides: Collections | ||||
| 30 Apr, 2024 | Rust Continued | Notes: Link | Chapters 5,6, and 10 | Structs and Enums | Slides: Structs and Enums | |
| Traits | Slides: Traits | |||||
| 2 May, 2024 | Rust Continueded | Notes: Chapter 15 | Smart Pointers | Slides: Smart Pointers | ||
| 7 May, 2024 | Software Security | Slides: Software Security | ||||
| Lecture Notes | Slides: Lecture Notes | |||||
| 9 May, 2024 | History | Slides: History | ||||