Skip to main content
EnglandComputer Science

OCR A-Level Computer Science Programming and computational thinking: abstraction, constructs and OOP made exam-ready

A deep-dive OCR H446 guide to Component 02 sections 2.1 and 2.2, computational thinking and programming. Covers thinking abstractly and decomposition, thinking ahead, logically and concurrently, the computational methods, the programming constructs with subroutines, scope, parameters and recursion, and object-oriented programming techniques.

Generated by Claude Opus 4.815 min readH446 2.1 / 2.2

Reviewed by: AI editorial process; not yet individually human-reviewed

Jump to a section
  1. What this section actually demands
  2. Computational thinking
  3. Programming techniques
  4. How this section is examined
  5. Check your knowledge

What this section actually demands

Sections 2.1 and 2.2 are the heart of Component 02. Section 2.1 is conceptual: you explain the thinking skills and computational methods and apply them to a scenario. Section 2.2 is practical: you read and write subroutines, recursion and class definitions. OCR rewards precise definitions with examples for the thinking content, and correct, well-structured code for the programming content.

This guide walks through the topics in order and sets out the exam patterns OCR repeats. Each topic has a matching dot-point page with practice; this overview ties them together.

Computational thinking

Thinking abstractly and decomposition covers abstraction (representational and procedural) and models, and breaking a problem into sub-problems. Thinking ahead and procedural decomposition covers inputs, outputs, preconditions, caching and reusable components, and ordering the steps of a solution. Thinking logically and computational methods covers decision points and conditions, plus problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation. Thinking concurrently and parallel processing covers identifying independent parts and the difference between concurrency and true parallelism.

Programming techniques

Programming constructs and subroutines covers sequence, selection and iteration, recursion (base and recursive cases, the call stack), subroutines (procedures and functions), parameters by value and by reference, local and global scope, and IDE features. Object-oriented programming techniques covers defining classes with private attributes and methods, constructors and instantiation, getters and setters, inheritance and method overriding for polymorphism, and the benefits of OOP.

How this section is examined

A typical OCR profile for sections 2.1 and 2.2:

  • Define and apply thinking skills. Explain abstraction, decomposition, backtracking, heuristics; apply them to a described problem.
  • Concurrency reasoning. Concurrent versus parallel; which parts of a task can run at once.
  • Write subroutines. Iterative and recursive versions; explain parameters and scope.
  • Object-oriented code. Write a class definition; design a hierarchy with inheritance and polymorphism (levels of response).

Check your knowledge

A mix of recall and applied questions covering the section. Attempt them under timed conditions, then check against the solutions.

  1. State what abstraction removes from a problem. (1 mark)
  2. State what a heuristic finds and what it does not guarantee. (2 marks)
  3. State the difference between concurrent processing on one core and true parallel processing. (2 marks)
  4. State what every recursive subroutine must have. (1 mark)
  5. State the difference between passing a parameter by value and by reference. (2 marks)
  6. State why class attributes are made private. (1 mark)

Sources & how we know this

  • computer-science
  • a-level-ocr
  • ocr-computer-science
  • computational-thinking
  • programming
  • oop
  • recursion