ICDL Coding Principles study materials
ICDL Coding Principles study resources

ICDL Coding Principles (ICDL) study plan

ICDL Coding Principles · Give each week a clear focus.

8 weeks · About 6 hours per week

Week 1

Computational Thinking and Problem Solving

  • Break three everyday problems (e.g. sorting laundry, planning a commute) into ordered sub-tasks and label each sub-task

  • Distinguish decomposition, pattern recognition, abstraction and algorithm design by matching five given scenarios to the correct term

  • Write step-by-step pseudocode for a routine task using only sequence statements

  • Draw a flowchart that uses start/stop, process, decision and input/output symbols for one of those tasks

Your checkpoint

A one-page document containing pseudocode plus a matching flowchart (with a correct symbol key) for a single task, checked against a 6-point rubric you write yourself

Week 2

Computational Thinking and Problem Solving & Coding Concepts and Program Structure

  • Translate your week-1 pseudocode into a runnable program in one language, keeping variable names meaningful

  • Identify the three basic control structures (sequence, selection, iteration) inside a 25-line program you did not write

  • Hand-trace a loop with a table of variable values at each iteration and state the final output before running it

  • Explain in writing why an algorithm must be unambiguous, finite and produce output

Your checkpoint

A working program file plus three hand-completed trace tables whose predicted outputs match the actual program output

Week 3

Coding Concepts and Program Structure

  • Refactor a single 40-line script into at least four named functions, each doing one job

  • Pass arguments into functions and return values out of them instead of relying on global variables

  • Predict what happens when a function changes a local variable versus a global one, then verify by running it

  • Import and call a function from a library or second file in your program

Your checkpoint

A refactored multi-function program with a short written function inventory listing each function's purpose, parameters and return value

Week 4

Data, Variables and Control Flow

  • Classify ten sample values by data type (integer, float, string, boolean) and justify each classification

  • Declare, assign and reassign variables and predict the stored value after a sequence of five assignments

  • Convert between types explicitly and describe what happens when the conversion is invalid

  • Use a list/array to hold a set of related values and access, add and replace items in it

Your checkpoint

A variable-and-type worksheet (ten assignments predicted, then run) scoring at least 9/10 against actual program behaviour

Week 5

Data, Variables and Control Flow

  • Write if/elif/else chains that correctly handle at least four mutually exclusive cases

  • Build a loop that repeats until a sentinel value is entered, and another that iterates a fixed number of times

  • Combine AND, OR and NOT in a compound condition and test it against all four truth-table input combinations

  • Trace a nested loop by hand and state how many times the inner body executes

Your checkpoint

A menu-driven program with input validation, a loop and at least three branches, plus a written test run showing valid and invalid input handling

Week 6

Testing, Debugging and Documentation

  • Derive test cases from a written specification rather than from the code itself

  • Design normal, boundary and invalid test data for one input field and state the expected result for each

  • Record actual versus expected outputs in a test log and mark each case pass or fail

  • Desk-check a 20-line program on paper before executing it

Your checkpoint

A test plan table with 12 cases (at least 3 boundary, 3 invalid) for your week-5 program, showing expected result, actual result and pass/fail

Week 7

Testing, Debugging and Documentation

  • Read three runtime error messages and map each to the line and cause that produced it

  • Use breakpoints or step-through debugging to inspect variable values mid-execution

  • Locate and fix logical errors in three buggy programs you deliberately introduce

  • Distinguish syntax, runtime and logic errors and give one example of each from your own work

Your checkpoint

A bug log with three entries, each recording symptom, diagnostic method, root cause, fix and re-test result

Week 8

Testing, Debugging and Documentation & Coding Concepts and Program Structure

  • Add inline comments and a README that explains purpose, inputs, outputs and how to run the program

  • Review all four domains against the syllabus checklist and list your three weakest areas

  • Complete a timed 30-question practice set across all four domains and record your score per domain

  • Re-study your two lowest-scoring domains and re-attempt the missed questions

Your checkpoint

A documented final project (code plus README) and a timed mock score report with a written remediation note for every question missed

Milestones

Week 2: You can take a plain-English problem, write pseudocode and produce a running program from it without copying an existing solution

Week 4: You can predict the value and type of a variable after any short sequence of assignments with at least 90% accuracy

Week 6: You can write a 12-case test plan from a specification alone and correctly mark pass/fail for each case

Week 8: Timed mock exam completed at 75% or above overall, with no single domain below 60%