This topic covers the fundamental principles of computational thinking, including abstraction and decomposition, alongside the design and refinement of alg
Topic Synopsis
This topic covers the fundamental principles of computational thinking, including abstraction and decomposition, alongside the design and refinement of algorithms. Students learn to represent algorithms using flowcharts and pseudocode, and must understand standard searching and sorting algorithms such as binary search, linear search, bubble sort, merge sort, and insertion sort.
Key Concepts & Core Principles
- Computational thinking: decomposition, pattern recognition, abstraction, and algorithm design — the four pillars of problem-solving.
- Searching algorithms: linear search (check each item in order) and binary search (repeatedly halve a sorted list). Know their steps, advantages, and when to use each.
- Sorting algorithms: bubble sort (compare and swap adjacent items) and merge sort (divide and conquer). Understand how they work and their time complexity (bubble sort O(n²), merge sort O(n log n)).
- Algorithm efficiency: measured by time (number of comparisons/operations) and space (memory used). Be able to compare algorithms using Big O notation or simple counts.
- Representing algorithms: using flowcharts (standard symbols) and pseudocode (OCR reference language). You must be able to read, write, and trace both.
Exam Tips & Revision Strategies
- Use the OCR Exam Reference Language for clarity in Section B responses
- Always double-check the index starting point (0-indexed) when working with arrays or string manipulation
- Practice creating trace tables for complex loops to avoid manual calculation errors
- Ensure you can distinguish between the different sorting algorithms by their efficiency and methodology
- Read the scenario carefully to identify whether a count-controlled or condition-controlled loop is most appropriate
Common Misconceptions & Mistakes to Avoid
- Confusing syntax errors (grammatical rules) with logic errors (unexpected output)
- Incorrectly applying binary search to an unsorted data set
- Misinterpreting the step-by-step execution in trace tables
- Failing to account for the 'step' value in count-controlled loops
- Confusing the order of operations in nested selection or iteration
Examiner Marking Points
- Ability to identify inputs, processes, and outputs for a given problem
- Correct use of flowchart symbols (Process, Decision, Input/Output, Sub-program, Terminal)
- Accurate creation and completion of trace tables to follow algorithm logic
- Correct application of binary search, linear search, bubble sort, merge sort, and insertion sort to data sets
- Ability to identify syntax and logic errors in provided code
- Correct use of nesting for selection and iteration within algorithms