ICDL Coding Principles (ICDL) study plan
ICDL Coding Principles · Give each week a clear focus.
8 weeks · About 6 hours per week
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
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
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
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
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
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
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
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%