Αρχική » 5. decomposition

Αρχείο κατηγορίας 5. decomposition

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 Decomposition

decomposition

What is decomposition?

In computing, decomposition is the process of breaking down a task into smaller, more-manageable parts. It has many advantages. It helps us manage large projects and makes the process of solving a complex problem less daunting and much easier to take on.

With decomposition, a task can be tackled by several people working together as a team, each member contributing their own insights and skills to particular aspects of the project.

As a simple example, making breakfast can be decomposed into a number of smaller tasks, as below. Two people could make this breakfast at the same time, one making tea and one toast.

A branching diagram showing how a breakfast of tea and toast is prepared.

Two people could make this breakfast at the same time: one could make the tea and one the toast

An illustration of a plant can be decomposed into its constituent parts, and each of those can be further decomposed for extra detail:

A labelled diagram of a flowering plant with progressive close-ups of parts, to add detail.

A labelled diagram of a flowering plant. We find out more as we decompose.

Why is decomposition important?

Decomposing problems into their smaller parts is not unique to computing: it’s quite standard in engineering, in design and in project management.

Software development is a complex process, and so the ability to break down a large project into its component parts is essential: think of all the different elements that need to be combined to produce a program like PowerPoint.

The same principle is true of computer hardware: smartphones and laptop computers are each composed of many components, produced independently by separate manufacturers before being assembled into the finished product.

A photo of the parts of a tablet computer laid out.

A tablet can be broken down (decomposed) into smaller components. (With thanks to iFixit.com.)

What does decomposition look like in the curriculum?

Putting on a school play or a cake sale, creating a news report, tackling a maths problem, making a sandwich: any task or project will need to be decomposed into smaller, more-manageable parts. Decomposition is everywhere in school practice.

Pupils are always being asked to find out more; whenever they’re labelling drawings, adding detail to concept maps, creating instructions, sketching lifecycles or marking out timelines, they’re breaking down something and thinking about detail, developing their decomposition skills.

The concept map below is a decomposition of children’s knowledge of the ancient Egyptians.

A concept map of facts about the ancient Egyptians, with further detail on pharaohs.

In a concept map, pupils can add detail to their knowledge and understanding of the ancient Egyptians.

Pupils’ decompositions might include just the things they currently know about. They should learn to check that they haven’t neglected aspects of a topic. They can consider further decomposing each aspect into sub-parts.

A computer game might be decomposed into plot, characters and setting. Next, the characters could be decomposed into actions and appearance, and the setting into background, obstacles and scoring objects. In developing a robotic toy, pupils will consider the hardware components – both individually and as a system – and the algorithms and code required. In computing, technology = hardware + algorithms + code.

More resources on decomposition by BBC

BBC Decomposition test

Visit the BBC link to take the Decomposition test 

More tests on Computational Thinking by BBC 

BBC Decomposition example: creating an app

Decomposing creating an app

Imagine that you want to create your first app. This is a complex problem – there are lots of things to consider.

How would you decompose the task of creating an app?

To decompose this task, you would need to know the answer to a series of smaller problems:

  • what kind of app you want to create
  • what your app will look like
  • who the target audience for your app is
  • what your graphics will look like
  • what audio you will include
  • what software you will use to build your app
  • how the user will navigate your app
  • how you will test your app
  • where you will sell your app

This list has broken down the complex problem of creating an app into much simpler problems that can now be worked out. You may also be able to get other people to help you with different individual parts of the app. For example, you may have a friend who can create the graphics, while another will be your tester.

BBC Decomposition in practice

Before computers can solve a problem, the problem and the ways in which it can be resolved must be understood. Decomposition helps by breaking down complex problems into more manageable parts.

Decomposition in practice

We do many tasks on a daily basis without even thinking about – or decomposing – them, such as brushing our teeth.

Example 1: Brushing our teeth

To decompose the problem of how to brush our teeth, we would need to consider:

  • which toothbrush to use
  • how long to brush for
  • how hard to press on our teeth
  • what toothpaste to use

Example 2: Solving a crime

It is only normally when we are asked to do a new or more complex task that we start to think about it in detail – to decompose the task.

Imagine that a crime has been committed. Solving a crime can be a very complex problem as there are many things to consider.

For example, a police officer would need to know the answer to a series of smaller problems:

  • what crime was committed
  • when the crime was committed
  • where the crime was committed
  • what evidence there is
  • if there were any witnesses
  • if there have recently been any similar crimes

BBC CRIME

The complex problem of the committed crime has now been broken down into simpler problems that can be examined individually, in detail.

 

BBC Decomposition

Before computers can solve a problem, the problem and the ways in which it can be resolved must be understood. Decomposition helps by breaking down complex problems into more manageable parts.

What is decomposition?

Decomposition is one of the four cornerstones of Computer Science. It involves breaking down a complex problem or system into smaller parts that are more manageable and easier to understand. The smaller parts can then be examined and solved, or designed individually, as they are simpler to work with.

Why is decomposition important?

If a problem is not decomposed, it is much harder to solve. Dealing with many different stages all at once is much more difficult than breaking a problem down into a number of smaller problems and solving each one, one at a time. Breaking the problem down into smaller parts means that each smaller problem can be examined in more detail.

Similarly, trying to understand how a complex system works is easier using decomposition.

For example, understanding how a bicycle works is more straightforward if the whole bike is separated into smaller parts and each part is examined to see how it works in more detail.

More resources on decomposition by Barefoot 

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