Ethics-Based Computer Science Assignments

Below are materials for computer science assignments that promote ethical reasoning. We invite you to adapt these assignments for your classroom.

College Admissions Algorithms

Authors: Natalie Garrett and Casey Fiesler

Theme: Create an automated system to process college applications.

Context: Intro-level programming or non-coding algorithmic thinking homework assignment

Programming Topics: Lists and functions

Ethical Reasoning: Algorithmic decision-making and representations of people in data, understanding outliers, missing information in data, and human judgements in algorithmic decisions

 

Personalized Ads Programming Assignment

Authors: Natalie Garrett and Casey Fiesler

Theme: Creating Targeted Ads for a social media platform

Context: Intro-level programming homework assignment

Programming Topics: Conditionals and boolean expressions

Ethical Reasoning: Behavioral advertising, social media privacy and inference, machine learning and behavioral modeling

 

Passwords Programming Assignment

Contributors: Joshua Paup, Samantha Dalal, Johnny Sreenan, Shamika Klassen, Casey Fiesler

Theme: Password management systems and checking password strength

Context: Intro-level programming homework assignment

Programming Topics: Lists and strings

Ethical Reasoning: Security in password systems

 

Content Moderator Assignment

Author: Julie Jarzemsky

Theme: Keyword matching and using Python libraries

Context: Intro-level programming homework assignment

Programming Topics: File I/O, loops, conditionals, and regular expressions

Ethical Reasoning: Benefits and pitfalls of content moderation