Finding Patterns (Lesson)

Here is a summary of where the process of computational thinking process can be found in this section. Feel free to look at the activities in other subjects as computational thinking is highly interdisciplinary.

Data Compression

  • Decomposition - Treating an image not only as a whole but also as its individual pixels.

  • Pattern Recognition - Applying different bitmasks to see how the values impacted the memory size of the image as well as its quality.

  • Abstraction/Generalization - Using the patterns to decide upon a bitmask that would reduce the size of the image without sacrificing quality.

  • Algorithm Design - Although you did not develop the algorithm in this section, you might have noticed various attributes of the bitmask that can help you refine the algorithm used.


  • Decomposition - Looking at the various parts of a song and dividing it into its components such as beats, notes, and harmony so you could examine each on its own.

  • Pattern Recognition - Adjusting each of the variables such as the length of a note or the frequency of a note in a scale and finding which settings you preferred.

  • Abstraction/Generalization - Adding a third piano to serve as the harmony

  • Algorithm Design - Although you did not design the algorithm for this section, it was developed to make it easy to modify the settings, use another scales, and add additional pianos in order to enable you to explore. You might have thought of other attributes of music and how they could be incorporated to further improve the music.

Turtle Geometry

  • Decomposition - Translating a goal such as drawing a square into a series of steps and turns.

  • Pattern Recognition - Seeing the correlation between the repeating a step and the sides of the shape drawn.

  • Abstraction/Generalization - Using the pattern of the angle of the turn and the number of steps to develop an understanding of the relationship between the number of steps the angles and the sides of a polygon.

  • Algorithm Design - Developing an algorithm to create a polygon of any shape. There are plenty of ways to extend this algorithm. For example, take the number of sides into account when determining how long a step the turtle should take.


  • Decomposition - Looking at the different ways organisms can be classified. For example, by whether they were aquatic or have wings to fly in the air.

  • Pattern recognition - Developing a method for efficiently classifying a few organisms based on the shared characteristics.

  • Abstraction or Pattern Generalization - Determining how long it would take to classify a few organisms based on this method can help you to predict how many questions or classifications it takes to classify all known organisms.

  • Algorithm design - In this section you did not develop an algorithm, but you might have thought of other more efficient ways to classify the organisms beyond the method used in the activity.

Now that you have experienced an overview of the computational thinking process, what other topics in your curriculum might benefit from students applying the process of computational thinking? Share your ideas in the course community.