INSIDE THE SYSTEM
J277/02 · THINK / CODE / REFINE
0 / 65checks confident
THE COMPLETE PAPER 2 EXPLORER

Think it through.
Bring it to life.

Computational thinking, algorithms and programming. Learn the ideas, trace the steps, then write and refine real Python.

OCR J277/02 · SPECIFICATION V3.1 · 2026

From problem to program.

All five content areas, organised into 11 subtopics. Track your confidence, practise exam responses and test your code against meaningful examples.

65spec checkpoints
14coding tasks
150quiz questions
18interactive labs
THE DEVELOPMENT CYCLE
01 design(problem)
02 write(solution)
03 test(boundaries)
04 refine(program)

Python runs in your browser with Pyodide. The first run needs an internet connection. Lessons and non-Python activities work offline.

Your five areas of study

Your revision snapshot

Confidence checks are self-assessed. Coding passes and quiz results are tracked separately. Progress and drafts save in this browser; use Export to keep a portable backup.

Know the assessment

90 minutes · 80 marks · 50% of GCSE

Section A: 50 marks. Section B: 30 marks focused on practical programming skills. Both sections are compulsory; no calculator.

For Section B write/refine algorithm questions, use OCR Exam Reference Language or a high-level programming language such as Python. Follow the requested response form. Design and test questions may require diagrams, trace tables or test plans.

KNOWLEDGE EXPLORER

Understand every step.

Read an explanation, trace an example, attempt the recall question and mark the requirements you can explain.

LEARN BY DOING

Make the invisible visible.

Walk through searches and sorts, complete a trace table, and build truth tables from connected gates.

2.1.3

Five algorithm steppers

Choose any of the five OCR algorithms. Step forward and backward through comparisons, moves, splits and merges, using an example or your own data.

Linear search

Enter 1–12 comma-separated integers (−999 to 999). Binary search requires ascending sorted data; it will not silently sort your input.

Read the current algorithm in Python

Read and recognise the operations; you do not need to memorise the full code. The stepper exposes more intermediate states than this compact implementation.

How to recognise the five algorithms

Linear search: inspect items in order. Binary search: compare a midpoint and halve a sorted range. Bubble sort: compare adjacent items. Insertion sort: insert the next value into a sorted prefix. Merge sort: split, then combine sorted parts. Different valid implementations can produce different intermediate steps.

PRACTICAL PYTHON · POWERED BY PYODIDE

Design. Write. Test. Refine.

Choose a task, predict the result, then make your solution work. Code runs locally in your browser; Python is downloaded on demand.

Design notes & test plan

Tab inserts four spaces; Escape then Tab leaves the editor. Ctrl/Cmd+Enter runs. Changes save automatically.

input() consumes the next line. An exhausted queue produces EOFError. Each run starts with fresh variables and temporary files.

Choose Run to load Python.

Python has not loaded yet.

Loading can take a minute. Stop is always available while running. Execution stops after 10 seconds; output is limited to 16,000 characters. A full browser may be needed if a preview blocks scripts or workers.

Hint

Worked solution · try the task first
What the automated checks test

These behavioural checks sample the requirements; they do not award exam marks or prove every possible case. Explain your algorithm and add your own tests.

RETRIEVAL PRACTICE

What can you explain?

150 questions with feedback: 30 in each of the five topics. Choose a whole topic, focus on a subtopic or mix all five areas.

Start a quiz to retrieve what you know. Your first answer counts; explanations appear immediately.

SPECIFICATION COVERAGE

Your route through Paper 2.

Each checkpoint maps to an OCR J277/02 subtopic. Tick only when you can explain or apply it without the notes.

Saved in this browser under a separate Paper 2 profile.

Exports include code, input queues, notes and exam drafts. Keep a copy before changing browser or device. A passed check refers to the last checked code; edits clear that task’s pass.

EXAM PRACTICE

Show your reasoning.

Original practice prompts, not official OCR questions or mark schemes. Write first, then compare against the indicative points.

Section B: design, write, test and refine. Use precise Python or OCR Exam Reference Language for writing/refining algorithms when required. For design and testing, use the response format requested.

The coding studio builds practical skill; practise writing code without running it as part of exam preparation.

Showing 10 of 60 questions · Shuffle for a new selection. Your responses stay with their questions.
AT YOUR SIDE

Notation & exam toolkit.

Move confidently between OCR Exam Reference Language, Python, flowcharts and test plans.

OCR notation → Python

This is a study bridge, not an executable OCR interpreter. The official specification includes the full reference-language tables.

ConceptOCR Exam Reference LanguagePython

Flowchart: ticket price

Rounded terminal, input/output parallelogram, decision diamond, process rectangle, directed arrows.

StartInput ageage ≥ 16?NoYesprice = 4price = 7Output priceEnd

Structure diagram

A hierarchy of subproblems, not the order in which instructions execute.

Ticket systemRead orderCalculate totalShow receipt

Subprogram flowchart symbol

validateQuantity()

Plan tests before running

Quantity 1–6InputExpected
Normal3Accept
Valid boundary1, 6Accept
Invalid0, 7Reject
Erroneous"hello"Reject

Add actual outcomes and pass/fail after execution. Refine failures, then repeat the tests.

Sources, scope & running the app

Aligned to OCR GCSE Computer Science J277 specification version 3.1 (2026), sections 2c, 2d and the Paper 2 assessment/reference-language guidance. All lesson explanations, practice prompts and tasks here are independently written. This is an unofficial revision resource.

Open the official OCR specification (PDF) ↗

Download and open this HTML in a modern browser. Lessons, quizzes, tracking and visual labs are built in. Python requires WebAssembly, workers and an initial download from jsDelivr; it may not run inside restrictive file previews or school network filters. No account is required. Drafts stay in this browser unless you export them.

Pyodide is pinned to 314.0.7. The SQL task uses Python’s SQLite support to run queries against temporary sample data. Temporary Python files are cleared for every run. Python libraries that require a desktop GUI or unsupported system facilities are outside this studio.

Pyodide worker documentation ↗