Patterns are everywhere. By identifying patterns, we can create rules and solve more-general problems.
Children notice patterns in how teachers react to their behaviour. Weather patterns feed into our forecasts. In math, students can measure the area of a rectangle drawn on graph paper, by counting the number of unit squares within it, but this could be difficult or long winded for rectangles which are really small or large. A more elegant solution is to multiply the length of the rectangle by the width – and it works well for all rectangles. Once students can remember this formula, it’s so much faster than counting squares.
In computing, the method of looking for a general approach to a class of problems is called generalisation.
Image created by @RobbotResources
Computer scientists strive to solve problems quickly and efficiently, and they seek methods applicable elsewhere. If they see a pattern across an algorithm, they’ll look to create a single module of repeatable code, sometimes called a function or procedure – many programming languages have shared libraries of common functions. The recognition of patterns in input data plays an essential role in machine learning. This is an important application of computer science which plays a part in systems for, amongst many other things, algorithmic stock-market trading and the recognition of faces and vehicle number plates.
Computer Science for All in SF - great lessons for K-6! Unplugged, BeeBot, ScratchJr, Scratch, Makey Makey
Lost. Found. Book (book trailer)+ Quiet Blocks Building Challenge
Round is a Mooncake: A Book of Shapes and Go on a color or shape scavenger hunt! Look for a specific color or shape, red or triangles for example, in different places you visit around town. Can take photos and add to GSlides or FlipGrid.
Stories with repeating phrases could also be used to illustrate If ... Then ... Else statements. Pam Adams book "There was an old lady who swallowed a fly" is an example of an if statement. If there is another animal that is larger then eat it, else... stop eating. There was an old lady who swallowed a fly by Pam Adams.
Simon Says
GoNoodle
In computing, encourage students to always look for simpler or quicker ways to solve a problem or achieve a result. Ask them to explore geometric patterns using turtle graphics commands in languages like Scratch, Logo or TouchDevelop to create ‘crystal flowers’. Emphasize how the use of repeating blocks of code or procedures are much more efficient than writing each command separately, and allow students to experiment with how changing one or two of the numbers used in their program can produce different shapes.
In programming, set students the challenge of completing the same task in two different programming languages, perhaps one block-based and the other text-based. Can they see the similarities between the two implementations of the same algorithm?
When programming games or simple apps, encourage students to adopt, or at least to think in terms of, the model-view-controller design pattern. Also seen in Bitsbox and Swift Playground.
Teach students to use graphics software to create tessellating patterns to cover the screen. As they do this, ask them to find quicker ways of completing the pattern, typically by copying and pasting groups of individual shapes, or alternatively by writing a turtle graphics program to do this.
Teach students to create rhythmic and effective music compositions using simple sequencing software in which patterns of beats are repeated; encourage them to experiment with repeating and changing the patterns of notes in their composition. (Song Maker)