Problem Analysis Revision Notes
Subject: Computer Science | Level: GCSE | Exam Board: OCR
Master the core of computational thinking for your OCR GCSE Computer Science exam. This guide breaks down Problem Analysis (3.1) into easy-to-understand concepts, showing you how to decompose problems, use abstraction, and think algorithmically to secure top marks.
Revision Notes & Key Concepts
Key Terms & Definitions
- Decomposition
- Breaking down a complex problem into smaller, more manageable parts.
- Abstraction
- Removing unnecessary details to focus on the essential characteristics of a problem.
- Algorithmic Thinking
- The process of developing a step-by-step solution to a problem.
- Structure Diagram
- A diagram that shows the hierarchical breakdown of a complex problem into smaller sub-problems.
- Input
- Data that is provided to a computer system or algorithm to be processed.
- Pattern Recognition
- Identifying similarities or shared characteristics among different problems or within the same problem.
Worked Examples
Worked Example
Question: A local cinema needs a new system to manage ticket bookings. **Decompose** the problem of creating this system. You should identify at least four main sub-problems. [4 marks]
Solution: The problem of creating a cinema ticket booking system can be decomposed into the following sub-problems: 1. **Film Management**: A sub-system to add, remove, and update details of the films being shown (e.g., title, age rating, show times). 2. **Customer Booking**: A sub-system for customers to select a film, choose a show time, and select the number of seats. 3. **Payment Processing**: A sub-system to handle the financial transaction, taking payment from the customer via credit/debit card. 4. **Ticket Generation**: A sub-system to generate and issue an electronic ticket (e.g., a QR code) to the customer via email after a successful booking.
Worked Example
Question: A programmer is creating a simulation of a bus journey for a mobile game. **Explain** how abstraction could be used in the creation of the bus model. [5 marks]
Solution: Abstraction is removing unnecessary detail to focus on essential characteristics. When creating the bus model for the game, the programmer would focus on details essential for the simulation and ignore those that are not. **Essential characteristics to keep:** * **Speed/Acceleration**: To simulate the bus moving. * **Passenger Capacity**: To know when the bus is full. * **Current Location/Route**: To track its progress on the journey. **Unnecessary details to remove (abstract away):** * **Engine Size/Model**: The exact make of the engine is irrelevant to the gameplay. * **Colour of the Seats**: This has no impact on the simulation's logic. * **Driver's Name**: Not needed for the core mechanics of the bus journey. By abstracting these details, the programmer simplifies the problem, making the code easier to write and the simulation more efficient.
Worked Example
Question: A program is required to calculate the total cost of items in a shopping basket, including a 5% delivery fee. **Identify** the inputs, processes, and outputs for this problem. [6 marks]
Solution: An IPO (Input-Process-Output) analysis for this problem is as follows: **Inputs:** * `item_prices`: A list of the prices for each individual item in the basket. (2 marks) * `delivery_fee_rate`: The percentage for the delivery fee, which is 5% or 0.05. (1 mark) **Processes:** * Calculate the sub-total by summing all `item_prices`. (1 mark) * Calculate the delivery fee amount by multiplying the sub-total by the `delivery_fee_rate`. (1 mark) **Outputs:** * `total_cost`: The final cost, calculated by adding the sub-total and the delivery fee amount. (1 mark)
Practice Questions
Question: **State** the three main computational thinking techniques you need to know for problem analysis. [3 marks]
Answer:
Question: A school is creating a new software system to manage student attendance. **Describe** one way decomposition would be used to develop this system. [2 marks]
Answer:
Question: You are designing a computer game where a character explores a fantasy world. **Explain**, using two examples, how abstraction would be used to model the main character. [4 marks]
Answer:
Question: A coffee machine has a simple program to make a drink. It needs to know the type of drink (e.g., 'Espresso', 'Latte') and whether the user wants sugar. It outputs the finished drink. Create an IPO table for this system. [4 marks]
Answer:
Question: A program needs to check if a user-supplied password meets certain criteria: it must be at least 8 characters long and contain at least one number. **Decompose** this problem and draw a structure diagram to represent your design. [5 marks]
Answer:



