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

DateLectureHomework
Week 1------
Sep 2Lecture 1: Course Overview, Why Rust
Sep 4Lecture 2: Hello Shell
Week 2------
Sep 8HW1 Released
Sep 9Lecture 3: Hello Git
Sep 11Lecture 4: Hello Rust
Week 3------
Sep 15HW1 Due
Sep 16Lecture 5: Programming Languages, Guessing Game Part 1
Sep 18Lecture 6: Hello VSCode and GitHub Classroom
Week 4------
Sep 23Lecture 7: Vars and Types,
Sep 25Lecture 8: Finish Vars and Types, Cond Expressions, Functions,
Week 5------
Sep 30Lecture 9: Finish Functions, Loops Arrays, Tuples
Oct 2Lecture 10: Enum and Match
Week 6------
Oct 7Lecture 11: A1 Midterm 1 Review
Oct 9🧐📚 Midterm 1 📚🧐
Week 7------
Oct 14No Class -- Monday Schedule
Oct 16Lecture 12: Structs, Method Syntax, Methods Revisited
Week 8------
Oct 21Lecture 13: Ownership and Borrowing, Strings and Vecs
Oct 23Lecture 14: Slices, Modules,
Week 9------
Oct 28Lecture 15: Crates, Rust Projects,Tests, Generics
Oct 30Lecture 16: Generics, Traits
Week 10------
Nov 4Lecture 17: Lifetimes, Closures
Nov 6Lecture 18: , Iterators, Iters Closures
Week 11------
Nov 11Lecture 19 -- Midterm 2 Review
Nov 13🧐📚 Midterm 2 📚🧐
Week 12------
Nov 18Lecture 20: Complexity Analysis, Hash Maps (only)
Nov 20Lecture 21: Hashing Functions, Hash Sets, linked lists,
Week 13------
Nov 25Lecture 22: Stacks, Queues
Nov 27🦃 No Class -- Thanksgiving Recess 🌽
Week 14------
Dec 2Lecture 23: Collections Deep Dive,
Dec 3Exam 2 Corrections Due, 11:59pm
Dec 4Lecture 24: Algorithms and Data Science
Dec 8HW 7 Due, 11:59pm
Week 15------
Dec 9Final 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.

(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)