WWU DATA 571 (Machine Learning) Syllabus

Fall 2026

Published

Last modified: 2026-10-28

Note

This is the Fall 2026 syllabus. Items marked TBD (to be determined) have not been set yet. The syllabus is subject to change; I will announce in class any change made after the first day of class.

Course Information

Number
DATA 571
Name
Machine Learning
Website
Machine Learning for Data Science (lds)
Term
Fall 2026
Credits
4
Time
Monday, Tuesday, Wednesday, and Friday, 12–1pm
Place
Kaiser Borsari Hall 311
Office hours
Monday, Wednesday, and Thursday, 4–5pm, in my office (CF 463) unless otherwise noted
Prerequisites
Graduate status; MATH 204 (Elementary Linear Algebra) and MATH 341 (Probability and Statistical Inference); or instructor permission. MATH 224 (Multivariable Calculus and Geometry I) is recommended. The mathematics, probability, and statistics prerequisites are covered in the lab’s open notes: Math for Data Science (mds), Probability for Data Science (pds), and Statistics for Data Science (sds).
CRNs (course reference numbers)
TBD

Contact Information

Name
Ezra Morrison
Office
CF 463
Email
, for confidential matters only

All other course correspondence goes through Canvas; see Communication.

Course Description

Key machine learning theory, algorithms and experimentation techniques. Generalization, bias and variance. Classification, regression, and clustering. Linear models and nonlinear models, including neural networks. Ethical issues in machine learning.

Course Outcomes

On completion of DATA 571, students will demonstrate:

  • A thorough understanding of classification, regression and clustering.
  • An understanding of machine learning theory affecting model generalization.
  • An understanding of key performance metrics.
  • An understanding of ethical issues in machine learning.
  • The ability to implement standard machine learning algorithms.
  • The ability to conduct machine learning experiments, including training and tuning models, as well as evaluating and comparing model performance.
  • A thorough understanding of one advanced topic in machine learning.
  • An ability to write using the stylistic conventions of the machine learning subfield.

Textbooks and readings

There are no required textbooks for the course, but several books and notes are recommended:

  • Machine Learning for Data Science (lds), the course notes for DATA 571.
  • The lab’s companion prerequisite notes:
  • The Elements of Statistical Learning (2nd ed.) [1], ISBN 0387848576. A PDF can be downloaded at no cost from the authors’ webpage.
  • An Introduction to Statistical Learning (2nd ed.) [2]. A PDF can be downloaded at no cost from the authors’ webpage. The authors’ video course using R is Statistical Learning with R. The 2023 Python edition, An Introduction to Statistical Learning with Applications in Python (which adds Jonathan Taylor to James, Witten, Hastie, and Tibshirani), has its own course, Statistical Learning with Python; its Python lab sessions are also collected on their own, as ISLP Python Labs. The Data Science Learning Community has recorded book clubs that read the book chapter by chapter:
  • Tidy Modeling with R, by Max Kuhn and Julia Silge, teaches the tidymodels framework that the R code in this course’s labs uses. It can be read at no cost at tmwr.org. The Data Science Learning Community’s book club recordings [5] go through it chapter by chapter.
  • Deep Learning [6]. The book can be viewed at no cost from the book’s webpage. For video lectures on deep learning, see Stanford’s CS230, Deep Learning (Autumn 2025).
  • Pattern Classification (2nd ed.) [7], ISBN 0471056693.
  • Machine Learning: A Probabilistic Perspective [8], ISBN 0262018020.
  • Probabilistic Machine Learning: An Introduction [9], ISBN 9780262046824 and its sequel, Probabilistic Machine Learning: Advanced Topics [10], ISBN 9780262048439. Murphy rewrote his 2012 book as these two volumes, with the first covering foundations, classical methods and deep learning at the level of this course. The author offers free PDFs of both on the books’ webpage.
  • A Course in Machine Learning [11], a short first course in the subject. It can be read at no cost at ciml.info.
  • Pattern Recognition and Machine Learning [12], ISBN 0387310738. The book can be viewed at no cost via the author.
  • Deep Learning: Foundations and Concepts [13], ISBN 9783031454677, by Christopher Bishop and Hugh Bishop. A version to read online is free on the book’s webpage.
  • Machine Learning [14], ISBN 0070428077, a single-source introduction to the field. A PDF can be downloaded at no cost from the author’s webpage.
  • Mathematics for Machine Learning [15], on the mathematical foundations of the field: linear algebra, vector calculus, probability and optimization. The authors keep a PDF available at no cost on the book’s webpage.
  • Patterns, Predictions, and Actions: Foundations of Machine Learning [16]. The authors offer a PDF at no cost on the book’s webpage.
  • Understanding Machine Learning: From Theory to Algorithms [17], published by Cambridge University Press.
  • Foundations of Machine Learning (2nd ed.) [18]. The book can be downloaded at no cost, as a PDF or in HTML, from the first author’s webpage.
  • Data Science and Machine Learning: Mathematical and Statistical Methods [19], ISBN 9781138492530. The authors offer a PDF of the first edition free for educational use from the book’s webpage.
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow [20], ISBN 9781491962299.
  • Machine Learning with PyTorch and Scikit-Learn [21], ISBN 9781801819312. Code examples and Jupyter notebooks are available from the book’s GitHub repository.
  • Applied Machine Learning Using mlr3 in R [22], ISBN 9781032507545. It teaches the practical workflow in R — fitting and evaluating models, tuning hyperparameters, and building pipelines — with the mlr3 packages, and can be read at no cost on the book’s webpage.
  • Learning From Data: A Short Course [23]. More information is available from the book’s webpage.
  • The lecture notes for Stanford’s CS229, Machine Learning [24], available at no cost from the course webpage. The course’s lectures are on YouTube, both the Spring 2026 offering and Andrew Ng’s Autumn 2018 offering.
  • For an optimization reference: Convex Optimization [25], ISBN 0521833787, available at no cost from the authors’ website.

