Introduction
Computational Thinking
Principles of computational thinking
Definition: Principles of computational thinking
- Abstraction
- Decomposition
- Algorithmic thinking
Computational thinking invovlves the concepts of Abstraction, Decomposition, Algorithmic thinking.
Abstraction
Definition: Abstraction
Removing unnecessary detail within a program solution
When you make a program you won't need to put everything in it
Football Manager - doesn't record the eye colour of players
A Flight Simiulator - won't include passengers and cabin crew in it
The London Underground Map - doesn't include accurate distances, houses, trees etc.
In racing car games, you cannot drive off the track into the local town
Decomposition
Definition: Decomposition
Breaking a problem down into smaller more manageable parts
When you sit and solve a problem you should break it down into smaller parts. e.g. A football game can be broken down into
Screens
- menu screen
- settings screen
- save game screen
- pre-match screen
- game finished screen
Game Play
- player movement
- kick
- tackle
- goal
- free kick
- corner
Algorithmic thinking
Algorithmic thinking is a problem-solving approach that involves breaking down complex tasks into a series of well-defined, logical steps
Definition: Aglorithmic Thinking
Set out the steps needed to solve the problem usually represented in a flow chart or as pseudocode before coding a solution
Decomposition:
Breaking down a complex problem into smaller, more manageable parts.
Abstraction:
Focusing on the important information only, and ignoring irrelevant detail, simplifying the problem.
Pattern Recognition:
Identifying similarities or patterns within problems.