ICDL Coding Principles study materials
ICDL Coding Principles study resources

ICDL Coding Principles (ICDL) key terms

ICDL Coding Principles · Get comfortable with the vocabulary.

Algorithm

A finite, ordered set of unambiguous steps that transforms an input into a desired output. Each step must be executable, and the process must terminate after a limited number of operations.

Related: Pseudocode, Flowchart, Decomposition
Abstraction

The practice of removing unnecessary detail so that only the features relevant to a problem remain. It lets a solver reason about a simplified model instead of the full complexity of reality.

Related: Decomposition, Pattern Recognition
Decomposition

Breaking a large or complex problem into smaller sub-problems that are easier to understand, solve, and test separately. The partial solutions are later combined into a complete solution.

Related: Abstraction, Modularity
Pattern Recognition

Spotting similarities, repetitions, or regularities across problems or data so that a single general solution can replace many special cases. It often reveals opportunities for loops or reusable routines.

Related: Abstraction, Iteration
Pseudocode

A structured, informal notation that describes an algorithm in readable language resembling code but free of any specific programming language's syntax rules. It focuses on logic rather than implementation details.

Related: Algorithm, Flowchart
Flowchart

A diagram that represents an algorithm using standard symbols: ovals for start and end, parallelograms for input and output, rectangles for processes, and diamonds for decisions connected by arrows.

Related: Pseudocode, Algorithm
Iteration

Repeating a block of instructions while a condition holds or for a fixed number of times. It avoids duplicating code and is implemented with loops such as while or for constructs.

Related: Loop, Condition
Loop

A programming construct that repeatedly executes a set of statements. A loop needs a termination condition; otherwise it runs forever, which is called an infinite loop.

Related: Iteration, Condition
Condition

An expression that evaluates to true or false and controls which instructions run. Conditions drive selection statements and determine whether a loop continues or stops.

Related: Selection, Boolean
Selection

A control structure that chooses between alternative paths of execution based on a condition, typically written as if, if-else, or case statements. Only the branch whose condition is satisfied runs.

Related: Condition, Boolean
Sequence

The default control flow in which instructions execute one after another in the order they are written. Changing the order of statements can change the result of a program.

Related: Selection, Iteration
Variable

A named storage location in memory whose value can change while a program runs. Each variable has a name, a data type, and a current value.

Related: Data Type, Assignment, Constant
Constant

A named value that is set once and cannot be altered during program execution. Using constants for fixed values makes code easier to read and safer to maintain.

Related: Variable, Assignment
Data Type

A classification that defines what kind of values a variable may hold and which operations are valid on them, such as integer, real number, character, string, or Boolean.

Related: Variable, Boolean, String
Assignment

The operation that stores a value into a variable, usually written with an equals sign in code. The right-hand side is evaluated first, then the result is placed in the named location.

Related: Variable, Expression
Boolean

A data type with exactly two possible values, true and false. Boolean expressions form the basis of conditions and logical decision-making in programs.

Related: Condition, Logical Operator
String

A data type representing a sequence of characters, such as text or a name. Strings can be joined, compared, and searched, and individual characters can be accessed by position.

Related: Data Type, Variable
Expression

A combination of values, variables, operators, and function calls that the computer evaluates to produce a single result. Expressions appear wherever a value is needed.

Related: Operator, Assignment
Operator

A symbol that performs an operation on one or more values, such as addition, comparison, or logical conjunction. Operators determine how operands are combined in an expression.

Related: Expression, Logical Operator
Logical Operator

An operator that combines or negates Boolean values, commonly AND, OR, and NOT. These operators are used to build compound conditions from simpler ones.

Related: Boolean, Condition
Function

A named, reusable block of code that performs a specific task, may accept parameters, and may return a value. Functions reduce duplication and make programs easier to test.

Related: Parameter, Return Value, Modularity
Parameter

A named input declared by a function or procedure that receives a value when the routine is called. Parameters let the same code work with different data each time.

Related: Function, Argument, Return Value
Argument

The actual value supplied to a function or procedure when it is called, which is matched to the corresponding parameter. Arguments provide the data a routine operates on.

Related: Parameter, Function
Return Value

The result a function sends back to the code that called it, produced by a return statement. A function without a return value is often used purely for its side effects.

Related: Function, Parameter
Modularity

Designing software as a set of separate, self-contained units that each handle one responsibility. Modules can be developed, tested, and reused independently, which simplifies maintenance.

Related: Function, Decomposition
Array

A collection of elements of the same data type stored under one name and accessed by an index, usually starting at zero. Arrays allow efficient storage and traversal of related values.

Related: Index, Data Type
Index

A position number used to locate an element within an array or string. In most languages indexing begins at zero, so the first element has index zero.

Related: Array, Loop
Syntax

The set of grammatical rules that define how statements in a programming language must be written. A syntax error prevents a program from being translated or run.

Related: Syntax Error, Semantic Error
Syntax Error

A mistake that breaks the grammar rules of a language, such as a missing bracket or misspelled keyword. The translator detects it and refuses to produce runnable code.

Related: Syntax, Semantic Error, Debugging
Semantic Error

A flaw in which the code is grammatically valid but does not do what the programmer intended, for example using the wrong formula. The program runs but produces incorrect results.

Related: Syntax Error, Debugging, Test Case
Debugging

The process of locating, diagnosing, and correcting errors in a program. It typically involves reproducing the fault, inspecting values, and testing the fix.

Related: Syntax Error, Semantic Error, Test Case
Test Case

A specific set of inputs, preconditions, and expected outputs used to check whether a program behaves correctly. Good test cases include normal, boundary, and invalid data.

Related: Debugging, Boundary Value
Boundary Value

A test input at or just beyond the edge of a valid range, such as the smallest or largest permitted number. Errors often cluster at these limits, so they are tested deliberately.

Related: Test Case, Validation
Validation

Checking that data entered or received is reasonable and acceptable before it is processed, for example by verifying a range or format. It reduces errors caused by bad input.

Related: Boundary Value, Test Case
Comment

Text in source code that the translator ignores, used to explain intent, record authorship, or document assumptions. Good comments clarify why code exists rather than restating what it does.

Related: Syntax, Modularity
Top-Down Design

An approach that starts with the overall problem and repeatedly refines it into smaller sub-tasks until each part is simple enough to code. It mirrors stepwise decomposition of a program.

Related: Decomposition, Modularity
Trace Table

A manual table that records the values of variables after each step or iteration of an algorithm, used to verify logic and find errors without running the program.

Related: Debugging, Iteration, Variable