An algorithm is a repeatable process that delivers an expected result. Computer scientists use algorithms to provide well-defined instructions to computers to solve a problem or perform a task.
However, students can define precise, repeatable processes for problem-solving in many classroom contexts. For example, teachers have utilized algorithms to help students discern whether an organism is alive and to identify phases of the moon.
We have identified three sub-practices of creating algorithms. These sub-practices may occur in combinations that connect with one another. For instance, if a student is programming, they are using code to define procedures as algorithms, so these are not necessarily distinct steps.
Explore the resources below to consider how to integrate algorithms in your classroom.
Learn how our partners Ashley Simpson and Niki Cosper, teachers in Talladega County Public Schools, helped students develop algorithms to identify, sort, and categorize objects in their middle school science classrooms.
“When we look at algorithmic thinking, we’re looking at that ‘step-by-step.’ We had our compounds, mixtures, and elements. My students had to organize them accordingly using questions to figure out where everything went into place.” – Ashley Simpson
“If you’re teaching a process like determining if things are living or non-living, that’s a great time to bring an algorithm because students can come up with the decision matrix, yes/no questions, and come up with their own ways to evaluate if something’s alive.” – Niki Cosper
Teachers will know that students are creating algorithms because they may observe the following student actions:
Ask students to engage in creating algorithms and/or reflect on their process or progress with these prompting questions:
Explore examples of middle school science activities integrated with computational thinking practices. Although the examples are topic-specific, templates are available for you to design opportunities in different topics or contexts.
The following rubrics outline components of creating algorithms that can be utilized to assess student work.
Explore this curated list of supports to implement, explore, and promote computational thinking practices in your classroom.
Defining Procedures as Algorithms:
Programming: