Materials for a ten-session class introducing high school or undergraduate students to machine learning and ethics.
All algorithms have biases, all systems have limitations, and all technologies have risks. Machine learning techniques offer the potential to produce faster, cheaper, and more consistent results, but these approaches can easily be misused. In Ethical Machine Learning, students will identify appropriate machine learning tasks, prepare training data, evaluate model performance, and discuss the impact of machine learning on diverse stakeholders. Coding activities in this class focus on analyzing and modifying programs, not writing lots of code.
Prerequisite: Completed CS1 course in Python or other equivalent programming experience.
- Students will be prepared to study machine learning in school and independently.
- Students will be prepared to recognize dubious applications of machine learning.
- Students will identify tasks suitable for machine learning.
- Students will identify data and training issues with machine learning.
- Students will evaluate the performance of machine learning models.
- Students will discuss the impact of machine learning on diverse stakeholders.
- Ask questions to explore deeper.
- Involve everyone in group activities. (no math/CS-shaming)
- Exercise your moral imagination.
- Reflect on your perspectives and blind spots.
- Session 01: Defining Tasks
- Session 02: Data Preparation
- Session 03: Model Evaluation
- Session 04: Utility
- Session 05: Fairness I
- Session 06: Fairness II
- Session 07: Rights
- Session 08: Virtue
- Session 09: Deep Learning
- Session 10: Common Good
Course developed and taught by Vinesh Kannan.
Based on materials from:
- Markkula Center for Applied Ethics at Santa Clara University
- Princeton Dialogues on AI and Ethics
- CS584 Machine Learning Course at the Illinois Institute of Technology
And other sources as attributed in individual lesson plans.
This work is licensed under a Creative Commons Attribution 4.0 International License.