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
Materials:
Instructor Guidance:
Supplementary Reading:
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
Materials:
Instructor Guidance:
Supplementary Reading:
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
Materials:
Instructor Guidance:
Supplementary Reading:
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
Materials:
Instructor Guidance:
Supplementary Reading: