2.1.1
Algorithms
A set of instructions for solving a problem or task
Divide and conquer
Search for the mid point
Then search for the mid point below that
Abstraction
Removing unnecessary detail from a problem so you can focus on the essential components
Decomposition
Breaking down the problem into smaller problems
The sub problems can be broken down even smaller until each small time is manageable
Some modules maybe reusable in other programs saving development time
Structure diagrams may be used
Algorithmic thinking
Figuring out how to solve the problems and writing out the steps