Project: Fatal Police Shootings

Summary In this project, students investigate whether black people are disproportionately the victims of fatal police shootings in the United States.
Students use Python dictionaries to analyze read-world data on fatal police shootings, as compiled by the Washington Post [LINK].
The intended audience is students in a CS 1 course taught in Python.
In CS 1, this is an intermediate assignment, and typically takes a week or two.
This project incorporates an important issue into the course content, while providing the opportunity for students to practice working with dictionaries and data. Students complete computations on real-world data and draw their own conclusions from the results.
The subject of this project can be very difficult, and may be traumatic for some students. While it can be very valuable for students to explore difficult topics, instructors using this project should consider how it might impact their students, and may consider having an alternative assignment available.
This project was developed in a course using the textbook "Foundations of Python Programming" through Runestone Academy, and requires familiarity with the content from Chapters 1 through 11 of this textbook. For courses not using this text, students should have experience with variables, expressions, strings, lists, for loops, conditional statements, files, and dictionaries.
The dataset provides additional opportunities for exploration. As an example, one could investigate whether the presences of a body camera affects the racial breakdown of victims of fatal police shootings.

In this project, students use Python dictionaries as a database to store data on fatal police shootings. After familiarizing themselves with the data, students compute the percentage of fatal police shootings with a black subject and compare this with the percentage of the United States population who are black. They repeat this computation, restricting to only shootings with an unarmed subject. Finally, students write a short reflection on their work and results.
This project is suitable for Introduction to Computer Science I, taught in Python (though it may be adaptable to other languages). It teaches students to use Python dictionaries effectively, to study an important social justice issue. This project is special because of the incorporation of important and impactful real-world data, while using only the concepts known by a CS 1 student, and providing practice with these concepts.