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 |