CS 3960 - Algorithm Fairness in Machine Learning

Spring 2023

Syllabus: Course Critical Information (see Canvas for details)

Lectures: MoWe / 4:35 p.m. - 5:55 p.m., MEB 2325

Instructor: Bei Wang Phillips

TA: Xinyuan Yan

Instructor Office Hours:

  Prof. Bei Wang Phillips:  WEB 4608 (see Canvas for the latest schedule); or by appointment.

TA office hours: Xinyuan Yan (see Canvas for the latest schedule); or by appointment.

Course Catalog Description: This course studies how to ensure, via algorithmic developments, that biases in both the data and the model do not lead to models that treat individuals unfavorably on the basis of race, gender, income, etc. The course trains the next generation data scientists who employ, implement, or deploy fairer machine learning tools.

Prerequisites: CS 3190 Foundations of Data Analysis

Class Information:

Course materials:

This class has no required textbook but offers a number of required reading materials, including:


  • Writing and coding homework assignments: (60%)
  • Class participation (including discussions and scribe notes): (10%)
  • Project (2 people max per team): a case study of algorithm fairness that contains both a writing and a coding component (30%)

Course Outline (including but not limited to):

  • A brief introduction to algorithm fairness
  • Biases and de-biasing in word embeddings
  • Automated decision making: risks and benefits
  • Causal fairness
  • Fairness measurement
  • Algorithm fairness in practice
  • Fairness in classification and regression
  • Policies for responsible AI in the United States
  • Future directions

Learning objectives: Upon completion of CS 3960, students are able to:

  • Be aware of fairness issues when designing and implementing machine learning algorithms.
  • Learn about foundational theories involving algorithm fairness.
  • Learn about public policies involving algorithm fairness.
  • Identify potential sources of bias in data and real-world applications.
  • Quantify fairness using various measures.
  • Discuss strategies to mitigate bias.
  • Analyze the fairness and robustness of machine learning models.
  • Apply tools to explain the output of a machine learning algorithm under the fairness setting.

Homework assignments:

Assignments will be writing or coding assignments that address specific questions based on the course materials. Each writing assignment will generally be no more than 2 pages long (11 pt, single spaced). Each coding assignment will involve writing segments of code in Python or utilizing existing machine learning Python libraries (such as scikit-learn). Each assignment should be turned in electronically (in PDF format, either generated directly or exported from another text editing mechanism).


The project involves a detailed study of algorithm fairness that contains both a writing and a coding component. It will be an algorithm fairness project in a data science context.

Acknowledgement: This course is developed with a grant from the Utah System of Higher Education (USHE) Deep Technology Initiative.

Disability Notice

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities.  If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD).  CDS will work with you and the instructor to make arrangements for accommodations.

All written information in this course can be made available in alternative format with prior notification to the Center for Disability Services.