The class will not follow one book closely; use these books and notes as references.

Similar Courses

Other universities teach courses much like this one, and many post their materials at no cost. They are a good place to see a topic explained a second way. Each table starts with the courses that have both recorded lectures and written material, such as notes, slides or problem sets, and then lists the ones that have only one of the two. A dash means none is listed here.

Courses like this one

Show code
course_table("courses-like-this-one")
Course Recorded lectures Written material
Stanford’s CS229, Machine Learning Spring 2026; Andrew Ng’s Autumn 2018 Lecture notes [24]
Stanford’s Statistical Learning, taught by Hastie and Tibshirani R edition; Python edition; Python labs Its textbook, An Introduction to Statistical Learning [2], [26]; lab notebooks
Stanford’s EE104, Introduction to Machine Learning, taught by Lall YouTube A complete set of lecture notes
MIT’s 6.036, Introduction to Machine Learning (Spring 2019)1 Open Learning Library Lecture notes, exercises, labs and homework
Caltech’s CS156, Learning From Data, taught by Abu-Mostafa from his book [23] 18 lectures, also on YouTube Slides
The University of British Columbia’s CPSC 340, Machine Learning and Data Mining Gelbart’s 2018 lectures Schmidt’s slides, 100 Lectures on Machine Learning
Harvard’s CS 1810 (formerly CS 181), Machine Learning (2026), taught by Alvarez-Melis and Du — Syllabus; free textbook of notes, Undergraduate Fundamentals of Machine Learning; earlier years, including a recap of almost every lecture in 2022
Harvard’s CS 109A, Introduction to Data Science (Fall 2021), taught by Protopapas and Pillai — A page for each lecture, most with slides, and the exercise notebooks
MIT’s 6.867, Machine Learning (Fall 2006), a graduate course taught by Jaakkola, Singh and Mohammad — Lecture notes for most lectures; assignments and exams on MIT OpenCourseWare
The University of Washington’s CSE 446/546, Machine Learning (Spring 2026), taught by Jaques — Lecture slides [27], a textbooks page of free references and math refreshers, and the site of every earlier CSE 546 offering
The University of Washington’s CSE/STAT 416, Introduction to Machine Learning (Summer 2020), taught by Swamy — Lecture slides and Colab notebooks on regression, regularization, classification, clustering and neural networks
The University of Washington’s STAT 535, Foundations of Machine Learning (Autumn 2021), taught by Meila — Handouts on bias and variance, gradient descent, model selection, support vector machines and double descent; the follow-on STAT 548 handouts (Winter 2022) go further into theory
The University of Washington’s CSE 312, Foundations of Computing II (Summer 2020), taught by Tsun 5MinuteAI’s playlist follows the course [28] Materials and videos on probability and statistics for computing
The University of Washington’s CSE 547, Machine Learning for Big Data — A page for each offering, covering regularized linear models, matrix factorization, clustering, and sketching and hashing at scale
Stanford’s STATS 202, Data Mining and Analysis — A full set of course notes
Stanford’s MS&E 226, Fundamentals of Data Science — Lecture notes with R Markdown notebooks
Stanford’s CME 250, Introduction to Machine Learning, a short course — Slides
Stanford’s CS129, Applied Machine Learning None open to the public2 Handouts for each lecture
The University of Edinburgh’s Machine Learning and Pattern Recognition (MLPR) — Course notes
Carnegie Mellon’s 10-301/10-601, Introduction to Machine Learning (Spring 2026), taught by Virtue and Gormley — Slides
NYU’s DS-GA 1003, Machine Learning (Spring 2019), taught by Rosenberg — Slides
UCLA’s Biostat 212A, Statistical Machine Learning A, taught by Jin Zhou [29]3 — Syllabus; a slide deck for each topic, many with code in both R and Python; the decks’ Quarto sources
Cornell’s CS4780, Machine Learning for Intelligent Systems Weinberger’s lectures; the course webpage is for the Spring 2024 offering —
The University of Tübingen’s Statistical Machine Learning (2020), taught by von Luxburg YouTube, in English —
UC Berkeley’s Stat 154, Modern Statistical Prediction and Machine Learning, taught by Sanchez (site, GitHub) — Course repository, and the primary textbook, Sanchez and Marzban’s All Models Are Wrong: Concepts of Statistical Learning, a work in progress; neither states a license, so ask the authors before adapting

