WWU DATA 571 (Machine Learning) Syllabus
Fall 2026
Last modified: 2026-10-28
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 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:
-
Math for Data Science (mds), covering linear algebra, calculus, and vector calculus, available at https://morrison-lab.github.io/mds/.
-
Probability for Data Science (pds), covering probability theory, random variables, and distributions, available at https://morrison-lab.github.io/pds/.
-
Statistics for Data Science (sds), covering estimation, hypothesis testing, and inference, available at https://morrison-lab.github.io/sds/.
-
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.
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.
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:
| 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:
| \(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.
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 drs@wwu.edu; 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.