If Curious, Then Learn: A Brief Intro to Algorithmic Thinking

Imagine you’ve just bought a new bookshelf. All the pieces are stored in a box. As you unpack everything, you check the instructions to make sure you have all the parts you need.

You spend some time going over the instructions, putting things together step by step. There’s a set order to the process — first assembling the main pieces, then adding in the shelf pegs, then laying out the shelves.

Once you’ve built your bookshelf, you notice one of the shelves is a bit off-kilter. You check the instructions, going back a few steps to verify things. You realize that you added the shelf pegs too early. You make the quick fix, then go back through all the steps once more.

Check, check, double-check!

In putting together your new bookshelf, not only do you have a place to store all your books, but you’ve also run through some everyday algorithms. You’re engaging in algorithmic thinking, a component of computational thinking.

What Is Algorithmic Thinking?

Algorithmic thinking is the use of algorithms, or step-by-step sets of instructions, to complete a task. Teaching students to use algorithmic thinking prepares them for novelty. In an article on Quartz, one of the five job skills needed for the future is said to be making sense of “loopy, complex systems.” Being able to problem-solve on the fly is not only valuable, but necessary.

Algorithmic thinking has close ties to computer science and mathematics, as algorithms are the key to completing sequences of code or chunking big problems into smaller, more solvable parts. They take advantage of computers’ decision-making processes to do specific things at specific times. Instead of saying that the answer is always “red,” an algorithm defines rules that lead to that answer being a natural conclusion.

Some algorithms are pre-established. For example, the quicksort algorithm is an effective method for sorting items in a list. Other algorithms aren’t so easily defined. For example, what’s the best way to get from point A to point B? The mental map you envision might take different factors into account: construction, the fact that you can’t get there too early, the fact that you need to drive by a specific store along the way. These decisions factor into the “wayfinding” algorithm you create.

Knowing what an algorithm is is very different from thinking algorithmically. It’s the difference between memorizing a formula and constructing your own. As this interview in Teacher Magazine suggests, it’s understanding conditional statements and loops and using logic to problem-solve and create procedural writing.

Algorithmic Thinking for All Students

Algorithms are intrinsically tied to computer science. Using step-by-step code chunks allows for more complicated and robust programs, and the hyper-personalization of media (from Spotify’s Discovery playlist to suggested Twitter follows) relies on algorithms. Some algorithms are proprietary, such as the black box behind Google’s search algorithm.

Algorithms have gotten quite a bit of media coverage, from the inherent bias that they can inherit from their coders to the idea of everyday algorithms. Learning about established algorithms has always been a part of the computer science curriculum. That said, given how computational thinking is slowly becoming more and more integrated into classrooms, algorithmic thinking is also entering non-computer-science curricula. Just as computational thinking isn’t necessarily code, neither is algorithmic thinking.

For students in lower grades, having algorithmic thinking as a part of their mental toolkit can be extremely valuable. It gives them an idea of how to go about making decisions — a daily process — as well as teaches them more procedural ways to learn. Similar to how metacognition teaches students to think better through deliberate practice, thinking about algorithms helps students come up with new ways to tackle new projects. They can learn about preexisting algorithms, then go beyond.

Ways to Practice Algorithmic Thinking

A good way to practice algorithmic thinking is through learning to code. There’s a reason algorithms and computer science go so well together. For example, take a Wolfram Mathematica notebook, which provides visible results when code is run. By creating an if-then statement — if this is the case, then do that — the notebook will provide the answer in a tangible way, giving students a space to reflect on the results, then reiterate if needed.

Not knowing code doesn’t have to be a barrier. By using pseudocode, or fake code that outlines steps, students can create the skeleton of a program, then code it with the Wolfram Language and see results in real time. That code could then be annotated within the notebook.

Technology isn’t required, though. This post on StackExchange provides several ways to practice algorithmic thinking. For example, a flowchart is a good visual way to show decisions and results. Creating branching stories are another resource, as is writing instructional narratives or directions. Even creating a recipe can help students to understand the idea behind algorithms.

Just as gamification can make things fun in the classroom, so too can actual games be used in classes. Given how games are often playful ways to interact with rules, it makes sense that learning to recognize, construct and — later on — break the rules is a fundamental skill when learning to think algorithmically. For example, learning patterns in Tic-tac-toe helps to develop a Tic-tac-toe-solving algorithm.

Exploring Further Resources

If you’re looking to incorporate algorithmic thinking into a class, you don’t have to create your own lessons from scratch. Computational Thinking Initiatives, a nonprofit created to share lessons and resources on adding computational thinking to the classroom, offers a number of “AI Adventures.” These Adventures often center around a problem, something that requires steps to solve. Practicing applied problem-solving is a great way for students to learn how to discover and create algorithms.

Once students have a grasp on algorithmic thinking, they can move on to other types of computational thinking, from decomposition to pattern recognition. Although algorithmic thinking isn’t the same as computational thinking, it is nonetheless a useful skill. Being able to create algorithms helps with everything from writing down recipes to giving directions.

Getting started with algorithmic thinking can be an excellent way to further incorporate computational thinking into your classroom. Whether your students are learning about computer science or Shakespearean sonnets, the skills they learn will be practical far beyond school walls.

About the blogger:

Jesika Brooks

Jesika Brooks is an editor and bookworm with a Master of Library and Information Science degree. She works in the field of higher education as an educational technology librarian, assisting with everything from setting up Learning Management Systems to teaching students how to use edtech tools. A lifelong learner herself, she has always been fascinated by the intersection of education and technology. She edits the Tech-Based Teaching blog (and always wants to hear from new voices!).

--

--

Tech-Based Teaching Editor
Tech-Based Teaching: Computational Thinking in the Classroom

Tech-Based Teaching is all about computational thinking, edtech, and the ways that tech enriches learning. Want to contribute? Reach out to edutech@wolfram.com.