For hands-on practice with scikit-learn, Inria’s scikit-learn MOOC has notebooks and exercises that are free to use.

Materials

I will distribute handouts, homework, and lab materials on Canvas. The lecture notes are on this site:

Course Agenda

The course calendar (TBD) gives the day-by-day agenda, including all deadlines.

Communication

Outbound. I will send official class announcements through Canvas Announcements. Please set Canvas to notify you of them right away, so you do not miss important information:

  1. Open this course’s notification settings in Canvas.
  2. In the Announcement row, click the icon in the Email column and choose Notify immediately, shown as a bell. A bell with a line through it means that notification is off. A calendar icon means you get a daily or weekly summary instead.
  3. The other rows, such as Due Date, work the same way, so turn on any others you want to hear about.

In this example, Announcement is set to Notify immediately:

Canvas course notification settings table with rows for Due Date, Grading Policies, Course Content, Files and Announcement. Due Date and Grading Policies show a calendar icon, Course Content and Files show a bell with a line through it, and Announcement shows a green bell.

Inbound. All course-related correspondence goes through Canvas. Nearly all questions or comments from you to me and/or the grader should be posted on the official class discussion forum, which is Canvas Discussions. Anything that should not be posted there, such as a grading question or objection, goes in a Canvas message to me and the grader.

The only class-related matters that should not go through Canvas at all are those containing confidential information (e.g., information about your health). Communications containing confidential information should be sent to my WWU email address, which is the one exception to using Canvas.

Questions and Corrections

If something in the course materials seems wrong, ask. The course materials include the notes, handouts, assignments, and anything I say or show in class, including my slides. I will make mistakes, and so will the other authors of the materials.

Do not assume that you are the confused one when the material might be wrong. Richard Feynman told a room of science teachers that “science is the belief in the ignorance of experts” [31], and in this course I am (supposedly) one of the experts. Ask your question first, in class or outside it, and we can talk through your reasoning together. If you are right, we all learn something and I fix the material. If you are not, we can jointly find out where the confusion started.

Health Precautions

The health and safety of everyone in the class is a top priority. In short: if you are sick with something that could be communicable, let me know ahead of time and I will try to arrange a remote participation option, so you can stay home and not expose others needlessly. Please contact me if you have questions, concerns or suggestions.

Software

You may complete assignments in Python, R, Julia, or MATLAB/Octave. Other languages are negotiable. One of the course outcomes is implementing standard algorithms yourself, so expect to write core methods from scratch before reaching for libraries such as scikit-learn (Python). For any software that comes pre-installed in the department labs (e.g. Python), please use the default installed version.

