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

DialectCurriculum / textbookRegionStyleSample reference URLStatus (2026)
CIE Pseudocode (9618)Cambridge International AS & A Level Computer Science 9618International (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 identifiershttps://www.cambridgeinternational.org/Images/697401-2026-pseudocode-guide-for-teachers.pdfActive, 2026 syllabus + new pseudocode guide just issued
CIE Pseudocode (0478 IGCSE)Cambridge IGCSE Computer Science 0478InternationalSame family as 9618 but smaller keyword set; mandatory DECLARE for variables; assignmenthttps://www.cambridgeinternational.org/programmes-and-qualifications/cambridge-igcse-computer-science-0478/Active, 2023–2025 syllabus, 2026–2028 in transition
AQA PseudocodeA-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 guidehttps://www.aqa.org.uk/subjects/computer-science/a-level/computer-science-7517/specificationActive, June 2026 sitting
OCR Exam Reference LanguageA-level Computer Science H446 / AS H046 (UK)UKPython-flavoured: print(), = assignment, if:/endif, for ... next, mixed lowercase. OCR explicitly states students may answer in any recognisable pseudocodehttps://www.ocr.org.uk/Images/260952-pseudocode-guide.pdfActive, 2015 guide still current as of 2026
Edexcel / Pearson PseudocodeA-level 9CP0 + GCSE/IGCSE 1CP2 / 4CP0UK / internationalHybrid style; 0-indexed arrays (rare among exam dialects); & for string concatenation with auto-coercion; SEND ... TO DISPLAY for outputhttps://tools.withcode.uk/ks4pseudo/media/edexcel_pseudocode.pdfActive, used 2024 onward
AP CSP Exam Reference LanguageAP Computer Science Principles (College Board, USA)USA + DoDEABlock-based + text-based dual presentation, English-language verbose: DISPLAY(), INPUT(), RANDOM(a,b), assignment, 1-indexed lists. Designed to be language-neutralhttps://apcentral.collegeboard.org/media/pdf/ap-computer-science-principles-exam-reference-sheet.pdfActive, 2025–2026 reference; Python permitted in answers
AP CSA Java SubsetAP Computer Science A (College Board, USA)USAStrict 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 2025https://apcentral.collegeboard.org/media/pdf/ap-computer-science-a-java-quick-reference.pdfActive, 2026 fully-digital exam
IB PseudocodeIB 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 notationhttps://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 LanguageOCR GCSE Computer Science J277UKPython-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 PseudocodeAQA GCSE Computer Science 8525UKSubset of A-level 7517 conventions; published as appendix to the spechttps://www.aqa.org.uk/subjects/computer-science/gcse/computer-science-8525Active (8525 from 2020 first exam)
WJEC / Eduqas PseudocodeWJEC GCSE / A-level ComputingWales / UKPascal-flavoured, similar to AQA; published in spec appendixhttps://www.wjec.co.uk/qualifications/computer-science-gcse/Active
SQA Reference LanguageSQA National 5 / Higher / Advanced Higher Computing ScienceScotlandDistinct from English boards: SET ... TO ..., RECEIVE ... FROM ..., SEND ... TO DISPLAY. Explicitly verb-phrase orientedhttps://www.sqa.org.uk/files_ccc/h-course-spec-computing-science.pdfActive, 2016 reference language still in force
NESA PseudocodeNSW 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 2025https://curriculum.nsw.edu.au/learning-areas/tas/software-engineering-11-12-2022/glossaryActive (replaced SDD 2010 syllabus from 2024)
VCAA PseudocodeVCE Algorithmics (HESS) Units 3/4Australia (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/pseudocodeActive, 2023+ Algorithmics study design
NCEA PseudocodeNZ NCEA Levels 1–3 Digital TechnologiesNew ZealandLoosely specified — standards explicitly accept “natural language, diagrams, OR pseudocode” as long as unambiguoushttps://ncea.education.govt.nz/technology/digital-technologiesActive, NCEA refresh rolling out levels 1–3 through 2024–2026
CSEC PseudocodeCSEC 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 onwardhttps://www.cxc.org/wp-content/uploads/2018/11/CSEC-Information-Technology-Syllabus.pdfActive
CLRS PseudocodeIntroduction 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 ithttps://mitpress.mit.edu/9780262046305/introduction-to-algorithms/Active, 4th ed. 2022; the de facto graduate-CS dialect
Knuth TAOCP PseudocodeThe 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 CLRShttps://www-cs-faculty.stanford.edu/~knuth/taocp.htmlActive, MMIX-based editions ongoing
Sedgewick (Pascal-as-pseudocode)Algorithms 1st ed. (Sedgewick, 1983) — historicalInternational (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 PseudocodeInternational Olympiad in Informatics problem statementsInternational (informal)C-like in problem text, but solutions are real C++ submissions; “pseudocode” mostly appears in editorial write-upshttps://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, mandatory DECLARE with 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, indented for loops without endfor — are reproduced verbatim in thousands of universities’ algorithms courses. The LaTeX clrscode4e package 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 accept print(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 clrscode4e package, 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