Back to the topic

The mark scheme starts on a new page, so you can print pages one and two for a student and keep the last page yourself. Everything prints in black on white whichever theme you are using.

GCSE Computer Science · 2.1.1

Computational Thinking

Section A: 10 multiple choice questions, 10 marks. Section B: 5 written questions, 14 marks. Total 24 marks.

Name

Class

Date

Mark  / 24

Section A

Circle the letter of the correct answer. One mark each.

  1. 1What is abstraction?1
    1. ABreaking a problem into smaller parts
    2. BRemoving unnecessary detail so only what matters is considered
    3. CTesting a program with different data
    4. DPutting steps into the correct order
  2. 2A programmer splits a game into separate parts for movement, scoring and collision detection. This is:1
    1. AAbstraction
    2. BIteration
    3. CValidation
    4. DDecomposition
  3. 3Which detail would most sensibly be removed by abstraction in a bus timetable app?1
    1. AThe stops on the route
    2. BThe route number
    3. CThe colour of each bus
    4. DThe departure time
  4. 4Which is a benefit of decomposition?1
    1. AThe program will always run faster
    2. BThe program needs less memory
    3. CDifferent people can work on different parts at the same time
    4. DNo testing is required
  5. 5An algorithm must be finite. This means:1
    1. AIt must be short
    2. BIt must have no more than ten steps
    3. CIt must use only whole numbers
    4. DIt must eventually stop
  6. 6Why does the order of steps in an algorithm matter?1
    1. AComputers can only read instructions alphabetically
    2. BOrder affects how much memory is needed
    3. CSteps that depend on earlier results must come after them
    4. DIt does not matter, computers work it out
  7. 7A weather app ignores the historical rainfall of a region when showing today's forecast. This is an example of:1
    1. AIteration
    2. BDecomposition
    3. CCompression
    4. DAbstraction
  8. 8Which of these is the best example of a sub problem from decomposing an online shop?1
    1. ACalculate the total cost of the basket
    2. BSell more products
    3. CMake the shop work well
    4. DBe user friendly
  9. 9Algorithmic thinking is best described as:1
    1. AIdentifying the steps needed to solve a problem and ordering them correctly
    2. BRemoving unnecessary detail
    3. CTesting a program with boundary data
    4. DWriting a program in Python
  10. 10Which of the three techniques is being used when a programmer decides that a chess program does not need to know what the pieces are made of?1
    1. AAlgorithmic thinking
    2. BAbstraction
    3. CDecomposition
    4. DValidation

Section B

Answer in the space provided. The number of marks tells you how many separate points to make.

  1. 1DefineDefine the term abstraction.2
  2. 2DescribeA company is writing a program to manage a car park. Describe how decomposition could be used when developing this program.4
  3. 3ExplainExplain how abstraction would be used in a program that finds the shortest route between two railway stations.3
  4. 4StateState two benefits of using decomposition when developing a large program.2
  5. 5ExplainExplain why the order of the steps in an algorithm is important, using an example.3

Mark scheme

Section A

1B2D3C4C5D6C7D8A9A10B

Section B

1 Define the term abstraction. 2

One mark for each of the following, to a maximum of 2.

  • Removing or hiding unnecessary detail
  • So that only the information relevant to solving the problem remains

Model answer. Abstraction is the process of removing or hiding detail that is not necessary for solving a particular problem, so that only the information which is actually relevant remains. This makes the problem simpler to understand and to solve, and often makes the resulting solution more widely applicable.

2 A company is writing a program to manage a car park. Describe how decomposition could be used when developing this program. 4

One mark for each of the following, to a maximum of 4.

  • The problem is broken into smaller sub problems
  • Gives a valid sub problem such as recording vehicles entering
  • Gives a second valid sub problem such as calculating the charge
  • Explains a benefit such as each part can be written and tested separately or by different people

Model answer. Decomposition would be used to break the overall car park system into smaller sub problems that can each be solved on their own. For example, one sub problem would be recording vehicles entering, which involves reading the number plate and logging the arrival time and raising the barrier. A second would be calculating the charge when a vehicle leaves, which involves finding the arrival record, working out the duration and applying the tariff. Further sub problems would include processing payment, tracking how many spaces remain free, and producing reports for the owner. Breaking the problem down this way means each part is small enough to be understood fully, different programmers can work on separate parts at the same time, and each part can be tested independently so that faults are much easier to locate.

3 Explain how abstraction would be used in a program that finds the shortest route between two railway stations. 3

One mark for each of the following, to a maximum of 3.

  • Unnecessary details are removed
  • Gives examples of removed detail such as scenery, station architecture or the type of train
  • Retains only the relevant information such as stations, connections and journey times

Model answer. Abstraction would be used to strip the real railway network down to only the information needed to find a shortest route. Details such as what the stations look like, the type of train used on each service, the scenery along the route and the number of passengers travelling would all be removed, because none of them affect which sequence of connections is quickest. What would be retained is the set of stations, which stations are directly connected to which others, and the journey time or distance for each connection. This turns a very complex real world system into a simple network of points and weighted links, which a routing algorithm can then process quickly.

4 State two benefits of using decomposition when developing a large program. 2

One mark for each of the following, to a maximum of 2.

  • Each smaller part is easier to understand and solve
  • Parts can be developed or tested independently, or by different people

Model answer. Each sub problem is much smaller than the original problem, so it is easier to understand and to solve correctly. In addition, the sub problems can be allocated to different programmers who can work on them at the same time, and each part can be tested independently, which means errors are located much more quickly than in a single large program.

5 Explain why the order of the steps in an algorithm is important, using an example. 3

One mark for each of the following, to a maximum of 3.

  • Some steps depend on the result of earlier steps
  • If the order is wrong the algorithm produces an incorrect result or fails
  • Gives a valid example demonstrating a dependency

Model answer. The order of steps matters because many steps depend on values or conditions produced by earlier steps, so carrying them out in the wrong sequence produces an incorrect result or causes the algorithm to fail completely. For example, in an algorithm that calculates the average of a set of numbers, the total must be calculated before it is divided by the count. If the division were carried out first, the program would divide an empty or partial total and produce a meaningless answer. Similarly, a program cannot validate a user's input before it has asked for that input, so the input step must come first.