Course Schedule
Part 1: Performance
Week 1
Tue: No Class (Sep 01)
Week 2
Tue: Reproducibility 2 (Sep 08)
- versioning
- git commands
- branching and merging
- conflict resolution
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Slides: PDF
Due: Assigned:
Thu: Performance 1 (Sep 10)
- check_output
- time
- identifying steps
- counting executed steps
- complexity analysis
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
VM Setup: Video
Git Workflow: Video
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned:
Week 3
Tue: Performance 2 (Sep 15)
- big O notation
- worksheet practice
- large data
- generators
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML (NB)
Worksheet: Question, Answer
Assigned: Due:
Week 4
Tue: OOP 2 (Sep 22)
Special Methods- __str__, __repr__, _repr_html_
- __eq__, __lt__
- __len__, __getitem__
- __enter__, __exit__
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Optional Reading: Python Data Model
Optional Reading: Think Python 18
Assigned: Due:
Thu: OOP 3 and Recursion (Sep 24)
Inheritance- method resolution order
- overriding methods
- calling overridden methods
- functions that return something
- functions that do something
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML (NB)
Worksheet: Question, Answer
Interactive Exercises
Assigned: Grade Released: Project 1 (10:00 pm)
Week 5
Tue: Graphs and Trees (Sep 29)
Graphs- graphviz
- types of graph
- trees
- binary trees
- binary search trees (BSTs)
- BSTs: height, for sets+dicts
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned: Due:
Part 2: Web and Visualization
Week 6
Tue: Graph Search 2 (Oct 06)
- breadth-first search
- stacks, queues, priority queues
- deque (for queues)
- heapq (for priority queues)
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned: Due:
Week 7
Tue: Web 2 (Oct 13)
Recursive Crawl- more tricky pages
- BFS for webpages
- Internet overview
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Crawl Practice
Lecture notes: Code
Read: HTML (NB)
Slides: PDF
Assigned: Due:
Thu: Web 3 (Oct 15)
Flask- flask
- headers, rate limiting (HTTP 429)
- robots.txt
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML (NB)
Assigned:
- Exam 1 (Online with Honorlock)
Note: For detailed information about the exam schedule and other guidelines, please refer to the exam instructions on the Canvas page.
- Exam 1 (7:30:00 pm)
Week 8
Week 9
Tue: Regex (Oct 27)
- character classes
- repetition
- anchoring
- practice
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML (NB), DS100 Ch 13
Slides: PDF
Assigned: Due:
Thu: Visualization 1 (Oct 29)
- matplotlib coordinate systems
- drawing custom lines/polygons
- coordinate reference systems
Watch Spring 2026: Lecture
Watch Fall 2025: Lecture
Watch Prerecorded: Recording
Lecture notes: Code
Read: HTML (NB)
Assigned: Grade Released: Project 4 (10:00 pm)
Part 3: Machine Learning
Week 10
Week 11
Tue: Regression 2 (Nov 10)
- explained variance
- train/test split
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Watch Fall 2025: Lecture
Lecture notes: Code
Slides: PDF
Assigned: Due:
Thu: Linear Algebra 1 (Nov 12)
- numpy arrays
- numpy images
- multiplication
- fit with np.linalg.solve
- predict with np.dot
Watch Fall 2025: Lecture
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned:
- Exam 2 (Online with Honorlock)
Note: For detailed information about the exam schedule and other guidelines, please refer to the exam instructions on the Canvas page.
- Exam 2 (7:30:00 pm)
Week 12
Tue: Linear Algebra 2 (Nov 17)
- column perspective
- column spaces
- projection matrices
Watch Fall 2025: Lecture
Lecture notes: Code
Read: HTML (NB)
Assigned: Due:
Week 13
Tue: Classification 2 (Nov 24)
- standardization
- confusion matrices
- accuracy, precision, recall
Watch Fall 2025: Lecture
Lecture notes: Code
Slides: PDF
Thu: No Class (Nov 26)
Thanksgiving recessWeek 14
Week 15
Tue: Unsupervised ML Recap (Dec 08)
- linkage
- wrapup Dendrograms
- when to use the following:
- KMeans
- AgglomerativeClustering
- PCA
Watch Fall 2025: Lecture
Lecture notes: Code
Slides: PDF
Assigned: Due:
Thu: No Class (Dec 10)
Due:- Survey 2 (11:59:00 pm)
- Project 8 (hard deadline: no project will be accepted after Thursday, December 11 at 11:59:00 pm)
Grade Released: Project 8 (10:00 pm) on December 12
Week 16
Tuesday: Final Exam (Dec 15)
Assigned:- Final Exam (Online with Honorlock)
Note: For detailed information about the exam schedule and other guidelines, please refer to the exam instructions on the Canvas page.
- Final Exam (7:30:00 pm)
Part 4: Additional Topics (Not to be graded)