The slides, notes, and sample code shown in the class are posted here. The posted contents are intended as supplementary materials.

You are expected to take notes during the class.

Please note that the schedule of topics is subject to change.

Week 1

Wednesday, 2/6
Introductions, syllabus, data, data visualization, why look at data? (Lecture01.pdf)
Friday, 2/8
Effective data visualization and human perception. (Lecture02.pdf)

Homework 0
See last slide from 2/6.

Week 2

Monday, 2/11
Tkinter and building a GUI (Lecture03.pdf, lecture03_display_1_template_basic.py, lecture03_display_1_basic.py)
Wednesday, 2/13
2D coordinate frame transformations, translation, scaling, linear algebra (Lecture04.pdf)
Friday, 2/15
Numpy, scientific computing, vectorization (Lecture05.pdf, lecture05_numpy_template.py, lecture05_numpy.py)

Homework 1
(HW01.pdf)

Week 3

Monday, 2/18
Numpy broadcasting, 3D viewing, observer coordinates (Lecture06.pdf)
Wednesday, 2/20
Orthographic viewing pipeline, 3D viewing example (Lecture07.pdf)
Friday, 2/22
Finish orthographic viewing pipeline

Homework 2
(HW02.pdf)

Week 4

Monday, 2/25
Interactive 3D viewing: panning/translation (Lecture09.pdf, lecture09_trackpad_tk_bindings.py)
Wednesday, 2/27
Interactive 3D viewing: rotation (Lecture10.pdf)
Friday, 3/1
Interactive 3D viewing: scaling (Lecture11.pdf)

Homework 3
(HW03.pdf)

Week 5

Monday, 3/4
Histograms, kernel density estimation, probability (Lecture12.pdf)
Wednesday, 3/6
Binomial distribution, Bayesian updating (Lecture13.pdf, lecture_13_bayesian_updating_template.py)
Friday, 3/8
Review binomial distribution, Bayesian updating (lecture_13_bayesian_updating.py)

Homework 4
(HW04.pdf)

Week 6

Monday, 3/11
Linear regression (Lecture15.pdf)
Wednesday, 3/13
Quality of fit, multiple linear regression (lecture16_linear_regression_template.py, lecture16_linear_regression.py)
Friday, 3/15
Writing workshop

Homework 5
(HW05.pdf)

Week 7

Monday, 3/18
Gaussian distribution and covariance matrix (Lecture18.pdf, lecture_18_gaussian_binom_approx_template.py, lecture_18_gaussian_binom_approx.py lecture_18_gaussian_mult.py)
Wednesday, 3/20
Principal component analysis (PCA): Covariance approach (Lecture19.pdf, Board1, Board2, Board3 )
Friday, 3/22
Principal component analysis (PCA) (Board1, Board2, Board3 )

Homework
No HW this week!

Week 8

Monday, 3/25
Spring break
Wednesday, 3/27
Spring break
Friday, 3/29
Spring break

Week 9

Monday, 4/1
PCA code, data reconstruction, singular value decomposition (Lecture21.pdf, lecture_21_pca_cov_template.py, lecture_21_pca_cov.py Board1, Board2 )
Wednesday, 4/3
Finish SVD, clustering, distance metrics (Lecture22.pdf, Board1, Board2, Board3, Board4 )
Friday, 4/5
K-means clustering, Leader algorithm (Lecture23.pdf, Board1 )

Homework 6
(HW06.pdf)

Week 10

Monday, 4/8
Hierarchical clustering, single-linkage algorithm, number of clusters (Board1, Board2, Board3 )
Wednesday, 4/10
Supervised learning and classification problems, K nearest neighbors (Lecture25.pdf, lecture24_hierarchical_clustering_template.py, lecture24_hierarchical_clustering.py, lecture24_elbow_fail.py, Board1, Board2, Board3 )
Friday, 4/12
Review: Bayes Rule (Lecture26.pdf, Board1, Board2 )

Homework 7
HW07.pdf

Week 11

Monday, 4/15
Bayes Rule and Naive Bayes classification (Board1, Board2, Board3, Board4, Board5, lecture27_naive_bayes_1d.py)
Wednesday, 4/17
Classification performance metrics, confusion matrix (Lecture28.pdf, Board1, Board2, Board3 )
Friday, 4/19
More classification performance metrics, ROC curve (Board1, Board2 )

Homework 8
HW8.pdf

Week 12

Monday, 4/22
C-index/AUC, No Free Lunch Theorem, Ugly Duckling Theorem (Lecture30.pdf, Board1, Board2, Board3 )
Wednesday, 4/24
Decision trees, information entropy, information gain, ID3 algorithm (Lecture31.pdf)
Friday, 4/26
Decision trees

Homework 9
HW9.pdf

Stephanie's notes (Section A)

Notes PDF (Spring 2019)

© 2018. Page last modified: .