CSCI 145: Data Mining
Instructor: R. Teal Witter. Please call me Teal.
Class Times: We meet Tuesdays and Thursdays; Sec. 1 is scheduled from 2:45 to 4:00pm in Kravis 164, and Sec. 2 from 4:15 to 5:30pm in Kravis 165.
Office Hours: Tuesday, Wednesday and Thursday from 12:30 to 1:30pm in Adams 213.
Participation: I expect you to engage in class, ask questions, and make connections. To receive credit, please fill out this form after every lecture.
Quizzes: There will be short quizzes at the beginning of our Tuesday classes. These quizzes will test your understanding of the problem sets and the concepts from the prior week.
Exams: The two exams are the primary method of assessing your understanding of the material. The first exam will cover the content from the first half of the course, while the second exam will cover the content from the second half.
Problem Sets: Your primary opportunity to learn the material will be on problem sets. You may work with others to solve the problems, but you must write your solutions by yourself, and explicitly acknowledge any outside help (websites, people, LLMs).
Project: The project offers a chance to explore an area that interests you, practice writing high quality code, and develop your ability to communicate technical ideas to an audience. In addition to your codebase, you will write a report and give a short presentation at the end of the semester.
Assignment | Due |
Problem Set 1 (LaTeX) | Friday 9/19 |
Problem Set 2 | Friday 10/17 |
Problem Set 3 | Friday 11/7 |
Problem Set 4 | Friday 11/21 |
Project Proposal | Monday 12/1 |
Project | Friday 12/12 |
Resources: Most of the material we cover comes from either Chris Musco’s phenomenal machine learning course, or Chinmay Hegde’s fantastic deep learning course. While we do not have a textbook, we do have typed notes; I highly recommend you read the notes before each class.
Week | Tuesday | Thursday | Slides | Assignments |
Warmup | ||||
Week 1 (8/27 and 8/29) | Linear Algebra | PageRank | Slides | |
Supervised Learning | ||||
Week 2 (9/2 and 9/4) | Linear Regression | Optimization | ||
Week 3 (9/9 and 9/11) | Gradient Descent | Polynomial Regression | ||
Week 4 (9/16 and 9/18) | Probability | Logistic Regression | ||
Week 5 (9/23 and 9/25) | Support Vector Machines | Constrained Optimization | ||
Week 6 (9/30 and 10/2) | Kernel Methods | Neural Networks | ||
Week 7 (10/7 and 10/9) | Convolutional Networks | Transformers | ||
Week 8 (10/14 and 10/16) | Fall Break (No Class) | Decision Trees | ||
Week 9 (10/21 and 10/23) | Midterm Exam | Boosting | ||
Beyond Supervised Learning | ||||
Week 10 (10/28 and 10/30) | Autoencoders | Principal Component Analysis | ||
Week 11 (11/4 and 11/6) | Reinforcement Learning | Q Learning | ||
Week 12 (11/11 and 11/13) | Concentration Inequalities | Multi-Armed Bandits | ||
Week 13 (11/18 and 11/20) | Explainable AI | Active Learning | ||
Week 14 (11/25 and 11/27) | Midterm Exam | Thanksgiving (No Class) | ||
Week 15 (12/2 and 12/4) | Project Preparation | Project Preparation (No Class) | ||
Week 16 (12/9 and 12/11) | Sec. 2 Presents 7–10pm | Sec. 1 Presents 2–5pm |