Problem Decomposition (OCR A Level Computer Science)

Revision Note

James Woodhouse

Written by: James Woodhouse

Reviewed by: Lucy Kirkham

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.

Last updated:

You've read 0 of your 5 free revision notes this week

Sign up now. It’s free!

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

Expertise: Computer Science

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.

Lucy Kirkham

Author: Lucy Kirkham

Expertise: Head of STEM

Lucy has been a passionate Maths teacher for over 12 years, teaching maths across the UK and abroad helping to engage, interest and develop confidence in the subject at all levels.Working as a Head of Department and then Director of Maths, Lucy has advised schools and academy trusts in both Scotland and the East Midlands, where her role was to support and coach teachers to improve Maths teaching for all.