Programming Fundamentals and Software Development
What this domain tests
Programming Fundamentals and Software Development tests problem-solving with algorithms, flowcharts and pseudocode, plus core constructs, error types and the software development life cycle.
Core rules and concepts
- An algorithm is a finite, ordered set of steps. A flowchart uses standard symbols: oval (start/end), parallelogram (input/output), rectangle (process) and diamond (decision).
- Three control structures: sequence, selection (if/else) and iteration (for/while).
- Variables store changing values; constants do not change. Data types include integer, real, character, string and Boolean.
- Assignment uses = in many languages; comparison uses == or =. Know your language's syntax.
- Errors: syntax (grammar), runtime (crash during execution, e.g. division by zero) and logical (wrong output although the program runs).
- SDLC: requirements, design, coding, testing, deployment, maintenance. Testing finds defects; debugging fixes them.
Worked example
Pseudocode: total = 0 FOR i = 1 TO 5 total = total + i END FOR OUTPUT total Trace: i=1 total=1; i=2 total=3; i=3 total=6; i=4 total=10; i=5 total=15. Output 15. The loop runs five times; changing TO 4 would output 10.
Traps that cost marks
Do not confuse = with == in languages that use both. Watch off-by-one loop bounds. A program that runs but gives wrong answers has a logical error, not a syntax error. Pseudocode should be language-neutral; do not mix in unexplained syntax.