Student-Centered Teaching

Student-centered teaching methodologies, which prioritize student learning outcomes over instructor output (“more doing, less listening”), have been shown to be vastly more effective than traditional lectures. As Brian Hutchinson highlights from wearable-sensor studies of electrodermal activity [32] and his lecture presentation [33], traditional passive lectures produce low sympathetic nervous system arousal and attention—comparable to watching television and sleeping. Active problem-solving, formative assessment, and peer discussion elevate engagement and learning.

Furthermore, cognitive science shows that “the less effort it takes to learn something, the less durable that learning is” [34]. This course is intentionally challenging for the right reasons, backed by a growth mindset: talent and mathematical ability can be developed through focused effort, challenges expand your abilities, and mistakes are essential opportunities to grow. Research confirms that an instructor’s growth-mindset beliefs predict student achievement and motivation even after accounting for other faculty characteristics [35].

I incorporate several student-centered techniques into class sessions, with the goal of you learning more durably and effectively, including ABCD cards, collaborative pop quizzes, and “flipped” video lectures.

ABCD Cards

On the first day of class, I will give each student an ABCD card, which you will use to vote on answers to questions in class. They work like electronic clickers, but they are free and need no batteries. I use them because they allow both you and me to quickly assess how well you understand the material, so that I can adjust what I emphasize in class and you can adjust what you study out of class to improve learning outcomes. Please bring this card to class each day. If you lose your card at any point during the quarter, you need to print a new, landscape-mode color copy (PDF: TBD). There are also apps for this purpose you can download; just make sure you use one with the same color scheme as our physical cards.

Video Lectures

Some of the lectures in this class will be “flipped”, in particular during the first few weeks. In a flipped lecture, I pre-record the lecture presentation and make it available to you as an online video lecture, which you must watch before coming to class. During class there will be individual and small-group exercises, to give you an opportunity to refine your understanding of the topic and to immediately exercise the knowledge you obtained. There will not be any “re-lecture” of the content; class will proceed with the assumption that everyone has already watched the lecture. The video lectures are posted on Brian Hutchinson’s video lecture site [36]. The site requires a login, which enrolled students find in the course’s Canvas site.

Grading

Course grades are letter grades, based on:

Category Weight
Five homework assignments (5% each) 25%
Five homework self-grades (1% each) 5%
Three midterm exams (10%, 30%, 30%) 70%
Final exam (optional) replaces the midterm average, if higher

I will assign final letter grades based on the weighted average of assignment scores, by the standard scale:

Cumulative score Letter grade
\(90\% \le x\) A range
\(80\% \le x < 90\%\) B range
\(70\% \le x < 80\%\) C range
\(60\% \le x < 70\%\) D range
\(x < 60\%\) F

Homework

The course has five graded homework assignments, as well as additional ungraded exercises and readings. Each homework assignment is worth 5% of your final grade (25% cumulative). Due dates are on the course calendar.

Homework Grading

I will post solutions after each homework submission deadline. You are encouraged to self-grade your homework assignments using the posted solutions. Accurately self-grading each homework is 1% of your grade (5% cumulative). The grader and I will spot-check your self-grading, and you are encouraged to ask for help with self-grading during office hours.

Submit your self-graded homework solutions on Canvas one week after I post the solutions. Self-grading should include specific, detailed annotations on each sub-problem, marking:

  • where you made mistakes;
  • what your mistake was;
  • what a correct answer would have been.

In other words, give yourself the feedback that you think an ideal grader would give. Handwritten self-grading annotations are acceptable.

Self-grading serves multiple purposes:

  • it enables the grader and me to spend more time on office hours and course preparation;
  • it motivates you to learn from your mistakes.

You are also welcome to opt out of self-grading, in whole or in part. If you do not complete your self-grading for an assignment by the corresponding deadline, we will assume that you want us to grade it for you, but we would be grateful for explicit notification when you decide not to self-grade, which might enable us to provide feedback sooner.

All questions and objections to grading must be submitted in writing, as a private Canvas message to both me and the grader (see Communication).

Exams

