ICDL Coding Principles study materials
ICDL Coding Principles study resources

ICDL Coding Principles (ICDL) flashcards

ICDL Coding Principles · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Sequence
The default control flow in which program statements execute one after another in the order they are written, with no branch or repetition.
Selection
A control structure that evaluates a condition and executes one branch or another, such as IF/ELSE or a CASE statement.
Iteration
A control structure that repeats a block of statements, either a fixed number of times or until a condition is met.
Count-controlled loop
A loop whose number of repetitions is known in advance and controlled by a counter variable that is incremented or decremented each pass.
Condition-controlled loop
A loop that repeats based on a Boolean test rather than a counter; it continues while a condition is true or until it becomes true.
While loop test timing
A WHILE loop tests its condition before executing the body, so the body may run zero times if the condition is false initially.
Repeat-until loop
A loop that executes its body first and tests the condition afterwards, so the body always runs at least once.
Variable
A named storage location in memory whose stored value can be changed during program execution, typically by assignment.
Constant
A named value assigned once at declaration that cannot be changed while the program runs, protecting fixed values from accidental reassignment.
Assignment versus comparison
Assignment stores a value into a variable, while comparison tests whether two values are equal and yields a Boolean result.
Local variable
A variable declared inside a subprogram that exists only while that subprogram runs and is not visible to other subprograms.
Global variable
A variable declared outside all subprograms, visible throughout the program and changeable by any part of it.
Function
A named subprogram that performs a task and returns a single value to the statement that called it.
Procedure
A named subprogram that performs a sequence of actions but does not return a value to the caller.
Parameter passing
Supplying values, called arguments, to a subprogram so it can operate on different data each time it is called.
Input validation
Checking data entered by a user against predefined rules such as range, type, length, or presence before the program processes it.
Decomposition
A problem-solving technique that splits a complex problem into smaller sub-problems that can each be solved, tested, and maintained separately.
Abstraction
Removing unnecessary detail from a problem so that only the features relevant to solving it are represented.
Pattern recognition
Identifying similarities or repeated structures across problems so that a single reusable solution or rule can be applied to many cases.
Algorithm
A finite, ordered, and unambiguous sequence of steps that takes inputs, produces a result, and always terminates.
Pseudocode
A structured, language-independent way of writing an algorithm using English-like statements and indentation rather than real programming syntax.
Flowchart decision symbol
A diamond shape in a flowchart that represents a condition with two or more outgoing branches, such as yes and no.
Flowchart input/output symbol
A parallelogram in a flowchart that represents data entering the program or results being output.
Flowchart terminator
An oval or rounded rectangle in a flowchart marking the start or end point of the algorithm.
Trace table
A table with one column per variable and one row per step, used to record values manually and verify an algorithm's logic.
Dry run
Manually stepping through an algorithm with chosen inputs, recording each result, to check it produces the expected output.
Linear search
A search that examines each element in turn until the target is found or the list ends; it works on unsorted data.
Binary search
A search that repeatedly halves a sorted list, comparing the target with the middle element, and is far faster than linear search on large data.
Normal test data
Typical, valid input values that a correctly working program should accept and process to give the expected result.
Boundary test data
Values at the exact edges of an accepted range, such as the minimum and maximum, used to check limits are handled correctly.
Erroneous test data
Invalid input outside the permitted type or range that a robust program must detect and reject rather than process.
Nested control structures
Placing one control structure inside another, such as an IF inside a loop, so inner statements execute within the outer structure's control.