Problem Decomposition (Cambridge (CIE) O Level Computer Science)

Revision Note

Robert Hampton

Expertise

Computer Science Content Creator

Problem Decomposition

What is decomposition?

  • Decomposition is the process of breaking down a large problem into a set of smaller problems

  • Benefits of decomposition are:

    • Smaller problems are easier to solve

    • Each smaller problem can be solved independently of the others

    • Smaller problems can be tested independently

    • Smaller problems can be combined to produce a solution to the full problem

  • Modern computer games are a good example of using decomposition to break down the complexity of the problem into more manageable 'chunks'

  • Creating an entire game at once would be challenging and inefficient, so it could be decomposed into:

    • Levels - Levels can be designed/created/tested/ independently of other levels

    • Characters - The mechanics of characters in the game can be designed and created by a separate team

    • Landscape - The art team can work on the visual aspects of the game without needing to understand how the game is programmed

  • Once all of the smaller problems are completed, joined together a complex game has been created

Inputs, processes, outputs and storage

  • Decomposing a problem requires developers to think about four key areas:

    • Inputs: data entered into the system

    • Processes: subroutines and algorithms that turn inputs and stored data into outputs

    • Outputs: data that is produced by the system, such as information on a screen or printed information

    • Storage: data that is stored on a physical device, such as on a hard drive or in memory whilst the program is running

Example - Area of a rectangle program

Inputs

Width of the rectangle

Height of the rectangle

Processes

Width x height

Outputs

Calculated area of the rectangle

Storage

Memory: width, height and area stored temporarily

You've read 0 of your 0 free revision notes

Get unlimited access

to absolutely everything:

  • Downloadable PDFs
  • Unlimited Revision Notes
  • Topic Questions
  • Past Papers
  • Model Answers
  • Videos (Maths and Science)

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Robert Hampton

Author: Robert Hampton

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.