The course has three in-class midterm exams, tentatively scheduled for Friday, October 30, Friday, November 13 and Monday, November 23 (see the course calendar). Midterm 1 covers linear regression and generalization. Midterm 2 covers gradient descent, logistic regression and performance metrics. Midterm 3 covers the lectures that Midterms 1 and 2 do not, through Wednesday, November 18 (see the course calendar for the topics). There is also an in-person final exam during finals week, on Friday, December 11, 8–10am. If a midterm’s date changes, I will announce the change at least two weeks before that exam is given.

  • I will provide a standardized note sheet for each exam.
  • Any calculator allowed for the SAT is allowed for the exams.
  • Midterms 1, 2 and 3 are worth 10%, 30% and 30% of the course grade.
  • I hold a review session before each exam: in class on Wednesday, October 28 before Midterm 1, in class on Tuesday, November 10 before Midterm 2, in class on the Friday before Midterm 3, and during finals week for the final.

The final exam is entirely optional. If your grade on the final is higher than the average of your three midterm grades, weighted 10 to 30 to 30, I will use your final grade to replace all three of your midterm grades. I intend the final exam as an extra chance to demonstrate your mastery of the course material, and it can only improve your grade. If you are satisfied with your grade prior to the final, you are welcome to skip it entirely; doing so will not affect your course grade.

Deadlines and Late Work Policy

Please refer to the course calendar for the most up-to-date deadlines. I accept no late work, except where the calendar gives a no-penalty window, as it does for Homework 1. If you miss a deadline or exam due to a medical emergency, please contact me as soon as possible to discuss arrangements. If you know in advance that you will be unable to take an exam at the scheduled time, let me know at least one week before the exam, and we may be able to reschedule it for an earlier day and time.

Submitting Your Work

You will develop and store homework code in Git version control repositories, which you can access in Linux using the command-line client. Specifically, we will use private GitHub repositories under a course GitHub organization (TBD). If you do not yet have a GitHub account, please create one. Develop your programs from start to finish under version control. Be sure to push your final version before the assignment deadline: I will pull the current default branch of the repository at the due time. For an introduction to Git and GitHub, see the Git and GitHub chapter of the Principles of Scientific Computing (psc) notes. You should also push your code before coming to office hours if you would like to receive feedback on it.

Program Guidelines

The grader and I will grade your programs on three criteria, in this order:

  1. correctness;
  2. clarity;
  3. efficiency.

Correctness. A correct program always produces the correct output for a given input. Also, a correct program does not produce unintended side effects. The most effective way to ensure that your program is correct is to test, test, test. Test each component as you introduce it; once you are confident that a component works, you can use it in other routines. Try to break your program in testing, and if you succeed, locate the bug and fix it. The better you test your program, the more likely it is to be correct, and the more likely it is to be correct, the more likely you’ll earn a good score. Most of your grade will depend on the correctness of your code.

Clarity. The easier it is to read and maintain your code, the easier it is to locate and remove bugs. Your program should be:

  • well organized;
  • appropriately commented;
  • easy to maintain.

To have a well-organized program, design your program thoughtfully and modularly. Think before you code: writing code without a plan leads to hard-to-read code. If you write code without a plan and it works but is hard to read, check it into your version control repository and try to make it easier to read. If your cleaning introduces bugs, you can always revert to the original version. If you have two separate code blocks doing essentially the same thing, try to create one subroutine and call it from both places (copying and pasting code is a sign of a problem). The psc notes’ R Code Style chapter gives the lab’s conventions for R, and many of its principles apply in any language. The less code you have to maintain, the fewer chances to introduce bugs (and the less code to change when you find a bug). As for comments, please follow these simple guidelines proposed by Emeritus Professor Osborne:

  • A comment at the top of the program states the program’s purpose, the author, and date.
  • Each subprocedure is accompanied by a comment that states its purpose, describes pre- and post-conditions, and mentions any exceptions raised.
  • Within a procedure, precede code sections by a comment that says what the section does. This is usually one line long.
  • Occasionally in tricky pieces of code, a comment to the right explains what the code does.
  • For each major variable, a comment explains its purpose.
  • Don’t over-comment. Brief is best, but not so brief as to be cryptic.

Efficiency. Your programs should be asymptotically efficient. In practice, you would use highly optimized machine learning or linear algebra libraries, but our goal here is educational: I want you to understand the individual operations in our machine learning algorithms. This probably means your code will have a higher constant than it could have; this is okay.

Academic Honesty

