Think it through.
Bring it to life.
Computational thinking, algorithms and programming. Learn the ideas, trace the steps, then write and refine real Python.
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.
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.
Understand every step.
Read an explanation, trace an example, attempt the recall question and mark the requirements you can explain.
Make the invisible visible.
Walk through searches and sorts, complete a trace table, and build truth tables from connected gates.
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.
Follow the actual execution
Complete the values after each iteration. Leave the initial row as shown. This example uses OCR Exam Reference Language.
total = 0
for n = 1 to 4
if n MOD 2 == 0 then
total = total + n
else
total = total + 1
endif
next n
print(total)| n | n MOD 2 == 0 | total after iteration |
|---|---|---|
| initial | — | 0 |
| 1 | False | |
| 2 | True | |
| 3 | False | |
| 4 | True | |
| Printed output | ||
Reveal the completed trace
Totals are 1, 3, 4, 8. The output is 8. Odd values add 1, not n; the OCR loop includes n=4.
Build a Boolean circuit
Combine AND, OR and NOT gates. Choose whether to invert the first result and input C, then fill all eight outputs. NOT has one input and flips 0 to 1 or 1 to 0.
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.
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.
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.
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.
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.
| Concept | OCR Exam Reference Language | Python |
|---|
Flowchart: ticket price
Rounded terminal, input/output parallelogram, decision diamond, process rectangle, directed arrows.
Structure diagram
A hierarchy of subproblems, not the order in which instructions execute.
Subprogram flowchart symbol
Plan tests before running
| Quantity 1–6 | Input | Expected |
|---|---|---|
| Normal | 3 | Accept |
| Valid boundary | 1, 6 | Accept |
| Invalid | 0, 7 | Reject |
| 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.