T-TH Lecture Schedule
Note: Schedule will be frequently updated. Check back often.
Note: Homeworks will be distributed via Gradescope and GitHub Classroom. We'll also post notices on Piazza.
See also Module Topics by Week below.
Lecture Schedule
| Date | Lecture | Homework |
|---|---|---|
| Week 1 | --- | --- |
| Sep 2 | Lecture 1: Course Overview, Why Rust | |
| Sep 4 | Lecture 2: Hello Shell | |
| Week 2 | --- | --- |
| Sep 8 | HW1 Released | |
| Sep 9 | Lecture 3: Hello Git | |
| Sep 11 | Lecture 4: Hello Rust | |
| Week 3 | --- | --- |
| Sep 15 | HW1 Due | |
| Sep 16 | Lecture 5: Programming Languages, Guessing Game Part 1 | |
| Sep 18 | Lecture 6: Hello VSCode and GitHub Classroom | |
| Week 4 | --- | --- |
| Sep 23 | Lecture 7: Vars and Types, | |
| Sep 25 | Lecture 8: Finish Vars and Types, Cond Expressions, Functions, | |
| Week 5 | --- | --- |
| Sep 30 | Lecture 9: Finish Functions, Loops Arrays, Tuples | |
| Oct 2 | Lecture 10: Enum and Match | |
| Week 6 | --- | --- |
| Oct 7 | Lecture 11: A1 Midterm 1 Review | |
| Oct 9 | 🧐📚 Midterm 1 📚🧐 | |
| Week 7 | --- | --- |
| Oct 14 | No Class -- Monday Schedule | |
| Oct 16 | Lecture 12: Structs, Method Syntax, Methods Revisited | |
| Week 8 | --- | --- |
| Oct 21 | Lecture 13: Ownership and Borrowing, Strings and Vecs | |
| Oct 23 | Lecture 14: Slices, Modules, | |
| Week 9 | --- | --- |
| Oct 28 | Lecture 15: Crates, Rust Projects,Tests, Generics | |
| Oct 30 | Lecture 16: Generics, Traits | |
| Week 10 | --- | --- |
| Nov 4 | Lecture 17: Lifetimes, Closures | |
| Nov 6 | Lecture 18: , Iterators, Iters Closures | |
| Week 11 | --- | --- |
| Nov 11 | Lecture 19 -- Midterm 2 Review | |
| Nov 13 | 🧐📚 Midterm 2 📚🧐 | |
| Week 12 | --- | --- |
| Nov 18 | Lecture 20: Complexity Analysis, Hash Maps (only) | |
| Nov 20 | Lecture 21: Hashing Functions, Hash Sets, linked lists, | |
| Week 13 | --- | --- |
| Nov 25 | Lecture 22: Stacks, Queues | |
| Nov 27 | 🦃 No Class -- Thanksgiving Recess 🌽 | |
| Week 14 | --- | --- |
| Dec 2 | Lecture 23: Collections Deep Dive, | |
| Dec 3 | Exam 2 Corrections Due, 11:59pm | |
| Dec 4 | Lecture 24: Algorithms and Data Science | |
| Dec 8 | HW 7 Due, 11:59pm | |
| Week 15 | --- | --- |
| Dec 9 | Final Review | |
| Dec 10 | 🎉 Last Day of Classes 🎉 | |
| Dec 16 | 🧐📚 Final Exam 3:00pm -- 5:00pm 📚🧐 | Law Auditorium |
Module Topics by Week
Module topics by week for the Tues-Thurs A1 Section.
Work in progress. Check back often.
- Course overview
- Why Rust
- Hello Shell
- Hello Git
- Hello Rust
- Prog Languages
- Guessing Game Part 1
- Systems
- Hello VSCode
- Vars, types
- cond expr
- Functions
- loops
- derive debug
- Tuples
- enums, match
- Stack, heap, vec
- datatype sizes
- Ownership and borrowing
- cloning and copying
- Slices
- strings
- error handling
- Best practices, formatting, comments
(Midterm 1 -- Systems, Basic Rust)
- Modules, crates, Rust projects, (58, 60, 62, 64)
- File IO, Error handling (64, 100)
- Structs, methods (30, 31, 38)
- Generics, traits (42, 44)
- Collections, vectors, lifetimes (46, 92)
- Iterators and closures (94, 96, 98)
- Hashmaps, hashsets (52)
- Tests (48)
- Complexity analysis (50)
(Midterm 2 -- Advanced Rust)
- Calling Rust from Python (920)
- SWE project management / project intro (new, 900)
- Linked lists, stacks, queues (66, 68, 70)
- Graph representation / graph algo (54, 56)
- Graph search, BFS, DFS, CC/SCC (72, 74, 76, 78) - maybe not from scratch
- Priority queues, binary heap, sorting (82, 84) - maybe not from scratch
- Shortest path / trees part 2 (86)
- Algorithms (108, 110, 112)
- Divide and conquer / merge sort (122)
- NDArray, survey of data science in Rust (114, 120)
- More data science
- Parallel code (126)
(Final Exam)