CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
• Program Development Life Cycle
• Design
• The program development life • Key Tasks:
cycle consists of the following • Decomposition: Further breaking down
stages: tasks into steps.
• Analysis • Tools: Use structure diagrams,
• Key Tasks: flowcharts, and pseudocode to design
• Abstraction: Simplifying the solutions.
problem by focusing on key • Practical Tip: Practice creating
details. flowcharts and pseudocode for simple
• Decomposition: Breaking down the tasks, such as calculating the sum of
problem into smaller, manageable two numbers.
parts. • Coding
• Identifying the problem and • Key Tasks:
requirements: Clearly defining • Writing program code based on the
what the program must achieve. design.
• Practical Tip: Use real-world • Iterative testing to ensure code
examples to practice problem correctness.
decomposition and requirement • Practical Tip: Start with small code
identification. snippets and test each part before
integrating.
www.bestgradez.com | 2024 | copy right all rights reserved 1
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
• Testing
• Key Tasks:
• Problem Decomposition
• Use a variety of test data (normal,
• Breaking a complex problem into simpler,
boundary, and erroneous) to
manageable parts.
validate the program.
• Practical Tip: Practice identifying smaller
• Practical Tip: Create a test plan
tasks in real-world scenarios, like
and document the results for each
designing a login system (input
test case.
validation, user authentication, error
Understanding Sub-systems and handling).
Problem Decomposition • Methods to Design and Construct Solutions
• Use structure diagrams to represent the
1. Sub-systems in Computer Systems overall system.
• A computer system is composed of • Create flowcharts to show the process
multiple sub-systems, each performing flow.
specific tasks. • Write pseudocode to detail the steps in a
• Sub-systems can further be broken into clear and structured format.
smaller components for better • Practical Tip: Design and implement small
management.. projects, such as creating a calculator or
a grade analysis program, using these
methods.
www.bestgradez.com | 2024 | copy right all rights reserved 2
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
Explaining the Purpose of an Algorithm Standard Methods of Solution
• Methods Covered:
• Purpose:
• Linear Search: Sequentially checks each
• Define what the algorithm is
element in a list until the desired value
intended to achieve.
is found or the list ends.
• Identify the inputs, processes,
• Bubble Sort: Repeatedly compares
outputs, and storage involved.
adjacent elements and swaps them if
• Describing Processes in an
they are in the wrong order.
Algorithm:
• Totalling: Adds up a series of numbers.
• Clearly state each step in the
• Counting: Keeps track of the number of
algorithm.
specific items or occurrences.
• Highlight how the algorithm
• Finding Maximum, Minimum, and
transforms inputs into outputs.
Average Values: Determines the largest,
• Practical Tip: Practice analyzing
smallest, and average value in a
algorithms by identifying their
dataset.
purpose and breaking down their
• Practical Tip: Write pseudocode and
processes. For example, write the
create flowcharts for each method. Test
steps for sorting a list of numbers.
these methods with sample datasets.
www.bestgradez.com | 2024 | copy right all rights reserved 3
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
Validation and Verification Checks
• Validation Checks: Ensure input • Verification Checks: Ensure data
data is sensible and reasonable. entered matches the original
• Range Check: Ensures data falls source.
within a specified range. • Visual Check: User manually
• Length Check: Verifies the number of confirms data accuracy.
characters in input. • Double Entry Check: Data is entered
• Type Check: Confirms data is of the twice and compared for
correct type (e.g., integer, string). consistency.
• Presence Check: Checks that data is • Practical Tip: Practice creating
not missing. algorithms for both visual and
• Format Check: Ensures data follows double entry checks.
a specific format (e.g., a date in
DD/MM/YYYY).
• Check Digit: Verifies the integrity of
numeric data using a calculated
digit.
• Practical Tip: Write small programs
to implement and test these checks.
www.bestgradez.com | 2024 | copy right all rights reserved 4
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
Test Data
Trace Tables and Dry-Running Algorithms
• Types of Test Data:
• Trace Tables: Document the step-
• Normal Data: Typical, expected
by-step execution of an algorithm.
inputs.
• Tracks variables, outputs, and user
• Abnormal Data: Incorrect or
prompts at each step.
unexpected inputs.
• Practical Tip: Practice completing
• Extreme Data: Largest or smallest
trace tables for simple algorithms
acceptable values.
to understand their behavior and
• Boundary Data: Values at the edge
identify errors.
of acceptable ranges, including the
smallest/largest rejected values.
• Practical Tip: Create test plans
using all types of test data for a
sample program. Document expected
and actual outcomes.
www.bestgradez.com | 2024 | copy right all rights reserved 5
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
Identifying and Correcting Errors
Summary of Tools and Techniques
• Common Errors:
• Logic Errors: Incorrect algorithm
steps leading to wrong outputs.
• Syntax Errors: Mistakes in program
code syntax.
• Runtime Errors: Errors occurring
during program execution.
• Correcting Errors:
• Debugging: Use trace tables and
step-through testing to find and fix
issues.
• Rewriting Algorithms: Improve
clarity and correctness based on
identified issues.
• Practical Tip: Regularly review and
refine your algorithms using test
cases.
www.bestgradez.com | 2024 | copy right all rights reserved 6
CAIE | Notes | Computer science IGCSE | Chapter 7 Algorithm design and problem-solving
Key Terms to Remember:
• Validation: Ensures input data is
reasonable.
• Verification: Confirms data
accuracy and consistency.
• Trace Table: Tracks algorithm
behavior step-by-step.
• Linear Search: Sequentially searches
data.
• Bubble Sort: Sorts data through
repeated comparisons.
www.bestgradez.com | 2024 | copy right all rights reserved 7