Computational thinking

<< Previous: Algorithms home Next: Flowcharts >>

Computational thinking

Computational thinking is a way of problem solving. There are a few key skills involved. These are abstraction, decomposition and designing algorithms.

Abstraction

Abstraction is removing the unnecessary considerations from a problem so you are left with just the important facts. For instance, if you are designing a car park it does not matter what colour the cars that park in it will be.

The London tube map is considered an excellent example of abstraction as it performs its function of helping passengers navigate the tube system by leaving out certain details. The lines do not show the exact routes of the trains. Stations are spaced in order to easily fit the names on a map, not to scale with how far apart they actually are. There are few details about above ground features.

Decomposition

Decomposition is breaking a problem down into smaller more manageable chunks that can be more easily solved.

In programming we aim to break large programs up into smaller subroutines that can be combined together to form a larger program. Each subrotine is easier to solve and can be written by different programmers.

Designing algorithms

The next sections of the course relate to how to design algorithms using flowcharts and pseudocode. Computational thinking involves removing the unnecessary detail from problems, decomposing it into manageable subproblems, and designing algorithms to solve these before combining them all to have a complete solution to the problem.

Knowledge check


Questions:
Correct:

Question text


Next: Flowcharts >>

© All materials created by and copyright S.Goff