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.