Course Level
CS1
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Assignment
Synopsis

This assignment helps students gain experience and proficiency with lists, loops, and random number generators. Students will learn how to think through and write branching logic, plot data, and modularize their code. Through this assignment, students will learn how the lottery contributes to a growing wealth disparity by redistributing money from low income families to middle and high income students in the form of scholarships. With this basic simulation, students can visualize and learn about the mechanisms that cause the wealth gap to widen. This handout is based on a math assignment by Justin Allman.

ACM Digital Library Entry

Recommendations

This assignment requires students to have experience with lists, loops, and writing functions in Python. The level of difficulty can be changed by adding or removing starter code, helper functions, and guiding comments. To evalu- ate student work, some of the resulting plots may require manual validation. This assignment is ideal in a lab/group setting to encourage discussion and reflection, and can be implemented as a partner coding activity. Students are encouraged to follow the provided starter code scaffolding, but there are many possible solutions, augmentations, and alterations that can be made to include more robust information if desired. This handout can also be assigned as a machine problem for one week.

Engagement Highlights

This assignment provides meaningful and relevant content by incorporating the important issue of the link between lotteries and the wealth gap. It also avoids stereotypes by explicitly addressing that people in poverty tend to gamble more often not out of ignorance, but because gambling facilities are more likely to be placed in poorer neighborhoods, thus increasing likelihood of lottery participation and gambling addiction in those areas. Instructors are encouraged to facilitate individual reflection and group discussion regarding this central or any related topics.

Computer Science Details

Programming Language
Python

Material Format and Licensing Information

Creative Commons License
CC BY