AQA 7517 4.4.1.1: Problem-solving
The free BugBot lessons that teach this point, a robot to try it on, and the past-paper questions that test it.
What it covers
Good programmers solve a lot of a problem before writing a line. Thinking ahead is working out, in advance, what a solution will need: its inputs and outputs, the conditions it relies on, what can be stored and reused. Thinking logically is working out where the decisions are and exactly what conditions control them. Both are how you write an algorithm that works first time, and how you argue that it does.
- Inputs, outputs and preconditions
- Caching
- Reusable components
- Thinking logically
- Following and writing algorithms
Or do it in the simulator, with tasks that mark themselves
Lessons that teach it
- A2.7 Thinking ahead and thinking logically Recursion and computational thinking
Inputs, outputs and preconditions, caching and reuse, decisions and conditions, and solving logic problems. - A2.9 Computational methods Recursion and computational thinking
Problem recognition, divide and conquer, backtracking, heuristics, performance modelling, data mining and visualisation.
Try it on a robot
The task from A2.7 Thinking ahead and thinking logically, running here. Change the program and press Run.
The specification is AQA's own document; this page says which of our lessons teach point 4.4.1.1 and is not endorsed by the board.