As a future professional, your integrity is crucial. It is your responsibility to read and be familiar with the university’s academic dishonesty policy, found in Appendix D of the Western Washington University Course Catalog.

  • Homework: you may collaborate freely with your classmates, and you may use AI tools, such as ChatGPT or GitHub Copilot.
  • Exams: in-class exams are solo. Work alone, without help from anyone else and without AI tools or other devices; the only aids allowed are the provided note sheet and a calculator, as described under Exams.

Cheating on an exam will result in failing the course (grade of F), and I will file documentation of the incident with the university. All cases of academic dishonesty will be reported. When in doubt, ask the instructor.

Computer Labs

This class does not have a scheduled lab, but we may meet during our lecture hour in a lab on specific occasions for hands-on activities. Outside of those sessions, several computer labs are available to use. You should be able to use any of the department’s open labs. Most of these labs have the Linux operating system with Git installed. The psc notes’ Unix chapter covers the shell basics. In addition, a dedicated AI lab is coming soon to the department.

Student Access to AI and Cloud Computing

Beyond commercial paid services and the department’s upcoming AI lab, several free options are available to enrolled students:

  • Azure for Students: Microsoft provides access to a collection of free cloud services and $100 in credit for paid services. This benefit is renewable every 12 months for students who remain actively enrolled.
  • Google Gemini: Google offers a one-year free subscription to students, as long as they activate it while an active student.

Writing to Think

When you are stuck in this course, try putting your question into words in writing. Write it in full sentences, with the numbers or code you used and what you have already tried.

The habit pays off in two ways. A written question can be posted on the class discussion forum (or Stack Exchange, etc.) so I and others can help. Writing your thoughts down also helps clarify your question, and that sometimes answers it. In an interview on the 5 Minute Mentor podcast, Leslie Lamport says:

As someone said, “Writing is nature’s way of showing you how fuzzy your thinking is.” If you think you understand something, and don’t write down your ideas, you only think you’re thinking.

— Leslie Lamport [37]

Library Writing Resources

The Hacherl Research & Writing Studio supports almost anything that involves words: group projects, essays, posters, podcasts, lab reports, applications, grad theses and more. You can work with them just like an open art studio or lab space, where you get work done with feedback along the way. Drop into the Studio on the second level of Haggard Hall or use their online chat to:

  • stay focused and get things done;
  • discuss ideas with someone;
  • share something you’re making;
  • ask for tips any time you have difficulty.

See https://library.wwu.edu/rws for details.

Student Conduct

I am committed to maintaining an inclusive, supportive, and professional environment in all academic settings, including lectures, labs, and course-related online spaces. I expect students to live up to the Association for Computing Machinery (ACM) Code of Ethics and Professional Conduct, the ethical code adopted by nearly every software professional. A pattern of failing to follow the ACM Code of Ethics and Professional Conduct can negatively affect course grades, up to and including a failing grade for the course.

Course Materials

The instructor retains all rights to the course materials. Do not redistribute any content (including, but not limited to, lecture videos, assignments, and demos).

Disabilities

Reasonable accommodation for persons with documented disabilities should be established within the first week of class and arranged through Disability Resources for Students: telephone 360-650-3083; email ; and on the web at Disability Resources.

Student Services

Western encourages students to seek assistance and support at the onset of an illness, difficulty, or crisis.

  • In the case of a medical concern or question, please contact the Health Center: 360-650-3400, or visit Student Health.
  • In the case of an emotional or psychological concern or question, please contact the Counseling Center: 360-650-3400, or visit Counseling Services.
  • In the case of a health and safety concern, please contact the University Police: 360-650-3555, or visit University Police.
  • In the case of a family or personal crisis or emergency, please contact the Dean of Students.
  • To seek confidential support related to sexual violence, please contact CASAS (360-650-3700), the Student Health Center, and/or the Counseling Center. To report sexual violence, please contact University Police, Bellingham Police, and/or the Title IX Coordinator in Western’s Civil Rights and Title IX Compliance office (360-650-3307). Faculty are responsible employees who are required to report sex discrimination, including sexual violence that they learn about, to the Title IX Coordinator.

Career Advising

I am glad to meet with you to discuss your short-, medium-, and long-term career goals. Academic Advising & Career Readiness is also available for help with academic planning or your career, such as finding jobs and internships or getting feedback on your resume.

