COMPSCI 389: Introduction to Machine Learning

Spring 2026, University of Massachusetts

Lecture: Tuesdays and Thursdays, 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, 3-4, CSL E213, TA Norman. (Note: Zoom-only until spring break.)
  • Tuesdays, 10-11, LGRT T220, UCA Olive.
  • Wednesdays, 2-3, LGRT T220, UCA Rohit.
  • Thursdays, 3-4, CSL E213, TA Norman. (Note: Zoom-only until spring break.)

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
0 January 29, 2026 February 5, 2026 at 1:00pm Eastern notebook (.ipynb)
1 February 17, 2026 February 24, 2026 at 1:00pm Eastern notebook (.ipynb)
2 March 5, 2026 March 12, 2026 at 1:00pm Eastern notebook (.ipynb)
3 March 31, 2026 April 9, 2026 at 1:00pm Eastern notebook (.ipynb)
4 April 14, 2026 April 21, 2026 at 1:00pm Eastern notebook (.ipynb)
5 April 30, 2026 May 7, 2026 at 1:00pm Eastern notebook (.ipynb)

Lecture Slides and Code Notebooks


Lecture Lecture Date Topic Document Link
Lecture #1, Part 1 January 29, 2026 Course Introduction slides (.pdf)
Lecture #1, Part 2 January 29, 2026 Introduction to ML slides (.pdf)
Lecture #2 February 3, 2026 Class Canceled
Lecture #3, Part 1 February 5, 2026 Introduction to Supervised Learning slides (.pdf)
Lecture #3, Part 2 February 5, 2026 Data Analysis (up to Slide 21) slides (.pdf), notebook (.ipynb)
Lecture #4, Part 1 February 10, 2026 Data Analysis slides (.pdf), notebook (.ipynb)
Lecture #4, Part 2 February 10, 2026 Models, Algorithm Template, Nearest Neighbors (up to Slide 19) slides (.pdf), notebook (.ipynb)
Lecture #5, Part 1 February 12, 2026 Models, Algorithm Template, Nearest Neighbors slides (.pdf), notebook (.ipynb)
Lecture #5, Part 2 February 12, 2026 Model Evaluation (Evaluation metrics and train/test splits) slides (.pdf), notebook (.ipynb)
Lecture #6, Part 1 February 17, 2026 Nearest Neighbor Variants slides (.pdf), notebook (.ipynb)
Lecture #6, Part 2 February 17, 2026 Evaluation Part 2 (The need for better evaluations) notebook (.ipynb)
Lecture #6, Part 3 February 17, 2026 Probability, Statistics, Quantifying Uncertainty (Up to slide 9) slides (.pdf)
Lecture #7 February 24, 2026 Evaluation Part 3 (Quantifying Uncertainty) slides (.pdf), notebook (.ipynb)
Lecture #8, Part 1 February 26, 2026 Evaluation Part 4 (Cross-Validation) slides (.pdf), notebook (.ipynb)
Lecture #8, Part 2 February 26, 2026 Review and Validation Sets slides (.pdf)
Lecture #8, Part 3 February 26, 2026 Linear Regression and the Optimization Perspective (Up to Slide 15) slides (.pdf)
Lecture #9 March 3, 2026 Linear Regression and the Optimization Perspective (finished) slides (.pdf)
Lecture #10 March 5, 2026 Gradient Descent slides (.pdf)
Lecture #11 March 10, 2026 Data Cleaning first notebook (.ipynb), slides (.pdf), second notebook (.ipynb)
Lecture #12 March 12, 2026 Neural Networks (up to slide 41) slides (.pdf)
Lecture #13, Part 1 March 24, 2026 Neural Networks slides (.pdf)
Lecture #13, Part 2 March 24, 2026 Automatic Differentiation (Up to slide 30) slides (.pdf), notebook (.ipynb)
Lecture #14, Part 1 March 26, 2026 Automatic Differentiation (finished) slides (.pdf), notebook (.ipynb)
Lecture #14, Part 2 March 26, 2026 Automatic Differentiation for ML slides (.pdf), notebook (.ipynb)
Lecture #15 March 31, 2026 PyTorch and Overfitting slides (.pdf), notebook (.ipynb)
Lecture #16 April 2, 2026 Canceled
Lecture #17, Part 1 April 7, 2026 Classification slides (.pdf), notebook (.ipynb)
Lecture #17, Part 2 April 7, 2026 Classification Example slides (.pdf), notebook (.ipynb)
Lecture #18 April 9, 2026 Generative AI (start) slides (.pdf), notebook (.ipynb)
Lecture #19 April 14, 2026 Generative AI (finish) slides (.pdf), notebook (.ipynb)
Lecture #20 April 16, 2026 Supervised Learning Review (began) slides (.pdf)
Lecture #21 April 21, 2026 Reinforcement Learning Introduction slides (.pdf)
Lecture #22 April 23, 2026 Test
Lecture #23 April 23, 2026 Reinforcement Learning Basics and Reward Design slides (.pdf)
Lecture #24 April 28, 2026 From MENACE to REINFORCE (up to slide 23) slides (.pdf)
Lecture #25, Part 1 April 30, 2026 From MENACE to REINFORCE (finished) slides (.pdf)
Lecture #25, Part 2 April 30, 2026 Value Functions, TD Error, and Actor-Critics slides (.pdf)
Lecture #26 May 5, 2026 Machine Learning and other Disciplines slides (.pdf)
Lecture #27 May 7, 2026 Fairness slides (.pdf)