Random Acts of Computational Thinking: Decomposition

In the first post of this series, we looked at random colors and how they can inspire students to see patterns, a means of exploring pattern recognition. The patterns reflect computational thinking, while the randomness reflects creativity. Together, they get students wondering — and hopefully learning.

Pattern recognition is only one part of computational thinking. Another is decomposition, or breaking things down into smaller parts. For example, if you have a big task you need to complete, breaking it down into smaller steps makes things manageable. From there, you can create a series of steps — an algorithm — that helps you reach your goal.

Pink-red fridge magnet letters all in a jumble on a white magnetic board
Photo by Jason Leung on Unsplash

Exploring Decomposition through RandomText

There are often many ways to break something down into smaller parts, just as problems can often be solved through different paths. For example, a word can be broken down into sounds, letters, syllables and morphemes. A speech teacher would focus on the first, while a linguist might focus on the last.

RandomText is a function aimed at generating a word list. That list can be short or long, with a bracketed number at the end signifying the number of words. For example, here’s a list of three words:

ResourceFunction code with three words: ongoing, dentin, brash

If we were looking at patterns, we might find something to tie these words together and guess what comes next. (You might have to stretch your creative muscles a bit!) With decomposition, however, we’ll use what we have and break the words down into smaller parts.

Let’s use decomposition to find syllables:

on-go-ing den-tin brash

If this were a poetry unit, we might see how the words fit into a poem. If we change the number in our RandomText function to [10], we’ll have enough syllables to pick from to write a 5–7–5 haiku:

ResourceFunction[“RandomText”][10]
 
 direct, suction, sonata, unhappily, trawler, palmetto, diskette, supernatant, desolate, extravaganza

Thus, a poem:

Supernatant trawler
Unhappily desolate
Diskette sonata

The decomposition into syllables reflects computational thinking, while the choice of which words to use reflects creativity.

Why Decomposition?

The syllable breakdown, as mentioned, is only one means of decomposition with random text. We could have just as easily broken down the words into prefixes and suffixes in order to learn about grammar, or switched the language. The key is how decomposition feeds into an end goal.

Decomposition is required for making big ideas more manageable. A project’s scope can feel overwhelming at first, but in fact, not breaking things down can lead to problems where smaller features are overlooked.

Looking at things as smaller pieces can help with categorization. Decomposition can thereby help in the creation of variables, focusing on the smaller interchangeable units of a problem. The poem activity used a “syllable” variable as a part of writing.

RandomText is a fun, multifaceted function. As an idea machine, it’s good for inspiring creativity. In what other ways might you use it to foster awareness of decomposition?

About the blogger:

Smiling white woman with brown wavy hair bordered by a blue circle

Jesika Brooks

Jesika Brooks is an editor and bookworm with a Master of Library and Information Science degree. 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.