COMPSCI 389: Introduction to Machine Learning

Spring 2025, University of Massachusetts

Lecture: Tuesdays and Thursdays, 2:30-3:45 in Agricultural Engineering Building, Room 119

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.

  • Tuesdays, 10–12, Andy, LGRT T222.
  • Wednesdays, 3:30–5:30, Blossom, LGRT T220.
  • Thursdays, 11:30–1:30, Andy, LGRT T222.
  • Thursday Evenings, 7:30pm–8:30pm, Victor, Zoom.
  • Fridays, 10–12, Blossom, LGRT T220.

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 February 18, 2025 February 27, 2025 at 2:00pm Eastern notebook (.ipynb)
2 March 11, 2025 March 25, 2025 at 2:00pm Eastern notebook (.ipynb)
3 March 27, 2025 April 8, 2025 at 2:00pm Eastern notebook (.ipynb)
4 April 10, 2025 April 22, 2025 at 2:00pm Eastern notebook (.ipynb)
5 May 1, 2025 May 8, 2025 at 2:00pm Eastern notebook (.ipynb)

Lecture Slides and Code Notebooks


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