Community resourceWorksheet
J277 2.1.1 Computational thinking
Part 1 of 3 · J277 2.1.1-2.1.2 · Computational thinking and algorithms
The opening Paper 2 worksheet, introducing abstraction, decomposition and algorithmic thinking as problem-solving approaches.
Students will:
- identify each of the three approaches
- use each one in a new situation
- explain how each helps define or refine a solution
- distinguish an approach from a Python feature
- justify the approach chosen for a problem
Inside: 4 explanation cells, 1 runnable Python task, 2 multiple-choice questions, 1 fill-in-the-blanks cell and 4 written answers. 19 marks, about 45 minutes.
Series: J277 2.1.1-2.1.2 · Computational thinking and algorithms, part 1 of 3.
Shared by Coding PathwayVerified teacher
- 12 cells
- About 45 minutes
- CC BY-SA 4.0
- Shared 17 Aug 2026
- Updated 9 Sept 2026
Preview
The whole resource, exactly as a class sees it. Answers and marking are held back.
Computational thinking
Computer scientists turn complicated problems into manageable, precise steps. In this worksheet you will use abstraction, decomposition and algorithmic thinking. These are problem-solving approaches, not pieces of hardware or Python commands.
By the end, you should be able to identify each approach, use it in a new situation and explain how it helps to define or refine a solution.
Three connected approaches
- Abstraction removes or hides details that are not needed, leaving the important features of the problem.
- Decomposition breaks a problem into smaller sub-problems that can be understood, developed and tested separately.
- Algorithmic thinking develops a clear sequence of logical steps that will solve the problem.
They often work together. To design a school lunch pre-order system, a developer could ignore the colour of a student's bag, split the work into login, menu, order and payment sections, then write the steps for placing an order.
A journey-planning app ignores the colour of each car but keeps road closures and travel times. Which approach is being used?
- AAbstraction
- BDecomposition
- CAlgorithmic thinking
- DTesting
- testing
- decomposition
- abstraction
- algorithmic thinking
- iteration
A school wants a system that records attendance and alerts staff when a student is absent. Decompose this problem into four suitable sub-problems.
Name distinct jobs the system must perform. For example, collecting data and producing an alert are different sub-problems.
Students type their answer here.
Which detail is most likely to be retained when abstracting a program that calculates the cost of cinema tickets?
- AThe wall colour in the cinema
- BThe ticket type and its price
- CThe cashier's favourite film
- DThe shape of the cinema sign
From an idea to precise steps
Algorithmic thinking turns the relevant inputs and rules into an ordered solution. The example below represents a small part of a cinema booking problem. It stores the numbers of adult and child tickets, applies the correct price to each group and displays the total cost.
Before running it, predict the total. Then change one ticket quantity and check that the result changes in the way you expect. This is a small example of refining and testing a precise solution.
# A precise algorithm can be expressed as runnable code.
adult_tickets = 2
child_tickets = 3
total_cost = adult_tickets * 9 + child_tickets * 6
print(total_cost)
Use algorithmic thinking to outline four ordered steps for returning a book at a self-service library kiosk. The kiosk must receive the book identifier, find the matching loan, record the return and confirm the result.
Write one precise action per step and keep the steps in a logical order.
Students type their answer here.
Explain how decomposition could make the cinema ticket problem easier to develop and test.
Make a point, name a possible sub-problem, then explain how working on that part separately helps.
Students type their answer here.
A sports-day program records event results. Give one detail the program should retain and one detail it could ignore through abstraction, then explain why your choices help solve the problem.
Use the sports-day context. Keep information needed to record or calculate results; ignore a detail that has no effect on those tasks.
Students type their answer here.
Final check
A strong answer names the approach and links it to the problem. Avoid writing only “it makes it easier”. State what is simplified or separated and why that helps produce a solution.