Schedule
Week 1: Basics
TUE 01-21 Lecture 1
- Title: Course Introduction
- Topics:
- Discuss how the course structure, expectations, etc.
- Briefly talk about Rust
- Install Rust and Cargo
- Set up our first Cargo project
- Reading:
- Discussion Questions:
- Why are you taking this course? What do you want to get out of it?
- Have you heard of Rust before this course?
- Do you like using a low-level programming language like C?
THU 01-23 Lecture 2
- Title: Basic Programming
- Topics:
- Do some "normal" programming with Rust
- Look more carefully at the grammar of Rust
- Reading:
Week 2: Ownership
TUE 01-28 Lecture 3
- Title: The Stack and Heap
- Topics:
- Reading:
- Reminders:
THU 01-30 Lecture 4
- Title: References and Borrowing
- Topics:
- Reading:
- Reminders:
Week 3: Data
TUE 02-04 Lecture 5
- Title: Structures and Enumerations
- Topics:
- Reading:
- Reminders:
THU 02-06 Lecture 6
- Title: Collections and Slices
- Topics:
- Reading:
- Reminders:
Week 4: Functions
TUE 02-11 Lecture 7
- Title: Generics and Traits
- Topics:
- Reading:
- Reminders:
THU 02-13 Lecture 8
- Title: Closures and Iterators
- Topics:
- Reading:
- Reminders:
Week 5: Lifetimes
THU 02-20 Lecture 9
- Title: Lifetimes
- Topics:
- Reading:
- Reminders:
Week 6: Smart Pointers
TUE 02-25 Lecture 10
- Title: Boxes and Recursive Data
- Topics:
- Reading:
- Reminders:
THU 02-27 Lecture 11
- Title: Reference Counting and Internal Mutability
- Topics:
- Reading:
- Reminders:
Week 7
TUE 03-04 Lecture 12
- Title: TBD
- Topics:
- Reading:
- Reminders:
Week 8: SPRING RECESS
Week 9: Theory
TUE 03-18 Lecture 13
- Title: Logic and Type Theory
- Topics:
- Reading:
- Reminders:
THU 03-20 Lecture 14
- Title: Linear Types
- Topics:
- Reading:
- Reminders:
Week 10: Interpreters
TUE 03-25 Lecture 15
- Title: Crafting Interpreters
- Topics:
- Reading:
- Reminders:
THU 03-27 Lecture 16
- Title: Workshop: An Interpreter for STLC
- Topics:
- Reading:
- Reminders:
Week 11: FR Syntax
TUE 04-01 Lecture 17
- Title: FR Calculus: Introduction
- Topics:
- Reading:
- Reminders:
THU 04-03 Lecture 18
- Title: FR Calculus: Syntax
- Topics:
- Reading:
- Reminders:
Week 12: FR Semantics
TUE 04-08 Lecture 19
- Title: Workshop: A Parser
- Topics:
- Reading:
- Reminders:
THU 04-10 Lecture 20
- Title: FR Calculus: Semantics
- Topics:
- Reading:
- Reminders:
Week 13: FR Borrow Checking
TUE 04-15 Lecture 21
- Title: Workshop: An Evaluator
- Topics:
- Reading:
- Reminders:
THU 04-17 Lecture 22
- Title: FR Calculus: Type and Borrow Checking
- Topics:
- Reading:
- Reminders:
Week 14: FR Extensions
TUE 04-22 Lecture 23
- Title: Workshop: A Type/Borrow Checker
- Topics:
- Reading:
- Reminders:
THU 04-24 Lecture 24
- Title: FR Calculus: Extensions
- Topics:
- Reading:
- Reminders:
Week 15: FR Soundness
TUE 04-29 Lecture 25
- Title: Progress and Preservation (Part 1)
- Topics:
- Reading:
- Reminders:
TUE 05-01 Lecture 26
- Title: Progress and Preservation (Part 2)
- Topics:
- Reading:
- Reminders: