Course Schedule
Part 1: Performance
Week 1
[Mon] No Class (Jan 24)
Week 2
[Mon] Performance 1 (Jan 31)
- git
Released: P1 (perf measurements)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 2 Activities
[Wed] Performance 2 (Feb 2)
- check_output
- time
- identifying steps
- counting executed steps
Watch: Lecture
Slides: PDF
Worksheet: PDF
Read: Course Notes (NB)
Quiz: week 1
[Fri] Performance 3 (Feb 4)
- complexity analysis
- big O notation
- worksheet practice
Watch: Lecture
Read: Course Notes (NB)
Week 3
[Mon] Performance 4 (Feb 7)
- large data
- generators
Watch: Lecture
Read: Course Notes
Lab: Week 3 Activities
[Wed] OOP 1: Classes (Feb 9)
- attributes
- methods
- constructors
Optional Reading: Think Python 15, 16, and 17.1 - 17.5
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 2 and before (cumulative)
[Fri] OOP 2: Special Methods (Feb 11)
- __str__, __repr__, _repr_html_
- __eq__, __lt__
- __len__, __getitem__
- __enter__, __exit__
Optional Reading: Python Data Model
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Week 4
[Mon] OOP 3: Inheritance (Feb 14)
- method resolution order
- overriding methods
- calling overridden methods
Due: P1
Released: P2 (trees)
Optional Reading: Think Python 18
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 4 Activities
[Wed] Recursion (Feb 16)
- functions that return something
- functions that do something
Watch: Lecture
Worksheet: PDF
Read: Course Notes (NB)
Quiz: week 3 and before (cumulative)
Week 5
[Mon] Trees 1 (Feb 21)
- trees
- binary trees
- binary search trees (BSTs)
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 5 Activities
[Wed] Trees 2 (Feb 23)
- BSTs: height, for sets+dicts
- depth-first search
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 4 and before (cumulative)
[Fri] Graph Search 1 (Feb 25)
- breadth-first search
- stacks, queues, priority queues
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Part 2: Web and Visualization
Week 6
[Mon] Graph Search 2 (Feb 28)
- deque (for queues)
- heapq (for priority queues)
- web intro
Due: P2
Released: P3 (crawler)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 6 Activities
[Wed] Web 1: Selenium (Mar 2)
- finding elements, text
- polling
- screenshots
- clicking, typing
TRICKY PAGES
Watch: Lecture
Quiz: week 5 and before (cumulative)
[Fri] Web 2: Recursive Crawl (Mar 4)
- more tricky pages
- BFS for webpages
CRAWL PRACTICE
Watch: Lecture
Read: Course Notes (NB)
Week 7
[Mon] Exam 1 (In-Class) (Mar 7)
Lab: Week 7 Activities
[Wed] Web 3: Flask (Mar 9)
- Internet overview
- flask
- headers, rate limiting (HTTP 429)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Fri] Web 4: More Flask (Mar 11)
- robots.txt
- query strings
- decorators
Due: P3
Watch: Lecture
Read: Course Notes (NB)
Week 8
[Mon] Spring Break (Mar 14)
[Wed] Spring Break (Mar 16)
[Fri] Spring Break (Mar 18)
Week 9
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Read: The Morality of A/B Testing (TechCrunch article)
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Read: DS100 Ch 13
Watch: Lecture
Slides: PDF
Week 10
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Due: P4
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] No Class (Jan 24)
[Mon] Performance 1 (Jan 31)
- git
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 2 Activities
[Wed] Performance 2 (Feb 2)
- check_output
- time
- identifying steps
- counting executed steps
Slides: PDF
Worksheet: PDF
Read: Course Notes (NB)
Quiz: week 1
[Fri] Performance 3 (Feb 4)
- complexity analysis
- big O notation
- worksheet practice
Read: Course Notes (NB)
Week 3
[Mon] Performance 4 (Feb 7)
- large data
- generators
Watch: Lecture
Read: Course Notes
Lab: Week 3 Activities
[Wed] OOP 1: Classes (Feb 9)
- attributes
- methods
- constructors
Optional Reading: Think Python 15, 16, and 17.1 - 17.5
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 2 and before (cumulative)
[Fri] OOP 2: Special Methods (Feb 11)
- __str__, __repr__, _repr_html_
- __eq__, __lt__
- __len__, __getitem__
- __enter__, __exit__
Optional Reading: Python Data Model
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Week 4
[Mon] OOP 3: Inheritance (Feb 14)
- method resolution order
- overriding methods
- calling overridden methods
Due: P1
Released: P2 (trees)
Optional Reading: Think Python 18
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 4 Activities
[Wed] Recursion (Feb 16)
- functions that return something
- functions that do something
Watch: Lecture
Worksheet: PDF
Read: Course Notes (NB)
Quiz: week 3 and before (cumulative)
Week 5
[Mon] Trees 1 (Feb 21)
- trees
- binary trees
- binary search trees (BSTs)
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 5 Activities
[Wed] Trees 2 (Feb 23)
- BSTs: height, for sets+dicts
- depth-first search
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 4 and before (cumulative)
[Fri] Graph Search 1 (Feb 25)
- breadth-first search
- stacks, queues, priority queues
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Part 2: Web and Visualization
Week 6
[Mon] Graph Search 2 (Feb 28)
- deque (for queues)
- heapq (for priority queues)
- web intro
Due: P2
Released: P3 (crawler)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 6 Activities
[Wed] Web 1: Selenium (Mar 2)
- finding elements, text
- polling
- screenshots
- clicking, typing
TRICKY PAGES
Watch: Lecture
Quiz: week 5 and before (cumulative)
[Fri] Web 2: Recursive Crawl (Mar 4)
- more tricky pages
- BFS for webpages
CRAWL PRACTICE
Watch: Lecture
Read: Course Notes (NB)
Week 7
[Mon] Exam 1 (In-Class) (Mar 7)
Lab: Week 7 Activities
[Wed] Web 3: Flask (Mar 9)
- Internet overview
- flask
- headers, rate limiting (HTTP 429)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Fri] Web 4: More Flask (Mar 11)
- robots.txt
- query strings
- decorators
Due: P3
Watch: Lecture
Read: Course Notes (NB)
Week 8
[Mon] Spring Break (Mar 14)
[Wed] Spring Break (Mar 16)
[Fri] Spring Break (Mar 18)
Week 9
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Read: The Morality of A/B Testing (TechCrunch article)
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Read: DS100 Ch 13
Watch: Lecture
Slides: PDF
Week 10
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Due: P4
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Performance 4 (Feb 7)
- large data
- generators
Read: Course Notes
Lab: Week 3 Activities
[Wed] OOP 1: Classes (Feb 9)
- attributes
- methods
- constructors
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 2 and before (cumulative)
[Fri] OOP 2: Special Methods (Feb 11)
- __str__, __repr__, _repr_html_
- __eq__, __lt__
- __len__, __getitem__
- __enter__, __exit__
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] OOP 3: Inheritance (Feb 14)
- method resolution order
- overriding methods
- calling overridden methods
Released: P2 (trees)
Optional Reading: Think Python 18
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 4 Activities
[Wed] Recursion (Feb 16)
- functions that return something
- functions that do something
Worksheet: PDF
Read: Course Notes (NB)
Quiz: week 3 and before (cumulative)
Week 5
[Mon] Trees 1 (Feb 21)
- trees
- binary trees
- binary search trees (BSTs)
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 5 Activities
[Wed] Trees 2 (Feb 23)
- BSTs: height, for sets+dicts
- depth-first search
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Quiz: week 4 and before (cumulative)
[Fri] Graph Search 1 (Feb 25)
- breadth-first search
- stacks, queues, priority queues
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Part 2: Web and Visualization
Week 6
[Mon] Graph Search 2 (Feb 28)
- deque (for queues)
- heapq (for priority queues)
- web intro
Due: P2
Released: P3 (crawler)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 6 Activities
[Wed] Web 1: Selenium (Mar 2)
- finding elements, text
- polling
- screenshots
- clicking, typing
TRICKY PAGES
Watch: Lecture
Quiz: week 5 and before (cumulative)
[Fri] Web 2: Recursive Crawl (Mar 4)
- more tricky pages
- BFS for webpages
CRAWL PRACTICE
Watch: Lecture
Read: Course Notes (NB)
Week 7
[Mon] Exam 1 (In-Class) (Mar 7)
Lab: Week 7 Activities
[Wed] Web 3: Flask (Mar 9)
- Internet overview
- flask
- headers, rate limiting (HTTP 429)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Fri] Web 4: More Flask (Mar 11)
- robots.txt
- query strings
- decorators
Due: P3
Watch: Lecture
Read: Course Notes (NB)
Week 8
[Mon] Spring Break (Mar 14)
[Wed] Spring Break (Mar 16)
[Fri] Spring Break (Mar 18)
Week 9
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Read: The Morality of A/B Testing (TechCrunch article)
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Read: DS100 Ch 13
Watch: Lecture
Slides: PDF
Week 10
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Due: P4
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Trees 1 (Feb 21)
- trees
- binary trees
- binary search trees (BSTs)
Read: Course Notes (NB)
Lab: Week 5 Activities
[Wed] Trees 2 (Feb 23)
- BSTs: height, for sets+dicts
- depth-first search
Slides: PDF
Read: Course Notes (NB)
Quiz: week 4 and before (cumulative)
[Fri] Graph Search 1 (Feb 25)
- breadth-first search
- stacks, queues, priority queues
Slides: PDF
Read: Course Notes (NB)
[Mon] Graph Search 2 (Feb 28)
- deque (for queues)
- heapq (for priority queues)
- web intro
Released: P3 (crawler)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
Lab: Week 6 Activities
[Wed] Web 1: Selenium (Mar 2)
- finding elements, text
- polling
- screenshots
- clicking, typing
Watch: Lecture
Quiz: week 5 and before (cumulative)
[Fri] Web 2: Recursive Crawl (Mar 4)
- more tricky pages
- BFS for webpages
Watch: Lecture
Read: Course Notes (NB)
Week 7
[Mon] Exam 1 (In-Class) (Mar 7)
Lab: Week 7 Activities
[Wed] Web 3: Flask (Mar 9)
- Internet overview
- flask
- headers, rate limiting (HTTP 429)
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Fri] Web 4: More Flask (Mar 11)
- robots.txt
- query strings
- decorators
Due: P3
Watch: Lecture
Read: Course Notes (NB)
Week 8
[Mon] Spring Break (Mar 14)
[Wed] Spring Break (Mar 16)
[Fri] Spring Break (Mar 18)
Week 9
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Read: The Morality of A/B Testing (TechCrunch article)
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Read: DS100 Ch 13
Watch: Lecture
Slides: PDF
Week 10
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Due: P4
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Exam 1 (In-Class) (Mar 7)
Lab: Week 7 Activities[Wed] Web 3: Flask (Mar 9)
- Internet overview
- flask
- headers, rate limiting (HTTP 429)
Slides: PDF
Read: Course Notes (NB)
[Fri] Web 4: More Flask (Mar 11)
- robots.txt
- query strings
- decorators
Watch: Lecture
Read: Course Notes (NB)
[Mon] Spring Break (Mar 14)
[Wed] Spring Break (Mar 16)
[Fri] Spring Break (Mar 18)
Week 9
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Read: The Morality of A/B Testing (TechCrunch article)
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Read: DS100 Ch 13
Watch: Lecture
Slides: PDF
Week 10
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Due: P4
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Web 5: A/B testing (Mar 21)
- data collection
- significance
Released: P4 (website)
Watch: Lecture
Slides: PDF
Lab: Week 9 Activities
[Wed] Web 6: Dashboards (Mar 23)
- dashboards
- POST
- CDFs
Read: Course Notes (NB)
Quiz: week 8 and before (cumulative)
[Fri] Regex 1 (Mar 25)
- character classes
- repetition
- anchoring
Watch: Lecture
Slides: PDF
[Wed] Visualization 1 (Mar 30)
- matplotlib coordinate systems
- drawing custom lines/polygons
Read: Course Notes (NB)
Quiz: week 9 and before (cumulative)
[Fri] Visualization 2 (Apr 1)
- geographic maps
- shapely
- coordinate reference systems
Released: P5 (trace analysis)
Watch: Lecture (Part 1)
Watch: Lecture (Part 2)
Watch: Lecture (Part 3)
Read: Course Notes (NB)
Week 11
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Watch: Lecture
Quiz: week 10 and before (cumulative)
Part 3: Machine Learning
Week 12
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities
[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
Watch: Lecture
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Due: P5
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Visualization 3 (Apr 4)
- shapefiles, GeoJSON
- DPI (dots per inch)
- animations
Read: Course Notes (NB)
Lab: Week 11 Activities
[Wed] Visualization 4 (Apr 6)
- animation
- FuncAnimation
- frames, intervals, fps
Quiz: week 10 and before (cumulative)
[Mon] Exam 2 (In-Class) (Apr 11)
Lab: Week 12 Activities[Wed] Regression 1 (Apr 13)
- sklearn LinearRegression
- explained variance
- train/test split
[Fri] Regression 2 (Apr 15)
- PolynomialFeatures
- OneHot Encoding
- Pipelines
Released: P6 (land matrices and regression)
Watch: Lecture
Slides: PDF
Week 13
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Watch: Lecture
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Watch: Lecture
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Watch: Lecture
Read: Course Notes (NB)
Week 14
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Due: P6
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Watch: Lecture
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Linear Algebra 1 (Apr 18)
- numpy arrays
- numpy images
- multiplication
Read: Course Notes (NB)
Lab: Week 13 Activities
[Wed] Linear Algebra 2 (Apr 20)
- more multiplication
- fit with np.linalg.solve
- predict with np.dot
- column perspective
Read: Course Notes (NB)
Quiz: week 12 and before (cumulative)
[Fri] Linear Algebra 3 (Apr 22)
- column spaces
- projection matrices
Read: Course Notes (NB)
[Mon] Classification 1 (Apr 25)
- LogisticRegression
- multiclass, proba
- decision boundaries
- standardization
Released: P7 (classification)
Watch: Lecture
Slides: PDF
Lab: Week 14 Activities
[Wed] Classification 2 (Apr 27)
- confusion matrices
- accuracy, precision, recall
Slides: PDF
Quiz: week 13 and before (cumulative)
Week 15
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Watch: Lecture
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Due: P7
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Watch: Lecture
Slides: PDF
Read: Course Notes (NB)
[Mon] Clustering 2 (May 2)
- binary trees as matrices
- dendrograms
- linkage matrices
Lab: Week 15 Activities
[Wed] Decomposition (May 4)
- Principal Component Analysis (PCA)
- Compressing Data
Watch: Lecture
Read: Course Notes (NB)
[Fri] Parallelism (May 6)
- threads vs. processes
- multiprocessing pools
- parallel map
- pytorch
Slides: PDF
Read: Course Notes (NB)