Programming is the largest assessed section of IGCSE CS (Paper 2). Students learn to design algorithms, write pseudocode, and implement solutions using structured programming concepts.
Algorithm: step-by-step set of instructions to solve a problem. Expressed as: pseudocode (structured English), flowcharts (graphical), or program code. Flowchart symbols: oval (start/end), rectangle (process), parallelogram (input/output), diamond (decision). Trace tables: track variable values through an algorithm step-by-step — essential for debugging. Linear search: check each element in order. Bubble sort: compare adjacent elements, swap if wrong order, repeat until sorted.
Variables: named storage locations (INTEGER, REAL, STRING, CHAR, BOOLEAN). Constants: values that do not change. Selection: IF...THEN...ELSE...ENDIF, CASE...OF...ENDCASE. Iteration: FOR...TO...NEXT (count-controlled), WHILE...DO...ENDWHILE (pre-condition), REPEAT...UNTIL (post-condition). Arrays: ordered collection of elements of the same type. 1D: MyArray[1] to MyArray[10]. 2D: Grid[row][col]. Procedures: named blocks of code (no return value). Functions: named blocks that return a value. Parameters: values passed into procedures/functions.
Testing: normal data (typical valid input), abnormal/erroneous data (invalid input — should be rejected), boundary/extreme data (at the limits of valid range). Validation checks: range check, length check, type check, presence check, format check. Verification: double entry, visual check. File handling: OPENFILE for READ/WRITE/APPEND, READFILE, WRITEFILE, CLOSEFILE. Error handling: anticipate and handle runtime errors (e.g., division by zero, file not found).
A procedure is a named block of code that performs a task but does not return a value. It is called as a standalone statement: CALL PrintReport(data). A function is a named block of code that performs a task AND returns a value. It is used within expressions: result ← CalculateAverage(scores). Both can accept parameters (values passed in). Functions are used when you need a result back (e.g., calculating something). Procedures are used for actions (e.g., displaying output, writing to a file). In many languages, procedures are just functions that return nothing (void).
Book a Trial + Diagnostic session. Get a personalized Learning Path with clear milestones, tutor match, and a plan recommendation — all within 24 hours.
Book Trial + Diagnostic →