Course Schedule
This schedule is updated frequently. Please check the readings and exercises before each class.
| Mon | Tue | Wed | Thu | Fri |
|---|---|---|---|---|
| May 18 | May 19 Lecture 1: course overview • why Rust? | May 20 Lecture 2: shell & terminals • Rust & VSCode | May 21 Lecture 3: types & functions Proj 1 out: Guessing game | May 22 |
| May 25 Memorial day Proj 1 due: Guessing game Proj 2 out: Chatbot | May 26 Lecture 4: types & functions • comparing programs Discussion 1: Git basics | May 27 Lecture 5: comparing programs • structs, enums | May 28 Lecture 6: parameter passing • generics & traits Discussion 2: Leetcode! | May 29 |
| Jun 1 Proj 2 due: Chatbot Proj 3 out: Vec | Jun 2 Lecture 7: generics & traits • job & career discussion Discussion 3: Chatbot code review | Jun 3 Lecture 8: memory • pointers | Jun 4 Lecture 9: pointers • LinkedList discussion Discussion 4: No Discussion | Jun 5 |
| Jun 8 Proj 3 due: Vec Proj 4 out: Client-server | Jun 9 Midterm 1 Discussion 5: Vec code review | Jun 10 Lecture 10: ownership & borrowing | Jun 11 Lecture 11: ownership & borrowing Discussion 6: TBD | Jun 12 |
| Jun 15 Proj 4 due: Client-server Proj 5 out: Tic-Tac-Toe | Jun 16 Lecture 12: lifetimes Discussion 7: client-server code review | Jun 17 Lecture 13: managed memory in Python | Jun 18 Lecture 14: data science with Polars Discussion 8: TBD | Jun 19 |
| Jun 22 Proj 5 due: Tic-Tac-Toe | Jun 23 Lecture 15: concurrency and synchronizations Discussion 9: Tic-Tac-Toe code review | Jun 24 Exam study no class | Jun 25 Final Exam | Jun 26 |