Αρχική » 2. pattern

Αρχείο κατηγορίας 2. pattern

Dimensions of Computational Thinking in COMPUT project

When we started working on the project Computational Thinking at School, our plan was to study the following dimensions of Computational Thinking

  1. creative problem solving
  2. algorithmic approach to problem-solving
  3. problem solution transfer
  4. logical reasoning
  5. abstraction
  6. generalization
  7. representation and organization of data
  8. systemic thinking
  9. evaluation
  10. social impact of computation

While working on the dimensions, it proved that we had to follow a different categorization. The dimensions 1. creative problem solving, 8. systemic thinking and 10. social impact of computation are studied together with Computational Thinking and approaches to Computational Thinking. The dimensions 3. problem solution transfer and 6. Generalization were included in the new dimension pattern. A new dimension, decomposition was added.

The dimensions of Computational Thinking that will be studied are the following

  1. algorithms
  2. pattern
  3. logical reasoning
  4. abstraction
  5. decomposition
  6. evaluation

The categorization follows Barefoot Computing at school 

Barefoot Patterns / Generalisation

patterns

What are patterns?

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 maths, pupils 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 longwinded 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 pupils 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.

A diagram on graph paper, showing how to calculate the area of a rectangle.

Pupils learn mathematical formulae: these are generalisations.

Why are patterns important?

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.

What do patterns look like in curriculum?

From an early age, children become familiar with repeated phrases in nursery rhymes. Later, they notice repeated structures in stories. We ask pupils to look for and learn from patterns to help them better understand the world. They might recognise common rules (and exceptions) for spellings, and repeating lines in many musical forms. In maths, pupils typically undertake investigations in which they spot patterns and deduce generalised results.

The sequence of numbers 16, 35, 73, 149 with a blank space for the next number.

Can pupils spot the pattern to reveal the number-sequence rule?

More resources on pattern by BBC

BBC Pattern recognition test

Visit BBC site to take Pattern recognition test

More tests on Computational Thinking by BBC 

BBC Pattern recognition in practice

Why do we need to look for patterns?

Finding patterns is extremely important. Patterns make our task simpler. Problems are easier to solve when they share patterns, because we can use the same problem-solving solution wherever the pattern exists. The more patterns we can find, the easier and quicker our overall task of problem solving will be.
If we want to draw a number of cats, finding a pattern to describe cats in general, eg they all have eyes, tails and fur, makes this task quicker and easier.We know that all cats follow this pattern, so we don’t have to stop each time we start to draw a new cat to work this out. From the patterns we know cats follow, we can quickly draw several cats.bbc cats stamp

What happens when we don’t look for patterns?

Suppose we hadn’t looked for patterns in cats. Each time we wanted to draw a cat, we would have to stop and work out what a cat looked like. This would slow us down.

We could still draw our cats – and they would look like cats – but each cat would take far longer to draw. This would be very inefficient, and a poor way to go about solving the cat-drawing task.

In addition, if we don’t look for patterns we might not realise that all cats have eyes, tails and fur. When drawn, our cats might not even look like cats. In this case, because we didn’t recognise the pattern, we would be solving the problem incorrectly.

Recognising patterns

To find patterns in problems we look for things that are the same (or very similar) in each problem. It may turn out that no common characteristics exist among problems, but we should still look.
Patterns exist among different problems and within individual problems. We need to look for both.

Patterns among different problems

To find patterns among problems we look for things that are the same (or very similar) for each problem.

For example, decomposing the task of baking a cake would highlight the need for us to know the solutions to a series of smaller problems:

  • what kind of cake we want to bake
  • what ingredients we need and how much of each
  • how many people we want to bake the cake for
  • how long we need to bake the cake for
  • when we need to add each ingredient
  • what equipment we need

Once we know how to bake one particular type of cake, we can see that baking another type of cake is not that different – because patterns exist.

For example:

  • each cake will need a precise quantity of specific ingredients
  • ingredients will get added at a specific time
  • each cake will bake for a specific period of time

Once we have the patterns identified, we can work on common solutions between the problems.

bbc cake

Patterns within problems

Patterns may also exist within the smaller problems we have decomposed to.

If we look at baking a cake, we can find patterns within the smaller problems, too. For example, for ‘each cake will need a precise quantity of specific ingredients’, each ingredient needs:

  • identifying (naming)
  • a specific measurement

Once we know how to identify each ingredient and its amount, we can apply that pattern to all ingredients. Again, all that changes is the specifics.

BBC Pattern recognition

Pattern recognition

Once we have decomposed a complex problem, it helps to examine the small problems for similarities or ‘patterns’. These patterns can help us to solve complex problems more efficiently.

What is pattern recognition?

When we decompose a complex problem we often find patterns among the smaller problems we create. The patterns are similarities or characteristics that some of the problems share.Pattern recognition is one of the four cornerstones of Computer Science. It involves finding the similarities or patterns among small, decomposed problems that can help us solve more complex problems more efficiently.

What are patterns?

Imagine that we want to draw a series of cats.

All cats share common characteristics. Among other things they all have eyes, tails and fur. They also like to eat fish and make meowing sounds.

Because we know that all cats have eyes, tails and fur, we can make a good attempt at drawing a cat, simply by including these common characteristics.

In computational thinking, these characteristics are known as patterns. Once we know how to describe one cat we can describe others, simply by following this pattern. The only things that are different are the specifics:

  • one cat may have green eyes, a long tail and black fur
  • another cat may have yellow eyes, a short tail and striped fur

bbc cats

More resources on pattern by Barefoot 

Αλλαγή μεγέθους γραμματοσειράς
Αντίθεση