COMPSCI 389: Introduction to Machine Learning
Fall 2025, University of Massachusetts
Lecture: Mondays and Wednesdays, 1-2:15 in the Computer Science Building, Room 142
Archived course page. Dates, office hours, and course logistics are retained for historical reference.
Course Information
Download syllabus (.pdf)
Description
The course provides an introduction to machine learning algorithms and applications. Machine learning algorithms answer the question: "How can a computer improve its performance based on data and from its own experience?" The course is roughly divided into thirds: supervised learning (learning from labeled data), reinforcement learning (learning via trial and error), and real-world considerations like ethics, safety, and fairness. Specific topics include linear and non-linear regression, (stochastic) gradient descent, neural networks, backpropagation, classification, Markov decision processes, state-value and action-value functions, temporal difference learning, actor-critic algorithms, the reward prediction error hypothesis for dopamine, connectionism for philosophy of mind, and ethics, safety, and fairness considerations when applying machine learning to real-world problems.
Office Hours
See the syllabus for complete information, including TA contact information. Below is a summary of office hour times and locations for quick reference.
- Mondays, 10:30–12, Justin, LGRT 222.
- Tuesdays, 9:30–11, Norman, CS 207, Cube 2.
- Wednesdays, 10–11:30, Norman, CS 207.
- Thursdays, 1–2, Phil, CSL E341.
- Fridays, 9:30–11, Eric, LGRT T222.
Instructions and Guides
Note: To download an .ipynb file, right-click its link and select "Save Link As" (Firefox), or a similar option in your browser. Then open the downloaded file using VS Code.
| Title | Date | Description | Document Link |
|---|---|---|---|
| Jupyter Notebook Installation | N/A | Instructions describing how to install Python, VS Code, and set them up to work with .ipynb (Jupyter Notebook) files on macOS and Windows. | instructions (.pdf), instructions (.md) |
| Jupyter Notebook Introduction | N/A | An example Jupyter Notebook explaining how notebooks work and providing a very basic introduction to Python. | notebook (.ipynb) |
Homework Assignments
Note: Homework assignments should be submitted in Gradescope.
| Assignment Number | Date Assigned | Date/Time Due | Document Link |
|---|---|---|---|
| 1 | September 22, 2025 | October 1, 2025 at 1:00pm Eastern | notebook (.ipynb) |
| 2 | October 8, 2025 | October 15, 2025 at 1:00pm Eastern | notebook (.ipynb) |
| 3 | October 22, 2025 | October 29, 2025 at 1:00pm Eastern | notebook (.ipynb) |
| 4 | October 29, 2025 | November 12, 2025 at 1:00pm Eastern | notebook (.ipynb) |
| 5 | December 1, 2025 | December 8, 2025 at 1:00pm Eastern | notebook (.ipynb) |
Lecture Slides and Code Notebooks
| Lecture | Lecture Date | Topic | Document Link |
|---|---|---|---|
| Lecture #1, Part 1 | September 3, 2025 | Course Introduction | slides (.pdf) |
| Lecture #1, Part 2 | September 3, 2025 | Introduction to ML | slides (.pdf) |
| Lecture #2 | September 8, 2025 | Introduction to Supervised Learning and Data Sets | slides (.pdf) |
| Lecture #3 | September 10, 2025 | Data Analysis | slides (.pdf), notebook (.ipynb) |
| Lecture #4 | September 15, 2025 | Models, Algorithm Template, Nearest Neighbors | slides (.pdf), notebook (.ipynb) |
| Lecture #5 | September 17, 2025 | Model Evaluation (Evaluation metrics and train/test splits) | slides (.pdf), notebook (.ipynb) |
| Lecture #6, Part 1 | September 22, 2025 | Finishing Model Evaluation | (See previous lecture) |
| Lecture #6, Part 2 | September 22, 2025 | Nearest Neighbor Variants | slides (.pdf), notebook (.ipynb) |
| Lecture #7, Part 1 | September 24, 2025 | Finishing nearest neighbor variants | (See previous lecture) |
| Lecture #7, Part 2 | September 24, 2025 | Evaluation Part 2 (The need for better evaluations) | notebook (.ipynb) |
| Lecture #8, Part 1 | September 29, 2025 | Probability, Statistics, Quantifying Uncertainty | slides (.pdf) |
| Lecture #8, Part 2 | September 29, 2025 | Evaluation Part 3 (Quantifying Uncertainty) | slides (.pdf), notebook (.ipynb) |
| Lecture #9, Part 1 | October 1, 2025 | Evaluation Part 4 (Cross-Validation) | slides (.pdf), notebook (.ipynb) |
| Lecture #9, Part 2 | October 1, 2025 | Review and Validation Sets | slides (.pdf) |
| Lecture #10 | October 6, 2025 | Linear Regression and the Optimization Perspective | slides (.pdf) |
| Lecture #11 | October 8, 2025 | Gradient Descent | slides (.pdf) |
| Lecture #12 | October 13, 2025 | Data Cleaning | first notebook (.ipynb), slides (.pdf), second notebook (.ipynb) |
| Lecture #13 | October 15, 2025 | Neural Networks (up to slide 28) | slides (.pdf) |
| Lecture #14, Part 1 | October 20, 2025 | Neural Networks | slides (.pdf) |
| Lecture #14, Part 2 | October 20, 2025 | Automatic Differentiation (began) | slides (.pdf), notebook (.ipynb) |
| Lecture #15, Part 1 | October 22, 2025 | Automatic Differentiation (finished) | slides (.pdf), notebook (.ipynb) |
| Lecture #15, Part 2 | October 22, 2025 | Automatic Differentiation for ML | slides (.pdf), notebook (.ipynb) |
| Lecture #16 | October 27, 2025 | PyTorch and Overfitting | slides (.pdf), notebook (.ipynb) |
| Lecture #17, Part 1 | October 29, 2025 | Classification | slides (.pdf), notebook (.ipynb) |
| Lecture #17, Part 2 | October 29, 2025 | Classification Example | slides (.pdf), notebook (.ipynb) |
| Lecture #18 | November 3, 2025 | Generative AI | slides (.pdf), notebook (.ipynb) |
| Lecture #19 | November 5, 2025 | Test | |
| Lecture #20, Part 1 | November 10, 2025 | Generative AI (finishing slides) | slides (.pdf), notebook (.ipynb) |
| Lecture #20, Part 2 | November 10, 2025 | Supervised Learning Review (began) | slides (.pdf) |
| Lecture #21 | November 12, 2025 | Reinforcement Learning Introduction | slides (.pdf) |
| Lecture #22 | November 17, 2025 | Reinforcement Learning Basics and Reward Design | slides (.pdf) |
| Lecture #23 | November 19, 2025 | From MENACE to REINFORCE | slides (.pdf) |
| Lecture #24 | November 24, 2025 | (Up to slide 18) Value Functions, TD Error, and Actor-Critics | slides (.pdf) |
| Lecture #25, Part 1 | December 1, 2025 | Value Functions, TD Error, and Actor-Critics | slides (.pdf) |
| Lecture #25, Part 2 | December 1, 2025 | Machine Learning and other Disciplines | slides (.pdf) |
| Lecture #26 | December 3, 2025 | Canceled | |
| Lecture #27 | December 8, 2025 | Fairness | slides (.pdf) |