Course Schedule
Part 1: Performance
Week 1
Tue: No Class (Sep 03)
Week 2
Week 3
Tue: Performance 2 (Sep 17)
- big O notation
- worksheet practice
- large data
- generators
Watch: Recording
GitLab: Video
Lecture notes: Code
Read: HTML (NB)
Worksheet: Question, Answer
Assigned: Due:
Week 4
Tue: OOP 2 (Sep 24)
Special Methods- __str__, __repr__, _repr_html_
- __eq__, __lt__
- __len__, __getitem__
- __enter__, __exit__
- method resolution order
- overriding methods
- calling overridden methods
Watch: Recording
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Optional Reading: Python Data Model
Optional Reading: Think Python 18
Assigned: Due:
Week 5
Tue: Trees (Oct 01)
- trees
- binary trees
- binary search trees (BSTs)
- BSTs: height, for sets+dicts
Watch: Recording
Lecture notes: Code
Read: HTML (NB)
Slides: PDF
Assigned: Due:
Week 6
Tue: Graph Search 2 (Oct 08)
- breadth-first search
- stacks, queues, priority queues
- deque (for queues)
- heapq (for priority queues)
Watch: Recording
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned: Due:
Thu: Exam 1 (Honorlock) (Oct 10)
- Regular exam: during class time
- McBurney exam (with 1.5 x time): during class time
- McBurney exam (with > 1.5 x time): 5:45 pm to 7:15 pm
Part 2: Web and Visualization
Week 7
Tue: Web 1 (Oct 15)
Selenium- web intro
- finding elements, text
- polling
- screenshots
- clicking, typing
- more tricky pages
- BFS for webpages
Watch: Recording
Tricky Pages, Crawl Practice
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2)
Slides: PDF
Assigned: Due:
Week 8
Tue: Web 3 (Oct 22)
Flask- robots.txt
- query strings
- decorators
- data collection
- significance
Lecture notes: Code
Read: HTML (NB), TechCrunch article
Slides: PDF
Assigned: Due:
Week 9
Tue: Regex (Oct 29)
- character classes
- repetition
- anchoring
- practice
Watch: Recording
Lecture notes: Code
Read: HTML (NB), DS100 Ch 13
Slides: PDF
Assigned: Due:
Thu: Visualization 1 (Oct 31)
- matplotlib coordinate systems
- drawing custom lines/polygons
- coordinate reference systems
Watch: Recording
Lecture notes: Code
Read: HTML (NB)
Assigned:
Week 10
Tue: Visualization 2 (Nov 05)
- geographic maps
- shapely
- shapefiles, GeoJSON
- DPI (dots per inch)
- geocoding
Watch: Recording
Lecture notes: Code
Read: HTML (NB)
Assigned: Due:
Thu: Exam 2 (Honorlock) (Nov 07)
- Regular exam: during class time
- McBurney exam (with 1.5 x time): during class time
- McBurney exam (with > 1.5 x time): 5:45 pm to 7:15 pm
Part 3: Machine Learning
Week 11
Tue: Regression 1 (Nov 12)
- Machine Learning (ML) overview
- regression, classification
- clustering, decomposition
- sklearn LinearRegression
- explained variance
Lecture notes: Code
Assigned:
Week 12
Tue: Linear Algebra (Nov 19)
- numpy arrays
- numpy images
- multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
- column spaces
- projection matrices
Lecture notes: Code
Read: HTML1 (NB1), HTML2 (NB2), HTML3 (NB3)
Assigned: Due:
Week 13
Tue: Classification 2 (Nov 26)
- standardization
- confusion matrices
- accuracy, precision, recall
Lecture notes: Code
Slides: PDF
Assigned: Due:
Thu: No class (Nov 28)
Thanksgiving recessWeek 14
Tue: Clustering (Dec 03)
- KMeans
- AgglomerativeClustering
- fit, transform, predict
- AgglomerativeClustering
- linkage
Lecture notes: Code
Slides: PDF
Assigned: Due:
Week 15
Tue: Unsupervised ML Recap (Dec 10)
- wrapup Dendrograms
- when to use the following:
- KMeans
- AgglomerativeClustering
- PCA
Lecture notes: Code
Slides: PDF
Due:
Thu: No Class (Dec 12)
Due:Week 16
Tue: No Class (Dec 17)
Tursday: Final Exam (Online Exam with Honorlock) (Dec 19)
- Regular exam: 5:05 pm - 7:05 pm
- McBurney exam: 4:05 pm - 8:05 pm
- Alternate exam: 4:05 pm - 6:05 pm