How do we identify the decision points in a problem, and which computational methods make hard problems tractable?
Thinking logically: identifying the decision points and conditions that affect the flow of a solution; computational methods including problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation.
An OCR H446 answer on thinking logically and computational methods: identifying decision points and conditions in a solution, and the methods of problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation that make problems solvable.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
OCR wants thinking logically (identifying the decision points and conditions that direct a solution's flow) and the computational methods: problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation. Expect questions explaining these methods and saying when each is used.
The answer
Thinking logically
Problem recognition and divide and conquer
Backtracking, heuristics, modelling and visualisation
Examples in context
Sat-nav route finding uses heuristics (A*) because exact shortest-path search over a national map is too slow. Sudoku solvers use backtracking. Binary search and merge sort are divide and conquer. Engineers model a server's performance before building it to size the hardware. Dashboards visualise data so anomalies stand out. OCR links these methods to the standard algorithms and Big-O analysis in Component 02, and to the analysis stage of the Programming Project, where the problem is recognised and defined.
Try this
Q1. State what thinking logically identifies in a solution. [1 mark]
- Cue. The decision points and the conditions that determine the flow of execution.
Q2. Explain when a heuristic would be used instead of an exact method. [2 marks]
- Cue. When finding the exact optimal solution is computationally infeasible in reasonable time, so a good-enough solution found quickly is preferable.
Q3. State what backtracking does when it reaches a dead end. [1 mark]
- Cue. It returns to the previous decision point and tries a different option.
Exam-style practice questions
Practice questions written in the style of OCR exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
OCR 20196 marksExplain the computational methods of backtracking and heuristics, and explain when a heuristic approach would be used instead of finding an exact solution.Show worked answer →
Backtracking (up to 3): backtracking explores possible solutions step by step, and when a step leads to a dead end (a partial solution that cannot be completed), it returns to the previous decision point and tries a different option, systematically abandoning paths that cannot work. It is used in problems such as maze solving, the eight queens problem or constraint puzzles like Sudoku.
Heuristics and when to use them (up to 3): a heuristic is a practical, "good enough" approach or rule of thumb that finds an acceptable solution quickly without guaranteeing the optimal one. A heuristic is used when finding the exact best solution is computationally infeasible in reasonable time (for example route-finding across a huge map or the travelling salesman problem), so a near-optimal answer found quickly is preferable. Markers reward the return-to-last-choice idea for backtracking and good-enough-but-not-guaranteed-optimal for heuristics, with a valid use.
OCR 20215 marksExplain what is meant by problem recognition, divide and conquer, and performance modelling as computational methods.Show worked answer →
Problem recognition (up to 2): identifying and clearly defining the problem to be solved, understanding its requirements and constraints before attempting a solution; without it, effort may be spent solving the wrong problem.
Divide and conquer (up to 2): repeatedly breaking a problem into smaller sub-problems of the same type, solving the smallest directly and combining the results (the basis of binary search and merge sort); it reduces a large problem to many trivial ones.
Performance modelling (up to 1): using mathematical or simulated models to predict how a system or algorithm will behave (for example its run time or resource use) under different conditions, often before building it, so the design can be evaluated cheaply. Markers reward defining the problem, recursive splitting and combining, and predicting behaviour by modelling.
Related dot points
- Thinking abstractly: the nature and need for abstraction, representational and procedural abstraction, and the use of models; thinking ahead and decomposition: breaking a problem into smaller sub-problems.
An OCR H446 answer on the computational thinking skills of abstraction and decomposition: the nature and need for abstraction, representational and procedural abstraction and the use of models, and decomposing a problem into smaller, more manageable sub-problems.
- Thinking ahead: identifying inputs and outputs, preconditions, caching and reusable program components; thinking procedurally: identifying the steps and the order of a solution and the components that can be reused.
An OCR H446 answer on the computational thinking skills of thinking ahead and thinking procedurally: identifying inputs, outputs, preconditions, caching and reusable components, and determining the steps and the order of a procedural solution.
- Thinking concurrently: determining which parts of a problem can be tackled at the same time, the benefits and limitations of concurrent and parallel processing, and the difference between true parallel processing and concurrent processing on a single processor.
An OCR H446 answer on thinking concurrently: identifying which parts of a problem can be done at the same time, the benefits and limitations of concurrency and parallelism, and the difference between true parallel processing on multiple cores and concurrent processing on a single processor.
- Big-O notation for time and space complexity: the constant, logarithmic, linear, linearithmic, polynomial and exponential complexity classes, how to determine the Big-O of an algorithm, and using it to compare and judge the suitability of algorithms.
An OCR H446 answer on Big-O notation: the constant, logarithmic, linear, linearithmic, polynomial and exponential complexity classes for time and space, how to determine an algorithm's Big-O, and using it to compare algorithms and judge their suitability.
- Graph and tree traversal: breadth-first and depth-first traversal of a graph, the pre-order, in-order and post-order traversal of a binary tree, and the shortest-path algorithms Dijkstra's algorithm and A* search.
An OCR H446 answer on traversal and shortest-path algorithms: breadth-first and depth-first graph traversal, the pre-order, in-order and post-order traversal of a binary tree, and how Dijkstra's algorithm and A* search find a shortest path.