ProceduralOCR J277
DashboardCoursePracticeReviewProgressGlossary
Saved on this deviceContinue learning

Procedural · OCR J277 programming practice

Progress stays in this browser unless you export it.

Curriculum map

Learn in small, connected steps

Read OCR ERL, write Python and revisit key ideas as you move through J277 programming.

Available lessons0 / 40
01

Output

2.2.1

Make a program communicate clearly using exact text and numeric output.

Unit overview
Printing textavailable · 18 minPrinting numbersavailable · 17 min
02

Variables

2.2.1

Store values with meaningful names, then change them as a program runs.

Unit overview
Creating variablesavailable · 22 minUpdating variablesavailable · 21 min
03

Input

2.2.1

Receive data from a user, store it, and respond with personalised output.

Unit overview
Getting user inputavailable · 19 minCombining input and outputavailable · 22 min
04

Data types & casting

2.2.2

Choose suitable data types and convert input before using it in calculations.

Unit overview
Strings and integersavailable · 20 minConverting input into numbersavailable · 24 min
05

Arithmetic

2.2.1

Follow program sequence and calculate with arithmetic operators, DIV, MOD and powers.

Unit overview
Sequence and arithmetic operatorsavailable · 23 minDIV, MOD and useful patternsavailable · 24 minPowers, order and incrementingavailable · 25 min
06

Selection

2.2.1

Make decisions with Boolean expressions, if statements, nested selection and switch/case.

Unit overview
Boolean expressions and comparisonsavailable · 24 minIf, elseif and elseavailable · 26 minNested selection and precedenceavailable · 27 minSwitch and caseavailable · 24 min
07

Iteration

2.2.1

Repeat instructions with count-controlled and condition-controlled loops.

Unit overview
For loopsavailable · 24 minRange and stepavailable · 23 minWhile loopsavailable · 25 minDo-until and input loopsavailable · 26 minCounters and accumulatorsavailable · 27 minNested loopsavailable · 27 min
08

Strings & arrays

2.2.3

Manipulate text and process one- and two-dimensional collections.

Unit overview
Concatenation, length and caseavailable · 25 minIndexing and substringsavailable · 27 minASC and CHRavailable · 22 minOne-dimensional arraysavailable · 27 minLooping through 1D arraysavailable · 28 minTwo-dimensional arraysavailable · 29 min
09

Procedures & functions

2.2.3

Break programs into reusable subroutines with parameters, returned values and clear scope.

Unit overview
Defining and calling proceduresavailable · 25 minUsing parametersavailable · 27 minFunctions and returned valuesavailable · 28 minLocal and global variablesavailable · 28 minPassing and returning arraysavailable · 31 min
10

Robust programs

2.3 + 2.2.3

Anticipate misuse, validate and test data, handle files and solve complete procedural problems.

Unit overview
Defensive design and authenticationavailable · 27 minRange validation with loopsavailable · 29 minPresence, length, type and format checksavailable · 31 minSyntax, runtime and logic errorsavailable · 30 minTest data and test plansavailable · 29 minReading and writing filesavailable · 32 minRandom integer generationavailable · 27 minDecomposition and complete solutionsavailable · 40 min