Thinking in Patterns: A Brief Intro to Pattern Recognition

Say you’re trying to solve a sudoku. You look at the various numbers that fill the squares and begin to work your way through the lines and boxes bit by bit, adding values and searching for any unused digits. If the puzzle is easy, you may be able to brute-force a solution. But what if the sudoku is a bit more challenging?

As you look at the puzzle, you may notice how numbers seem to be arranged just so. A number here, a number there… In fact, by recognizing the arrangement of the numbers, you’re able to solve the sudoku lightning fast.

What’s going on? It’s all in the pattern.

What Is Pattern Recognition?

Pattern recognition is recognizing shared characteristics between ideas and objects. Through this understanding, objects can be sorted and problems may be quickly solved. In a broader sense, pattern recognition seeks to determine rules for adding new objects to an existing group, although simply recognizing a pattern can be valuable.

Just as numbers on a sudoku grid can offer insights into a puzzle’s solution, so can patterns help with problem solving and automation. For example, if problem A was solved using a specific action, and problem B shares similar problem types, then problem A’s solution may very well work for problem B. In this way, patterns often spark algorithmic thinking, becoming the rules that underlie algorithms.

Pattern recognition helps with sorting, categorizing, building libraries and more. It’s driven by curiosity and can be both playful (as with wordplay and puzzles) and purposeful (as with scientific efforts, like those of disease detectives). It helps to create shortcuts.

Pattern Recognition as Computational Thinking

Pattern recognition is considered a core task of computational thinking, as seen in this bite-size explainer by the BBC. It’s a necessary problem-solving step, particularly when building things with code. Patterns allow computers to sort objects through their shared characteristics, rather than having to rely on the concept of an object over and over.

Pattern recognition pairs well with decomposition (the breaking down of objects into smaller parts) and abstraction (the distillation of an object to its core characteristics). In decomposing an object, all the parts of an object can be assessed for patterns. For example, a decomposed text might reveal a pattern of nouns and verbs. Likewise, through abstraction, objects can be grouped through shared characteristics, becoming simple patterns.

Patterns, as mentioned, can act as the building blocks of algorithms. On a simpler level, patterns can also help coders determine variables. Pattern recognition is a foundation to creating code architecture, and it — along with recursion — is a staple of the computer science curriculum.

There can be dangers to pattern recognition. For example, when machines recognize unhealthy or harmful patterns, they can solve problems using society’s biases. Still, people can recognize these blind spots and use more humane standards to build algorithms. Some computer science teachers are adding ethical lessons to their coursework.

Patterns in the Classroom

Pattern recognition can be applied to many subjects. It’s useful in analysis, particularly in determining cycles. For example, in economics students can see how cyclical expenditures form a buying and selling pattern. Patterns can be found in art and literature as well; they can be visual, as with well-known patterns like houndstooth or polka-dots, or thematic.

Manipulating patterns (recognizing a pattern and tweaking it to see how the product changes) allows students to study patterns hands on. Students can see the regularity of change firsthand. For example, this math teacher has students explore equations visually through a digital slider.

Pattern recognition plays a role in metacognition as well. Many people tread well-worn patterns of thought, particularly when encountering new ideas. Regular reflection allows students to recognize patterns in how they approach learning — and, hopefully, allows them to avoid making the same mistakes over and over.

Further Resources

This Google site links to several useful resources on pattern recognition, offering specific ideas shared in a previous workshop. Ideas can be reworked to better suit your classroom needs. For younger students, these tiny logic puzzle worksheets from cs4fn (a UK-based computer science organization) may prove useful.

For more hands-on, code-based learning, you can check out problem-solving activities hosted on the Wolfram Cloud through the Computational Thinking Initiatives website. These lessons provide direct feedback within students’ browsers, perfect for 1:1 schools.

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.