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

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 display .ipynb files, right click the link and select "Save Link As" (Firefox), or a similar option in your browser. Then open the downloaded file using VSCode.

Title Date Description Document Link
Jupyter Notebook Installation N/A Instructions describing how to install Python, VSCode, 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)

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 Sueprvised Learning Review (began) slides (.pdf)
Lecture #21 November 12, 2025 Reinforcement Learning Introduction slides (.pdf)