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)