Course Schedule
This schedule is updated frequently. Please check the readings and exercises before each class.
| Monday | Tuesday | Wednesday | Thursday | Friday |
|---|---|---|---|---|
| Jan 19 | Jan 20 | Jan 21 Lecture 1: course overview Discussion 1: Rust & IDE setup | Jan 22 | Jan 23 Lecture 2: why Rust? Rust vs Python |
| Jan 26 Snow day - no class | Jan 27 | Jan 28 Lecture 3: shell & terminals Discussion 2: Git Basics HW 1 out: command line and Git | Jan 29 | Jan 30 Lecture 4: shell & terminals (2) |
| Feb 2 Lecture 5: rust variables & types | Feb 3 | Feb 4 Lecture 6: rust variables & types (2) Discussion 3: Leetcode exercises HW 1 due: command line and Git HW 2 out: Leetcode practice | Feb 5 | Feb 6 Lecture 7: rust variables & types (3) |
| Feb 9 Lecture 8: rust variables & types (4) HW 2 due: Leetcode practice HW 3 out: Guessing game | Feb 10 | Feb 11 Lecture 9: rust practice Discussion 4: Guessing game | Feb 12 | Feb 13 Lecture 10: comparing programs |
| Feb 16 Presidents day - no class HW 3 due: Guessing game Proj 1 out: Vec | Feb 17 Lecture 11: comparing programs | Feb 18 Midterm 1 Discussion 5: SlowVec | Feb 19 | Feb 20 Lecture 12: memory |
| Feb 23 Lecture 13: memory Proj 1 (part 1) due: Vec | Feb 24 | Feb 25 Lecture 14: memory Discussion 6: FastVec | Feb 26 | Feb 27 Lecture 15: memory |
| Mar 2 Lecture 16: pointers | Mar 3 | Mar 4 Lecture 17: pointers Discussion 7: Pointers and Unsafe | Mar 5 | Mar 6 Lecture 18: pointers |
| Mar 9 Spring break - no class Proj 1 (part 2) due: Vec Proj 2 out: chatbot | Mar 10 Spring break | Mar 11 Spring break - no class | Mar 12 Spring break | Mar 13 Spring break - no class |
| Mar 16 Lecture 19: references Proj 2 (part 1) due: chatbot | Mar 17 | Mar 18 Lecture 20: references Discussion 8: Vec code review | Mar 19 | Mar 20 Lecture 21: references |
| Mar 23 Lecture 22: ownership & borrowing Proj 2 (part 2) due: chatbot Proj 3 out: client-server analytics | Mar 24 | Mar 25 Lecture 23: ownership & borrowing Discussion 9: chatbot code review | Mar 26 | Mar 27 Lecture 24: ownership & borrowing |
| Mar 30 Lecture 25: ownership & borrowing Proj 3 (part 1) due: client-server analytics | Mar 31 | Apr 1 Midterm 2 Discussion 10: TBD | Apr 2 | Apr 3 Lecture 26: TBD |
| Apr 6 Lecture 27: TBD Proj 3 (part 2) due: client-server analytics Proj 4 out: Tic-Tac-Toe | Apr 7 | Apr 8 Lecture 28: TBD Discussion 11: client-server analytics code review | Apr 9 | Apr 10 Lecture 29: TBD |
| Apr 13 Lecture 30: TBD Proj 4 (part 1) due: Tic-Tac-Toe | Apr 14 | Apr 15 Lecture 31: TBD Discussion 12: TBD | Apr 16 | Apr 17 Lecture 32: TBD |
| Apr 20 Patriots day - no class Proj 4 (part 2) due: Tic-Tac-Toe | Apr 21 | Apr 22 Lecture 33: TBD No discussion | Apr 23 | Apr 24 Lecture 34: TBD |
| Apr 27 Lecture 35: TBD | Apr 28 | Apr 29 Lecture 36: TBD Discussion 13: Tic-Tac-Toe code review | Apr 30 | May 1 Study period - no class Proj 4 (part 3) due: Tic-Tac-Toe |
| May 4 | May 5 | May 6 Final Exam | May 7 | May 8 |