Educational Exam Pseudocode Dialects Family Index
type: language-family-index family: exam-pseudocode languages_catalogued: 19 tags: [language-reference, family-index, exam-pseudocode, education, curriculum, exams, pedagogy, textbook]
Educational Exam Pseudocode Dialects — Family Index
Family overview
Pseudocode is the deliberately non-executable lingua franca of computer-science teaching and assessment. Unlike every other family in this library, these “languages” have no compiler, no interpreter, no IDE, no package manager, and no canonical implementation; they exist solely as specifications between an examiner and a student about what counts as a syntactically and semantically correct algorithm. That makes them as constrained, as carefully versioned, and as politically negotiated as any real spec language — Cambridge International issues a fresh “Pseudocode Guide for Teachers” for each syllabus cycle (the 2026 9618 guide is a 30-page PDF), AQA quietly shifts its conventions between A-level revisions, and the College Board has rewritten its AP CSP “exam reference language” twice since 2019.
The world is regionally fragmented: the UK alone has at least four mutually incompatible conventions, one per major exam board (CIE, AQA, OCR, Edexcel/Pearson). The College Board maintains two unrelated dialects (a block-based English-language “exam reference language” for AP CSP, and a Java subset for AP CSA, with no shared keywords). The IB Diploma has its own “Approved notation for developing pseudocode” handout. Australia has at least two (NESA in NSW, VCAA in Victoria), New Zealand has NCEA, the Caribbean has CSEC. Scotland’s SQA publishes a “Reference language for Computing Science” that diverges from any of the English boards. None of these dialects can be parsed by another’s mark scheme, and the differences are pedagogically substantive — OUTPUT x (CIE) vs print(x) (OCR exam reference language) vs DISPLAY(x) (AP CSP) vs System.out.println(x); (AP CSA Java subset) all denote the same operation in completely different surface notations.
Outside the exam-board world sits the textbook tradition, where CLRS (Cormen-Leiserson-Rivest-Stein, Introduction to Algorithms, 4th ed. 2022) is arguably the most-read pseudocode dialect on Earth despite never appearing on an exam — every CS graduate student in the English-speaking world internalises MERGE-SORT(A, p, r) notation, the ← assignment operator, and the 1-indexed array convention. Knuth’s TAOCP uses a very different style (English-prose pseudocode tightly coupled to MIX/MMIX assembly). Sedgewick abandoned pseudocode entirely after the Pascal first edition (1983), going straight to executable Pascal/C/Java in subsequent editions — an important data point in the “is pseudocode even necessary?” argument.
The deeper question this family raises is whether “pseudocode” is a single thing at all. In one direction it shades into English-language algorithmic prose (Knuth, English-language CSEC answer style); in the other it shades into constrained subsets of real languages (AP CSA’s Java subset, IB candidates allowed to write Python directly, NCEA accepting “any unambiguous notation”). The 2020s trend is unmistakable: Python is silently displacing pseudocode as the student-facing answer language across IB, AP CSP (Python permitted alongside the reference language), and increasingly NCEA / VCAA digital-tech subjects. Pure abstract pseudocode is in slow decline as a written-by-students medium, even as it remains alive and well as a read-by-students medium in question stems and mark schemes.
In our deep library
Adjacent and cross-referenced families:
- basics-and-teaching — pedagogical sibling family covering BASIC / Logo / Scratch / AppleSoft / Smalltalk-for-kids. The crucial distinction: those languages all run on real machines, which is what makes them not pseudocode. Scratch in particular shares visual lineage with AP CSP’s block-based reference language.
- notation-spec — the formal-spec siblings (Z, VDM, Alloy, TLA+). Exam pseudocode is far less rigorous but shares the “deliberately not executable” design choice with formal specs.
- python — Python is increasingly the de facto pseudocode of the 2020s. IB allows Python-as-answer, AP CSP explicitly permits Python, and many tutoring services run “pseudocode-to-Python” pre-processors so students can actually execute their CIE/AQA answers.
- java — AP Computer Science A’s exam “pseudocode” is a Java subset (no streams, no records pre-Java 16, no
var); the Java Quick Reference is itself the spec. - pascal — historical precedent: Wirth designed Pascal partly to be readable as pseudocode, and CIE/IB/AQA syntax is visibly Pascal-derived (
PROCEDURE ... ENDPROCEDURE,←assignment, declared types). Sedgewick’s first edition (1983) used Pascal as pseudocode. - c / cpp — IOI / informatics-olympiad pseudocode in problem statements is C-like; competition solutions are overwhelmingly C++.
Tier 3 family table
| Dialect | Curriculum / textbook | Region | Style | Sample reference URL | Status (2026) |
|---|---|---|---|---|---|
| CIE Pseudocode (9618) | Cambridge International AS & A Level Computer Science 9618 | International (UK exam board, used in 160+ countries) | Pascal-like, keyword-heavy: OUTPUT, INPUT, IF ... THEN ... ELSE ... ENDIF, FOR ... NEXT, ← assignment, monospaced + UPPERCASE keywords, mixed-case identifiers | https://www.cambridgeinternational.org/Images/697401-2026-pseudocode-guide-for-teachers.pdf | Active, 2026 syllabus + new pseudocode guide just issued |
| CIE Pseudocode (0478 IGCSE) | Cambridge IGCSE Computer Science 0478 | International | Same family as 9618 but smaller keyword set; mandatory DECLARE for variables; ← assignment | https://www.cambridgeinternational.org/programmes-and-qualifications/cambridge-igcse-computer-science-0478/ | Active, 2023–2025 syllabus, 2026–2028 in transition |
| AQA Pseudocode | A-level Computer Science 7517 (UK) | UK (England/Wales/NI) | Mixed Pascal/Python flavour; IF ... THEN/ENDIF, WHILE/ENDWHILE, := assignment in older specs / = in newer; published in spec appendix not as a standalone guide | https://www.aqa.org.uk/subjects/computer-science/a-level/computer-science-7517/specification | Active, June 2026 sitting |
| OCR Exam Reference Language | A-level Computer Science H446 / AS H046 (UK) | UK | Python-flavoured: print(), = assignment, if:/endif, for ... next, mixed lowercase. OCR explicitly states students may answer in any recognisable pseudocode | https://www.ocr.org.uk/Images/260952-pseudocode-guide.pdf | Active, 2015 guide still current as of 2026 |
| Edexcel / Pearson Pseudocode | A-level 9CP0 + GCSE/IGCSE 1CP2 / 4CP0 | UK / international | Hybrid style; 0-indexed arrays (rare among exam dialects); & for string concatenation with auto-coercion; SEND ... TO DISPLAY for output | https://tools.withcode.uk/ks4pseudo/media/edexcel_pseudocode.pdf | Active, used 2024 onward |
| AP CSP Exam Reference Language | AP Computer Science Principles (College Board, USA) | USA + DoDEA | Block-based + text-based dual presentation, English-language verbose: DISPLAY(), INPUT(), RANDOM(a,b), ← assignment, 1-indexed lists. Designed to be language-neutral | https://apcentral.collegeboard.org/media/pdf/ap-computer-science-principles-exam-reference-sheet.pdf | Active, 2025–2026 reference; Python permitted in answers |
| AP CSA Java Subset | AP Computer Science A (College Board, USA) | USA | Strict Java subset — Java SE features only up to a teaching-Java level (no streams, no var, no records). Reference is the Java Quick Reference card. Fully digital exam in Bluebook from 2025 | https://apcentral.collegeboard.org/media/pdf/ap-computer-science-a-java-quick-reference.pdf | Active, 2026 fully-digital exam |
| IB Pseudocode | IB Diploma Computer Science (SL/HL) | International (IB schools globally) | “Approved notation for developing pseudocode” handout supplied at exam; Java/Pascal-flavoured; loop while, output, input, mixed case. Examiners explicitly accept any clear notation | https://www.ibo.org/programmes/diploma-programme/curriculum/sciences/computer-science/ | Active; 2014 subject guide still in force; CS course under DP review |
| OCR GCSE Exam Reference Language | OCR GCSE Computer Science J277 | UK | Python-flavoured subset of the H446 reference language; introduced explicitly as “Exam Reference Language” rather than “pseudocode” | https://www.ocr.org.uk/qualifications/gcse/computer-science-j277-from-2020/ | Active (J277 2020-onward) |
| AQA GCSE Pseudocode | AQA GCSE Computer Science 8525 | UK | Subset of A-level 7517 conventions; published as appendix to the spec | https://www.aqa.org.uk/subjects/computer-science/gcse/computer-science-8525 | Active (8525 from 2020 first exam) |
| WJEC / Eduqas Pseudocode | WJEC GCSE / A-level Computing | Wales / UK | Pascal-flavoured, similar to AQA; published in spec appendix | https://www.wjec.co.uk/qualifications/computer-science-gcse/ | Active |
| SQA Reference Language | SQA National 5 / Higher / Advanced Higher Computing Science | Scotland | Distinct from English boards: SET ... TO ..., RECEIVE ... FROM ..., SEND ... TO DISPLAY. Explicitly verb-phrase oriented | https://www.sqa.org.uk/files_ccc/h-course-spec-computing-science.pdf | Active, 2016 reference language still in force |
| NESA Pseudocode | NSW HSC Software Engineering 11–12 (2022 syllabus, first exam 2024) | Australia (NSW) | English-like with structured keywords; replaced the older Software Design and Development syllabus from 2024; computer-based HSC exam from 2025 | https://curriculum.nsw.edu.au/learning-areas/tas/software-engineering-11-12-2022/glossary | Active (replaced SDD 2010 syllabus from 2024) |
| VCAA Pseudocode | VCE Algorithmics (HESS) Units 3/4 | Australia (Victoria) | Structured pseudocode formally specified by VCAA; emphasis on ADTs, recursion, complexity analysis (university-prep “Higher Education Scored Study”) | https://www.vcaa.vic.edu.au/curriculum/vce-curriculum/vce-study-designs/pseudocode | Active, 2023+ Algorithmics study design |
| NCEA Pseudocode | NZ NCEA Levels 1–3 Digital Technologies | New Zealand | Loosely specified — standards explicitly accept “natural language, diagrams, OR pseudocode” as long as unambiguous | https://ncea.education.govt.nz/technology/digital-technologies | Active, NCEA refresh rolling out levels 1–3 through 2024–2026 |
| CSEC Pseudocode | CSEC Information Technology / Computer Science (Caribbean) | Caribbean (CXC region) | Structured keywords (READ, WRITE, IF...ENDIF, FOR...ENDFOR); syllabus 30/G/SYLL 17, exams from May/June 2020 onward | https://www.cxc.org/wp-content/uploads/2018/11/CSEC-Information-Technology-Syllabus.pdf | Active |
| CLRS Pseudocode | Introduction to Algorithms 4th ed. (Cormen, Leiserson, Rivest, Stein, MIT Press, 2022) | International (academic textbook) | Algol/Pascal-derived; ← assignment, 1-indexed arrays, hyphenated procedure names (MERGE-SORT, BUILD-MAX-HEAP), explicit return. LaTeX clrscode4e package codifies it | https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/ | Active, 4th ed. 2022; the de facto graduate-CS dialect |
| Knuth TAOCP Pseudocode | The Art of Computer Programming (Knuth, vols 1–4B) | International (research textbook) | Numbered-step English prose (“Algorithm M (Merge)” style) coupled with full MIX/MMIX assembly programs; very different from CLRS | https://www-cs-faculty.stanford.edu/~knuth/taocp.html | Active, MMIX-based editions ongoing |
| Sedgewick (Pascal-as-pseudocode) | Algorithms 1st ed. (Sedgewick, 1983) — historical | International (academic textbook) | Pascal used directly as pseudocode; later editions abandoned this for executable Java in 4th ed. (2011, with K. Wayne) | https://sedgewick.io/ | Historical (Pascal edition 1983); current editions are Java |
| IOI / Olympiad Pseudocode | International Olympiad in Informatics problem statements | International (informal) | C-like in problem text, but solutions are real C++ submissions; “pseudocode” mostly appears in editorial write-ups | https://ioinformatics.org/ | Active (informal community dialect) |
Notable threads
-
CIE pseudocode is its own coherent design. The Cambridge International 9618 / 0478 Pascal-derived style —
OUTPUT/INPUT/IF...ENDIF/FOR...NEXT,←assignment, mandatoryDECLAREwith explicit type, monospaced UPPERCASE keywords — is closer to Turbo Pascal than to any modern language. With Cambridge International running in 160+ countries and roughly a million 0478/9618 candidates per cycle (2026 syllabus active), this is plausibly the single most-written exam-pseudocode dialect on Earth. The 2026 Pseudocode Guide for Teachers (697401-2026, ~30pp) is the canonical specification. -
AP CSP’s “exam reference language” is deliberately language-neutral but visually blockish. The College Board redesigned it for the 2024+ exam to present every construct in two columns — text-based and block-based — explicitly to bridge from Snap! / Scratch lineage to real coding. Keywords like
DISPLAY(),INPUT(),RANDOM(a,b), the 1-indexed lists, and the←assignment are calculated to be readable to a student who has never written Python or Java. This is one of the rare cases where a pseudocode dialect was designed by committee to be equidistant from any real language. -
AP CSA’s “pseudocode” isn’t pseudocode at all — it’s a strict Java subset. The exam reference is the Java Quick Reference card listing accessible classes/methods. From May 2025 the exam moved fully digital in Bluebook, where students type and run their Java in a sandbox. This collapses the pseudocode/code distinction entirely: the answer language is the implementation language, and the “pseudocode reference” is just an API allow-list. AP CSA is therefore the dialect most likely to be retired from this catalogue in a future revision.
-
CLRS pseudocode is the dominant academic dialect despite never being on an exam. The Cormen-Leiserson-Rivest-Stein conventions —
MERGE-SORT(A, p, r)hyphenated procedure names,←assignment, 1-indexed arrays,return, indentedforloops withoutendfor— are reproduced verbatim in thousands of universities’ algorithms courses. The LaTeXclrscode4epackage codifies them so tightly that any deviation is visually jarring. Every CS grad student internalises this dialect; many have never read the official spec for their exam-board pseudocode but can read CLRS at speed. -
The Python silent takeover is mid-cycle. IB CS now allows Python directly in answers; AP CSP explicitly permits Python alongside the reference language; AQA and OCR effectively allow Python in coursework even though the pseudocode reference still appears on exams; NCEA permits “any unambiguous notation.” The trajectory is clear: pseudocode survives as a read-by-students medium (mark schemes, question stems) but is increasingly rare as a written-by-students medium. The exception is Cambridge International, where the 2026 9618 guide doubled down on a stricter formal pseudocode rather than relaxing toward Python.
-
The pseudo-language as crypto contract. A mark scheme using
OUTPUT x(CIE) cannot acceptprint(x)(Python) without a clarifying note from the chief examiner — the pseudocode dialect is the contract between examiner and candidate about what counts as a correct answer. This level of precision is normally seen only in spec languages (Z, TLA+, Alloy — see notation-spec). The political consequence is real: when CIE updates its pseudocode guide, every textbook, tutoring service, and exam-prep mock paper has to be re-checked for compliance, just as if a real-language standard had been versioned. -
Nobody runs them, almost. These dialects have no compilers, no IDEs, no debuggers, no package managers, no LSPs. The closest thing to tooling is a small ecosystem of open-source “pseudocode-to-Python” pre-processors (PseudoEditor, pseudocode.run, board.dan.onl for AP CSP, the LaTeX
clrscode4epackage, withcode.uk’s IGCSE 0478 sandbox) used by tutoring services to let students execute their answers for self-testing. The absence of tooling is not an oversight — it’s load-bearing. Pseudocode is defined by its non-executability; if it ran, it would be just another scripting language, and the pedagogical point (forcing students to reason about algorithms abstractly) would collapse.
Citations
- Cambridge International 9618 syllabus + 2026 pseudocode guide: https://www.cambridgeinternational.org/Images/697401-2026-pseudocode-guide-for-teachers.pdf
- Cambridge IGCSE 0478 syllabus: https://www.cambridgeinternational.org/programmes-and-qualifications/cambridge-igcse-computer-science-0478/
- AQA A-level Computer Science 7517 specification: https://www.aqa.org.uk/subjects/computer-science/a-level/computer-science-7517/specification
- OCR H446 / H046 Pseudocode Guide (Aug 2015, still current 2026): https://www.ocr.org.uk/Images/260952-pseudocode-guide.pdf
- OCR H446 specification: https://www.ocr.org.uk/qualifications/as-and-a-level/computer-science-h046-h446-from-2015/
- Edexcel / Pearson pseudocode command set: https://tools.withcode.uk/ks4pseudo/media/edexcel_pseudocode.pdf
- AP CSP Exam Reference Sheet (College Board, 2025–2026): https://apcentral.collegeboard.org/media/pdf/ap-computer-science-principles-exam-reference-sheet.pdf
- AP CSP Course and Exam Description: https://apcentral.collegeboard.org/media/pdf/ap-computer-science-principles-course-and-exam-description.pdf
- AP CSA Java Quick Reference (College Board, 2026): https://apcentral.collegeboard.org/media/pdf/ap-computer-science-a-java-quick-reference.pdf
- AP CSA Java Subset (legacy spec, College Board): https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-java-subset.pdf
- IB Diploma Computer Science syllabus: https://www.ibo.org/programmes/diploma-programme/curriculum/sciences/computer-science/
- IB “Approved notation for developing pseudocode” mirror: https://pseudocode.deepjain.com/guides/ib/guide.pdf
- SQA Higher Computing Science course spec: https://www.sqa.org.uk/files_ccc/h-course-spec-computing-science.pdf
- NESA NSW Software Engineering 11–12 syllabus glossary: https://curriculum.nsw.edu.au/learning-areas/tas/software-engineering-11-12-2022/glossary
- VCAA VCE Algorithmics study design + pseudocode: https://www.vcaa.vic.edu.au/curriculum/vce-curriculum/vce-study-designs/pseudocode
- NCEA Digital Technologies (NZQA): https://www2.nzqa.govt.nz/ncea/subjects/select-subject/digital-technologies/
- NCEA “Create a computer program” Level 1 standard: https://ncea.education.govt.nz/technology/digital-technologies/1/1
- CSEC Information Technology syllabus (CXC 30/G/SYLL 17): https://www.cxc.org/wp-content/uploads/2018/11/CSEC-Information-Technology-Syllabus.pdf
- CLRS Introduction to Algorithms 4th ed. (MIT Press, 2022): https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/
- Knuth, The Art of Computer Programming (Stanford): https://www-cs-faculty.stanford.edu/~knuth/taocp.html
- Sedgewick Algorithms: https://sedgewick.io/
- IOI (International Olympiad in Informatics): https://ioinformatics.org/
- Khan Academy AP CSP pseudocode reference: https://www.khanacademy.org/computing/ap-computer-science-principles/ap-csp-exam-preparation/learn-ap-csp-exam-pseudocode/a/ap-csp-exam-pseudocode-reference
- Wikipedia “Pseudocode” (general overview, multiple board comparisons): https://en.wikipedia.org/wiki/Pseudocode