Αρχική » Άρθρα με ετικέτα '4. abstraction'
Αρχείο ετικέτας 4. abstraction
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
- creative problem solving
- algorithmic approach to problem-solving
- problem solution transfer
- logical reasoning
- abstraction
- generalization
- representation and organization of data
- systemic thinking
- evaluation
- 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
- algorithms
- pattern
- logical reasoning
- abstraction
- decomposition
- evaluation
The categorization follows Barefoot Computing at school
BBC Abstraction in practice
How to abstract
- a cake needs ingredients
- each ingredient needs a specified quantity
- a cake needs timings
When abstracting, we remove specific details and keep the general relevant patterns.
General patterns | Specific details |
---|---|
We need to know that a cake has ingredients | We don’t need to know what those ingredients are |
We need to know that each ingredient has a specified quantity | We don’t need to know what that quantity is |
We need to know that each cake needs a specified time to bake | We don’t need to know how long the time is |
Creating a model
For example, a model cat would be any cat. Not a specific cat with a long tail and short fur – the model represents all cats. From our model of cats, we can learn what any cat looks like, using the patterns all cats share.
Similarly, when baking a cake, a model cake wouldn’t be a specific cake, like a sponge cake or a fruit cake. Instead, the model would represent all cakes. From this model we can learn how to bake any cake, using the patterns that apply to all cakes.
Once we have a model of our problem, we can then design an algorithm to solve it.
BBC Abstraction
What is abstraction?
What are specific details or characteristics?
In pattern recognition we looked at the problem of having to draw a series of cats.
We noted that all cats have general characteristics, which are common to all cats, eg eyes, a tail, fur, a liking for fish and the ability to make meowing sounds. In addition, each cat has specific characteristics, such as black fur, a long tail, green eyes, a love of salmon, and a loud meow. These details are known as specifics.
In order to draw a basic cat, we do need to know that it has a tail, fur and eyes. These characteristics are relevant. We don’t need to know what sound a cat makes or that it likes fish. These characteristics are irrelevant and can be filtered out. We do need to know that a cat has a tail, fur and eyes, but we don’t need to know what size and colour these are. These specifics can be filtered out.
From the general characteristics we have (tail, fur, eyes) we can build a basic idea of a cat, ie what a cat basically looks like. Once we know what a cat looks like we can describe how to draw a basic cat.
Why is abstraction important?
Abstraction allows us to create a general idea of what the problem is and how to solve it. The process instructs us to remove all specific detail, and any patterns that will not help us solve our problem. This helps us form our idea of the problem. This idea is known as a ‘model’.
If we don’t abstract we may end up with the wrong solution to the problem we are trying to solve. With our cat example, if we didn’t abstract we might think that all cats have long tails and short fur. Having abstracted, we know that although cats have tails and fur, not all tails are long and not all fur is short. In this case, abstraction has helped us to form a clearer model of a cat.