College Admissions Algorithms

Link to module

Evaluated December 2021

This module has students manipulate lists and do data type conversion. It introduces the multiple ways that bias is introduced into computer programs. The module could be used as a lab or a homework assignment in a Computer Science I course. Integration into a standard Computer Science I course should take minimal preparation and very little time from other material in a Computer Science I course.

It directly covers material in Software Development Fundamentals/Algorithms and Design, Software Development Fundamentals/Fundamental Programming Concepts, and Software Development Fundamentals/Fundamental Data Structures. It also fits into the Computational Science/Introduction to Modeling and Simulation knowledge area.

This module is to be used as an isolated assignment. The accompanying SIGCSE paper states that “Discussion following this assignment focused on algorithmic decision-making and representations of people in data, bias and fairness, human judgment in algorithmic decisions, and the appropriate role of algorithms in decision-making.” This is a good assignment for an instructor just beginning to dabble in conducting classroom discussions surrounding responsible computing. Instructors are advised to thinking carefully about which components of bias and fairness they want to stress.

This module is ready for use by all students, but it is important that students be guided by the instructor to help students identify those moments where the “Ethical and Social Concepts” listed in the module are bubbling just beneath the surface. The instructor will need to develop the grading and evaluation rubrics for the programming assignment. An instructor may wish to develop explicit assessment for student discussion and reflection. However, an instructor may also use this module to merely introduce the topics of fairness and bias. There is a rich opportunity as to why the outliers are tied to ethical considerations for diversity, equity, and inclusion.

The evaluation of this module was led by Jaye Nias and Darakhshan Mir as part of the Mozilla Foundation Responsible Computer Science Challenge. Patrick Anderson, Emanuelle Burton, Judy Goldsmith, Colleen Greer, Evan Peck, and Marty J. Wolf also made contributions. These works are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.