Other Policies

Please read Syllabi@WWU for additional, important policies.

Start-of-Quarter Survey

Please fill out the anonymous start-of-quarter survey before class on Friday, September 25. Every question is optional, and it should take 15 to 20 minutes. Its last page asks a few more optional questions, which need your name and so go in a Canvas message to me instead.

Anonymous Feedback

Unlike the start-of-quarter survey, the anonymous feedback form stays open all quarter, so you can use it at any time. Tell me what is working, what is not, and how I could improve the course. I read every response.

References

[1]
T. Hastie, R. Tibshirani, and J. Friedman, The elements of statistical learning: Data mining, inference, and prediction, 2nd ed. Springer, 2009. Available: https://hastie.su.domains/ElemStatLearn/
[2]
G. James, D. Witten, T. Hastie, and R. Tibshirani, An introduction to statistical learning with applications in R, 2nd ed. Springer, 2021. Available: https://www.statlearning.com/
[3]
Data Science Learning Community, “Introduction to statistical learning using R (islr06).” Book club meeting recordings on YouTube, 2023. Available: https://www.youtube.com/playlist?list=PL3x6DOfs2NGjlhpKMiWsDcKL2nngwXROq
[4]
Data Science Learning Community, “Introduction to statistical learning using Python (islp03).” Book club meeting recordings on YouTube, 2025. Available: https://www.youtube.com/playlist?list=PL3x6DOfs2NGgbSNh0UG87rrM-z5LiKLZp
[5]
Data Science Learning Community, “Tidy modeling with R (tmwr05).” Book club meeting recordings on YouTube, 2023. Available: https://www.youtube.com/playlist?list=PL3x6DOfs2NGgSt6vIGQWtLwZXS2Q7WZlE
[6]
I. Goodfellow, Y. Bengio, and A. Courville, Deep learning. MIT Press, 2016. Available: https://www.deeplearningbook.org/
[7]
R. O. Duda, P. E. Hart, and D. G. Stork, Pattern classification, 2nd ed. New York: Wiley, 2001.
[8]
K. P. Murphy, Machine learning: A probabilistic perspective. in Adaptive computation and machine learning. MIT Press, 2012.
[9]
K. P. Murphy, Probabilistic machine learning: An introduction. in Adaptive computation and machine learning. MIT Press, 2022.
[10]
K. P. Murphy, Probabilistic machine learning: Advanced topics. in Adaptive computation and machine learning. MIT Press, 2023.
[11]
H. Daumé III, A course in machine learning. 2017. Available: http://ciml.info/
[12]
C. M. Bishop, Pattern recognition and machine learning. in Information science and statistics. New York: Springer, 2006.
[13]
C. M. Bishop and H. Bishop, Deep learning: Foundations and concepts. Springer, 2024. doi: 10.1007/978-3-031-45468-4.
[14]
T. M. Mitchell, Machine learning. in McGraw-hill series in computer science. New York: McGraw-Hill, 1997.
[15]
M. P. Deisenroth, A. A. Faisal, and C. S. Ong, Mathematics for machine learning. Cambridge University Press, 2020. doi: 10.1017/9781108679930.
[16]
M. Hardt and B. Recht, Patterns, predictions, and actions: Foundations of machine learning. Princeton University Press, 2022. Available: https://mlstory.org/
[17]
S. Shalev-Shwartz and S. Ben-David, Understanding machine learning: From theory to algorithms. Cambridge University Press, 2014. doi: 10.1017/CBO9781107298019.
[18]
M. Mohri, A. Rostamizadeh, and A. Talwalkar, Foundations of machine learning, 2nd ed. MIT Press, 2018. doi: 10.7551/mitpress/10290.001.0001.
[19]
D. P. Kroese, Z. I. Botev, T. Taimre, and R. Vaisman, Data science and machine learning: Mathematical and statistical methods. Boca Raton, FL: Chapman; Hall/CRC, 2019. Available: https://people.smp.uq.edu.au/DirkKroese/DSML/
[20]
A. Géron, Hands-on machine learning with Scikit-Learn and TensorFlow. O’Reilly Media, 2017.
[21]
S. Raschka, Y. (Hayden). Liu, and V. Mirjalili, Machine learning with PyTorch and Scikit-Learn: Develop machine learning and deep learning models with Python. Birmingham–Mumbai: Packt Publishing, 2022.
[22]
B. Bischl, R. Sonabend, L. Kotthoff, and M. Lang, Eds., Applied machine learning using mlr3 in R. Boca Raton, FL: Chapman; Hall/CRC, 2024. doi: 10.1201/9781003402848.
[23]
Y. S. Abu-Mostafa, M. Magdon-Ismail, and H.-T. Lin, Learning from data: A short course. AMLBook, 2012. Available: https://amlbook.com/
[24]
T. Ma and A. Ng, “CS229 lecture notes.” Stanford University; revised 23 August 2026, 2026. Available: https://cs229.stanford.edu/main_notes.pdf
[25]
S. Boyd and L. Vandenberghe, Convex optimization. Cambridge University Press, 2004. doi: 10.1017/CBO9780511804441.
[26]
G. James, D. Witten, T. Hastie, R. Tibshirani, and J. Taylor, An introduction to statistical learning: With applications in Python. Springer, 2023. doi: 10.1007/978-3-031-38747-0.
[27]
N. Jaques, “CSE 446/546: Machine learning, lecture slides.” University of Washington, 2026. Accessed: Oct. 12, 2026. [Online]. Available: https://courses.cs.washington.edu/courses/cse446/26sp/schedule/lectures/
[28]
5MinuteAI, “Probability & statistics.” Video playlist on YouTube. Accessed: Oct. 12, 2026. [Online]. Available: https://www.youtube.com/playlist?list=PLeB45KifGiuHesi4PALNZSYZFhViVGQJK
[29]
J. Zhou, “Biostat 212A: Statistical machine learning a, winter 2026.” UCLA, course webpage with lecture slides, 2026. Available: https://ucla-biostat-212a.github.io/2026winter/
[30]
N. Matloff, “ECS 189G, Spring 2023: A Course on (Social) Fairness of Machine Learning Algorithms.” Course materials, University of California, Davis; GitHub repository, 2023. Accessed: Oct. 27, 2026. [Online]. Available: https://github.com/ucdavis/FairMLCourse
[31]
R. P. Feynman, “What is science?” The Physics Teacher, vol. 7, no. 6, pp. 313–320, 1969, doi: 10.1119/1.2351388.
[32]
M.-Z. Poh, N. C. Swenson, and R. W. Picard, “A wearable sensor for unobtrusive, long-term assessment of electrodermal activity,” IEEE Transactions on Biomedical Engineering, vol. 57, no. 5, pp. 1243–1252, 2010, doi: 10.1109/TBME.2009.2038487.
[33]
B. Hutchinson, “DATA 471/571: Machine learning.” Western Washington University, 2024.
[34]
P. C. Brown, H. L. Roediger III, and M. A. McDaniel, Make it stick: The science of successful learning. Cambridge, MA: Belknap Press of Harvard University Press, 2014.
[35]
E. A. Canning, K. Muenks, D. J. Green, and M. C. Murphy, “STEM faculty who believe ability is fixed have larger racial achievement gaps and inspire less student motivation in their classes,” Science Advances, vol. 5, no. 2, p. eaau4734, 2019, doi: 10.1126/sciadv.aau4734.
[36]
B. Hutchinson, “DATA 471/571 (machine learning) and CSCI 481/581 (deep learning) video lectures.” Western Washington University. Accessed: Sep. 28, 2026. [Online]. Available: https://facultyweb.cs.wwu.edu/~hutchib2/video_lectures/data371/
[37]
L. Lamport, “Think and write, with Leslie Lamport.” Interview by Edaena Salinas, 5 Minute Mentor podcast (Mentors.fm), Aug. 2019. Available: https://mentors.fm/2019/08/13/think-and-write-with-leslie-lamport/
Back to top

Footnotes

  1. Its materials are all usable without enrolling. The course is now numbered 6.390; its current webpage has course notes and lecture slides, and its recordings are open only to registered students.↩︎

  2. CS129’s lecture videos are on Coursera, in a session open only to students enrolled in the course.↩︎

  3. Biostat 212A uses the same An Introduction to Statistical Learning and The Elements of Statistical Learning texts as this course.↩︎

  4. Taylor is a co-author of An Introduction to Statistical Learning’s Python edition [26].↩︎