Skip to content

Pseudocode

mike-snhu edited this page Oct 22, 2026 · 1 revision

Pseudocode

According to the IEEE Computer Society, "pseudocode and program design languages (PDLs) are structured, programming language-like notations used to describe a procedure’s processing behavior, generally at the detailed design stage. The use of these languages is less common today but is still found in the documentation of algorithms." (Washizaki, 2025, p. 3-10)

Appendices

Pseudocode vs. Program Design Language

Description of Pseudocode

Pseudocode is an informal language for describing algorithms that uses natural-language grammar, often supplemented by programming-like expressions and control structures, without requiring conformance to a formally specified syntax.

  • Lexicon: Open vocabulary consisting of natural-language words and, optionally, mathematical symbols and programming constructs.
  • Grammar: Natural-language grammatical conventions and informal structural patterns rather than prescribed production rules.
  • Syntax: Flexible; multiple syntactic forms may express the same operation.
  • Well-formedness: Evaluated primarily through human comprehension rather than compliance with a formal grammar.
Ask the user for their age.
If the age is 18 or older,
    display "Adult".
Otherwise, display "Minor".

Description of a Program Design Language (PDL)

A Program Design Language (PDL) is a constructed language for specifying algorithms and program structures whose valid expressions are governed by an explicitly defined syntactic grammar.

  • Lexicon: Defined keywords, identifiers, operators, literals, and other permitted symbols.
  • Grammar: Explicit production rules, potentially expressed using Backus–Naur Form (BNF) or Extended Backus–Naur Form (EBNF).
  • Syntax: Constrained; statements must conform to the language's grammatical rules.
  • Well-formedness: Determined by whether an expression conforms to the defined lexical and syntactic rules.
READ age

IF age >= 18 THEN
    WRITE "Adult"
ELSE
    WRITE "Minor"
END IF

Example: Same algorithm, different syntax

The instructions follow ordinary English grammar. Different wording or formatting could express the same algorithm without violating a prescribed syntax.

PDL

This example assumes a PDL whose grammar defines READ, IF, THEN, ELSE, END IF, and WRITE as syntactic constructs.

For example, part of its grammar could be specified in EBNF:

conditional = "IF", condition, "THEN",
              { statement },
              [ "ELSE", { statement } ],
              "END IF" ;

A complete grammar would also define condition, statement, the lexical conventions, and other constructs. This rule illustrates how the PDL prescribes the arrangement of a conditional statement.

The essential distinction

Linguistic property Pseudocode PDL
Language classification Informal notation Constructed language with formal syntax
Grammatical foundation Natural language with informal conventions Explicit formal grammar
Production rules Not prescribed Prescribed
Syntactic flexibility High Limited by grammar
Syntactic validation Human interpretation Conformance to grammar
Semantic purpose Describe algorithms Describe algorithms and program structures
Executability Not required Not required

One important qualification: Natural languages have grammars, and pseudocode is not inherently ungrammatical. The distinction is whether a particular notation is governed by a prescriptive, explicitly defined formal grammar.

Furthermore, this is a proposed instructional convention, not a universally established distinction. Historical software engineering sources sometimes use pseudocode and PDL synonymously.

Recommended terminology for course standards

I would adopt these concise definitions in GC-STEM documentation:

Pseudocode: An informal representation of an algorithm expressed using natural-language grammar and optional programming-like constructs, without a prescribed formal syntax.

Program Design Language (PDL): A formally structured representation of an algorithm expressed using a defined vocabulary and syntactic grammar that governs the construction of valid statements.

This creates an objective instructional boundary: PDL requires grammatical conformance; pseudocode does not.

It also allows GC-STEM to establish a common, language-independent PDL grammar across courses without requiring students to write executable Python, Java, C++, or another programming language.

Legacy References

IT-140

Module Four
Module Four Resources

Video:What Is Pseudocode and How Do You Use It?

Transcript: What Is Pseudocode and How Do You Use It?

Reading: How to Write a Pseudo Code?

CS-200

CS-205

CS-210

Clone this wiki locally