Introduction
Figure 1
![Arrows pointing different ways](../fig/arrowing.png)
Figure 2
![Arrows pointing different ways](../fig/arrowing.png)
Figure 3
![The four components of computational thinking](../fig/comp-think.png)
The four components of computational
thinking
Figure 4
![brain](../fig/brains.png)
Exercise
Figure 1
![Spotting a pattern](../fig/word-count.png)
Spotting a pattern
Computational thinking in practice
Figure 1
![Computational thinking at work](../fig/proc-diagram.png)
The computational thinking process in
action
Figure 2
![Structure diagram](../fig/structure.png)
Basic Structure Diagram
Computational thinking in programming
Figure 1
![counting words in a text](../fig/count-words.png)
Counting words in a text
Figure 2
![Branching code](../fig/workflow.png)
Branching code
Pseudocode
Figure 1
![Pseudocode steps](../fig/pseudo-example.png)
Pseudocode steps
Figure 2
![How loops work](../fig/loop-diagram.png)
Loops in programming
Figure 3
![Steps in the loop](../fig/pseudo-loop.png)
Steps in the copying loop
Figure 4
![Loop as it would be written in the Unix shell](../fig/loop-shell.png)
Coding a loop in the Unix shell
Potential solutions to practice exercises
Figure 1
![Steps in the loop](../fig/pseudo-loop.png)
Steps in the copying loop
Figure 2
![Loop as it would be written in the Unix shell](../fig/loop-shell.png)
Coding a loop in the Unix shell
Figure 3
{alt=“RM command in the shell”,
width=“75%”}