OCR A Level Computer Science (H446)Specification point 2.2.1

OCR H446 2.2.1: Programming techniques

The free BugBot lessons that teach this point, a robot to try it on, and the past-paper questions that test it.

Lessons that teach it

  1. A1.1 Data types and programming constructs Programming techniques and object-oriented programming
    The A level data types, references and user-defined types, constants, and definite and indefinite iteration.
  2. A1.4 Subroutines, parameters and passing by reference Programming techniques and object-oriented programming
    Out-of-line subroutines and their interfaces, returning several values, and passing by value and by reference.
  3. A1.5 Scope, lifetime and debugging in an IDE Programming techniques and object-oriented programming
    Local and global variables, why locals are good practice, and breakpoints, stepping, watches and tracebacks.
  4. A1.7 Classes and objects Programming techniques and object-oriented programming
    Classes, objects, attributes, methods and constructors; encapsulation, access specifiers, getters and setters, and class diagrams.
  5. A1.8 Inheritance, polymorphism and overriding Programming techniques and object-oriented programming
    Subclasses and super, overriding, polymorphism, and abstract, virtual and static methods, with robot behaviours as subclasses.
  6. A1.10 Project: the behaviour controller Programming techniques and object-oriented programming
    Get past a wall to the dock with prioritised behaviour classes, a controller that aggregates them, and an exception to finish.
  7. A2.1 Stack frames and the call stack Recursion and computational thinking
    Return addresses, parameters and local variables: what a subroutine call pushes, and what a return pops.
  8. A2.2 Recursion Recursion and computational thinking
    Base case and general case, winding and unwinding, and a spiral the robot draws by calling itself.
  9. A2.3 Recursion versus iteration Recursion and computational thinking
    The same algorithm both ways, the cost of a frame per call, repeated work, and stack overflow.
  10. A15.1 How your A level is assessed Exam preparation
    The papers and the project for OCR H446, AQA 7517 and Eduqas A500QS, the assessment objectives, and a timing plan built with integer…
  11. A15.2 Command words and levels of response Exam preparation
    What each command word asks for, how extended answers are marked in levels, and a marker that levels answers with regular expressions.
  12. A15.3 Trace tables and hand-tracing Exam preparation
    Tracing loops, recursion and Little Man Computer programs without slips, and a binary search that prints its own trace table.
  13. A15.4 Pseudocode in the exam languages Exam preparation
    OCR's exam reference language and AQA's pseudo-code side by side with Python, the traps in translating, and a stack class that brings the…
  14. A15.5 Writing algorithms and code in the exam Exam preparation
    Planning before writing, how code is marked, the standard algorithms to know by heart, and Dijkstra's algorithm driving the robot.
  15. A15.6 Pre-release material and skeleton programs Exam preparation
    Getting to know a skeleton program before the exam, the questions asked about it, and making exam-style changes to one.
  16. A15.8 A revision plan and mixed practice Exam preparation
    Mapping the specification, retrieval, spacing and interleaving, and a spaced repetition scheduler for the whole course.

Try it on a robot

The task from A1.1 Data types and programming constructs, running here. Change the program and press Run.

The specification is OCR's own document; this page says which of our lessons teach point 2.2.1 and is not endorsed by the board.