MWF Lecture, HW, and Exam Schedule

Everything in this table that occurs in the future is subject to change. Please check the readings before each lecture. Homework and exam dates should be stable - we will make a clear announcement if they need to be changed.

This table is wide so you might need to scroll to the right to see all columns.

DateLectureHW and
Exams
TopicPre-lecture ReadingIn-class Activity
Week 1: Sep 1-5---------------
Sep 4 (Wed)Lecture 1Course overview, Why RustActivity 1
Sep 6 (Fri)Lecture 2Hello ShellActivity 2
Week 2: Sep 8-12---------------
Sep 8 (Mon)Lecture 3HW1 Out
(shell, git)
Hello GitActivity 3
Sep 10 (Wed)Lecture 4Hello RustCh 1: Getting StartedActivity 4
Sep 12 (Fri)Lecture 5Guessing gameCh 2 - STOP AT "Generating a Secret Number"Activity 5
Week 3: Sep 15-19---------------
Sep 15 (Mon)Lecture 6HW1 Due
HW2 Out
(rust basics)
Hello VSCode and GH ClassroomCh 2 - the restActivity 6
Sep 17 (Wed)Lecture 7Variables and typesCh 3.1: Variables and Mutability, Ch 3.2: Data TypesActivity 7
Sep 19 (Fri)Lecture 8FunctionsCh 3.3: FunctionsActivity 8
Week 4: Sep 22-26---------------
Sep 22 (Mon)Lecture 9Control FlowCh 3.5: Control FlowActivity 9
Sep 24 (Wed)Lecture 10HW2 Due
HW3 Out
(enums, match)
Enums, match3 short readngs -
Rust by example: Enums
Ch 6.1 STARTING FROM "The Option Enum"
Ch 6.2 STOP AT "How Matches Interact..."
Activity 10
Sep 26 (Fri)Lecture 11Error handlingCh 9: Error Handling (through about half of 9.2)Activity 11
Week 5: Sep 29-Oct 3---------------
Sep 29 (Mon)Lecture 12Review Part 1Rust by ExampleActivity 12
Oct 1 (Wed)Lecture 13Review Part 2(Review Lecture Notes)Activity 13
Oct 2 (Thu)HW3 Due
Oct 3 (Fri)Midterm 1📚 Midterm 1 📚
Week 6: Oct 6-10---------------
Oct 6 (Mon)Lecture 14Stack & Heap
Oct 8 (Wed)Lecture 15Ownership & VectorsYoutube video on ownership
Oct 10 (Fri)Lecture 16HW4 OutBorrowing & ReferencesCh 4.1: Intro to Ownership
Week 7: Oct 13-17---------------
Oct 13 (Mon)No Class (holiday)
Oct 14 (Tue)Lecture 17 Monday Schedule&mut and the Borrow CheckerCh 4.2: References and Borrowing
Oct 15 (Wed)Lecture 18Strings & SlicesCh 8.2: Storing UTF-8 Encoded Text with Strings
Oct 17 (Fri)Lecture 19Collections & Heap Data
Week 8: Oct 20-24---------------
Oct 20 (Mon)Lecture 20Structs & MethodsCh 5.1: Defining and Instantiating Structs, Ch 5.3: Method Syntax
Oct 22 (Wed)Lecture 21Matching structs & Review
Oct 24 (Fri)Lecture 22HW4 Due
HW5 Out
Generics & Type SystemsCh 10.1: Generic Data Types
Week 9: Oct 27-31---------------
Oct 27 (Mon)Lecture 23TraitsCh 10.2: Traits
Oct 29 (Wed)Lecture 24LifetimesCh 10.3: Validating References with Lifetimes (intro)
Oct 31 (Fri)Lecture 25Systems ProgrammingNone
Week 10: Nov 3-7---------------
Nov 3 (Mon)Lecture 26Midterm Review(Review Lecture Notes)
Nov 5 (Wed)Midterm 2📚 Midterm 2 📚
Nov 7 (Fri)Lecture 27HW5 Due
HW6 Out
Packages, Crates, and ModulesCh 7.1: Packages and Crates
Week 11: Nov 10-14---------------
Nov 10 (Mon)Lecture 28Tests and Python IntegrationCh 11.1: Writing Tests
Nov 12 (Wed)Lecture 29Iterators & ClosuresCh 13.1: Closures, Ch 13.2: Processing a Series of Items with Iterators
Nov 14 (Fri)Lecture 30File I/O, Concurrency Overview, Scientific ComputingCh 12.2: Reading a File, Ch 16: Fearless Concurrency (intro)
Week 12: Nov 17-21---------------
Nov 17 (Mon)Lecture 31Big O Notation & Algorithmic ComplexityAlgorithms Complexity (MIT OpenCourseWare), Big-O Notation (Python DS Ch 2)
Nov 19 (Wed)Lecture 32Algorithm Design: Comparing Sorting AlgorithmsSorting and Searching (Python DS Ch 5: Merge Sort, Quick Sort), Sorting Algorithms
Nov 21 (Fri)Lecture 33HW6 Due
HW7 Out
Linear Data StructuresBasic Data Structures (Python DS Ch 3: Stacks, Queues, Deques), Stack & Queue in Rust
Week 13: Nov 24-28---------------
Nov 24 (Mon)Lecture 34Priority Queues & HeapsBinary Heaps (Python DS Ch 6: Binary Heaps), Heap Data Structure (HackerRank)
Nov 26 (Wed)No Class (Thanksgiving)
Week 14: Dec 1-5---------------
Dec 1 (Mon)Lecture 35Trees & Binary Search TreesTrees and Tree Algorithms (Python DS Ch 6: Trees, BST), Tree Traversals Visualized
Dec 3 (Wed)Lecture 36Graph Representation & TraversalsGraphs Introduction (Python DS Ch 7: Graph Intro, BFS, DFS), Graph Theory Intro, BFS & DFS Algorithms (William Fiset)
Dec 5 (Fri)Lecture 37HW7 DueAdvanced Graph Algorithms (Topological Sort and MST)Graph Algorithms (Python DS Ch 7: Advanced topics)
Week 15: Dec 8-12---------------
Dec 8 (Mon)Lecture 38Shortest Paths & Dijkstra's AlgorithmShortest Path Problems (Python DS Ch 7: Dijkstra), Dijkstra's Algorithm (Computerphile)
Dec 10 (Wed)Final ReviewLast Day of Classes
Finals Week---------------
TBD📚 Final Exam 📚