Problem Decomposition (OCR A Level Computer Science)

Revision Note

James Woodhouse

Expertise

Computer Science

Problem Decomposition

What is Decomposition?

  • Decomposition is breaking down a big problem into smaller problems so that they can be solved independently

  • Programmers use decomposition to:

    • Break problems down

    • Identify the steps, parts or processes involved in a problem

    • Identify reusable components

    • Split tasks between programmers

  • In the case of slow appointment booking, you could decompose the problem into issues such as server limitations during peak hours, inefficient backend algorithms, and user interface delays

big-problem-1

Process of decomposition to break problems down

Using abstraction to design a solution

  • Before we start to break problems down, it is often useful to apply the rules of abstraction to the problem

  • Applying abstraction will remove non-essential elements and that programmers can focus on critical aspects for problem-solving

  • When addressing the slow booking system, a programmer could ignore elements like the system's colour scheme or graphics and focus on critical performance metrics such as server response time and database query efficiency

Decomposing slow response times problem

  1. Big problem: Slow response times during the online appointment booking process

  2. Decompose into sub-problems:

    • Server limitations causing bottlenecks during peak hours

    • Inefficient algorithms leading to delayed confirmation screens

    • Poor user interface contributing to an overall bad user experience

  3. Prioritise sub-problems:

    1. Address server limitations, as solving this could have a broad impact on system performance

    2. Look into optimising algorithms to speed up the booking and confirmation process

    3. Lastly, make user interface improvements to enhance user experience, possibly mitigating some of the frustration caused by slow response times

Worked Example

A popular online retail platform has recently faced significant problems with its recommendation system. Customers complain that the recommendations are not relevant, and this is affecting sales figures.

Analyse the problems facing the recommendation system of the online retail platform. Decompose the problem into smaller components and discuss possible software solutions. What are the limitations of relying solely on software to improve the recommendation system?

How to answer this question:

  1. Introduction: Introduce the scenario and pinpoint the main problem: the ineffective recommendation system affecting sales

  2. Decomposition: Break down the issue into sub-problems such as data quality, algorithmic inefficiency, and lack of user input

  3. Software Solutions: Propose software-related solutions like machine learning algorithms, improved data collection, and user interface changes for better user feedback

  4. Limitations: Discuss why software solutions alone might not be sufficient to solve the problem completely

Answer:

The online retail platform faces a significant issue with its recommendation system, impacting customer satisfaction and sales. The problem can be decomposed into several smaller components: poor data quality, inefficient recommendation algorithms, and a lack of an interface for users to give feedback on recommendations. Software solutions can play a vital role in addressing these issues.

Machine learning algorithms can be developed to make more precise recommendations. Data quality can be improved by incorporating a more diverse set of user activities and perhaps by using third-party data.

User interface improvements could allow customers to provide immediate feedback on recommendations, which could further refine the algorithm. However, even the most advanced software solutions have limitations. For instance, without human input, they can't capture real-world influences on customer behaviour or adapt to rapid market changes.

Acceptable answer you could have given instead:

The online retailer is struggling with an ineffective recommendation system that needs improvement. This problem can be broken down into issues like inadequate data quality, outdated algorithms, and missing user feedback mechanisms. Software solutions are essential for solving these problems.

Upgrading the algorithms and improving data quality can make the recommendations more relevant. Moreover, incorporating a user feedback feature can also help refine the system. However, software alone might not be a complete solution as it can't account for every variable affecting customer behaviour or rapid changes in consumer trends.

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?

James Woodhouse

Author: James Woodhouse

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.