Chapter 11 from the Cambridge International AS and A Level Computer Science Coursebook,
summary focused on Algorithm Design and Problem-Solving:
🔹 Key Concepts in Algorithm Design
Concept Description
Algorithm A step-by-step solution to a problem.
The process of identifying problems, designing, testing, and refining
Problem-solving
solutions.
Decomposition Breaking a problem into smaller, manageable parts.
Stepwise
Iteratively breaking down tasks into more detail.
refinement
Top-down design High-level overview first, then refine each part in detail.
Informal language for expressing algorithms; closer to code than natural
Pseudocode
language.
Flowchart Diagrammatic representation of the sequence of steps in an algorithm.
🔹 Comparison: Decomposition vs Stepwise Refinement
Feature Decomposition Stepwise Refinement
Structure and modular breakdown of the Gradually increasing detail in each sub-
Focus
problem problem
Goal Identify sub-problems or modules Define exact steps for implementation
Break “Order Pizza” into “Select Pizza”, Refine “Make Payment” into card input,
Example
“Make Payment” validation, etc.
🔹 Algorithm Design Techniques
Technique Description Example
Linear algorithm Executes in sequence, one step after another Calculate area of a rectangle
Check if a number is even or
Conditional logic Decision-making using IF, ELSE statements
odd
Iteration
Repeats a block of code (WHILE, FOR) Sum numbers from 1 to 100
(looping)
A function calling itself to solve smaller
Recursion Factorial, Fibonacci
instances
🔹 Characteristics of a Good Algorithm
Characteristic Explanation
Correctness Solves the problem accurately
Clarity Easy to read and understand
Efficiency Uses minimal resources (time and memory)
Robustness Handles unexpected or invalid inputs gracefully
Generality Works for a wide range of inputs, not just specific cases
🔹 Pseudocode Elements
Construct Description Example
IF/ELSE Decision making IF score > 50 THEN ...
FOR loop Repeat with known range FOR i ← 1 TO 10
WHILE loop Repeat while condition is true WHILE balance > 0
REPEAT/UNTIL Loop until condition is met REPEAT ... UNTIL x = 0
PROCEDURE Named set of instructions PROCEDURE calculateTax()
🔹 Flowchart Symbols (Visual Algorithm Representation)
Symbol Meaning
Oval Start or end of an algorithm
Rectangle Process or instruction
Diamond Decision (yes/no)
Parallelogram Input or output
Arrows Flow of control
Let me know if you'd like examples from the chapter or specific worked-through problems
explained!