Curriculum Planning

The Flexibility of Computational Thinking

Three middle school projects—in English, math, and history—use computational thinking skills to address social justice topics.

Two students looking at data on a laptop with worksheets scattered in front of them
Courtesy of Eli Sheldon
Students carefully plot their next maneuver to grab land in the simulation Scramble for Africa.

Computational thinking (CT) is a set of skills students can leverage to tackle hard problems of all kinds using ideas from computer science. These skills include:

  • Algorithmic thinking: using a well-defined series of steps to achieve a desired outcome
  • Decomposition: approaching a complicated problem by focusing on one piece at a time
  • Abstraction: representing a complicated system with a simple model
  • Pattern recognition: analyzing data and using trends to inform solutions

CT can be used to address issues far beyond computer science, and projects with a social justice emphasis provide a platform for students to apply these skills to engaging, authentic learning opportunities. As Sydney Chaffee says in her TEDx talk on social justice in schools, “Authentic learning enables students to see and create connections in the world around them,” helping students understand why what they’re learning is vital.

Here are three examples of projects that teach social justice topics through a computational thinking lens.

Reforming the American Criminal Justice System

In this English language arts unit, seventh-grade students study the American criminal justice system while reading Walter Dean Myers’s Monster, a novel about a teen’s trial and imprisonment. In tandem with reading the novel, students conduct a mock trial of the familiar character Batman, using a flowchart to demonstrate the steps (the algorithm) that criminal suspects encounter. Batman is a useful defendant because students generally know about him and agree that his actions are illegal, though they disagree on whether he should be punished for those actions.

Harnessing the power of decomposition to break down our complicated legal system, student teams design their own justice systems. They establish policies on 12 topics, including drugs, mandatory minimums, body cameras, and juvenile detention. Using Twine, a platform for interactive storytelling, teams apply their laws to six real criminal cases. The outcome of each case is determined by that team’s previously established policies, which can be revised at the conclusion of the case.

Students come to realize that decisions that initially seemed obvious lead to unexpected consequences when applied in different real-world scenarios. They walk away from this unit having internalized the need for major reform in our criminal justice system, as well as why some policy changes are not as straightforward as they first appear.

Simulating the Scramble for Africa

In this social studies simulation adapted from a lesson by Andrew Patterson, students in grades 7–9 represent the interests of major European powers in the colonization of Africa. Using abstraction with a simplified set of objectives (e.g., resource types, geographic regions, and climates) and a gridded map of the continent, students choose specific squares to claim each round. The amount of land they claim is dependent on their country’s relative strength and colonial focus in that era.

At the end of the game, students compare their results with the true outcome of African colonization at the start of the 20th century. Despite the simplistic nature of the simulation, the correlation between maps is typically strong. The political and logistical nuances have been abstracted away, helping students understand the high-level motivations and decisions involved.

During the first run, students let their competitive nature show without hesitation. However, they are then tasked with confronting the deeper impact of their colonizing efforts—for instance, what it really meant for these European armies to claim African land, abduct slaves for labor, and exhaust natural resources. In subsequent rounds, teams struggle to balance the morals behind their actions with their desire to “win” the game.

Evaluating Racial Bias in Traffic Stops

In this series of math lessons on probability and population sampling, seventh-grade students calculate rates of drivers of different races being searched at traffic stops. They compare their findings to census data to determine if the numbers represent random sampling or show evidence of racial bias.

To set context, students learn about their legal rights during traffic stops and why race matters during interactions with police. Next, they create tree diagrams with data from the Bureau of Justice Statistics to determine probabilities of being stopped by race, which they contrast with general population data. Using pattern recognition, students interpret the data (e.g., 10 percent of all drivers are African American, but 23 percent of all searched drivers are African American) and form evidence-backed conclusions about racial bias in traffic stops across the nation.

Finally, students again use random sampling on local police data to compare search rates in their county against their national results, bringing the issue even closer to home.

Bringing Social Justice and Computational Thinking to Your Classroom

Activities tied to issues of social justice can bolster learning in any class, and by approaching these topics with a CT lens, students can more easily draw connections across disciplines. Here are some tips to be successful:

  • Establish a respectful, safe atmosphere in your classroom by allowing yourself to be vulnerable and by ensuring that all students feel heard.
  • Current events are a valuable source of ideas that students will naturally connect with.
  • Consider allowing students to voice what issues matter most to them.
  • Don’t shy away from controversial topics, as these can lead to the richest discussions.

If you’re looking for additional ideas on teaching social justice, check out this collection of resources.