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.

AQA GCSE CS · 3.1.1

Computational Thinking

Section A: 10 multiple choice questions, 10 marks. Section B: 5 written questions, 13 marks. Total 23 marks.

Name

Class

Date

Mark  / 23

Section A

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

  1. 1Which is AQA's definition of an algorithm?1
    1. AA set of instructions written in a programming language
    2. BA sequence of steps that can be followed to complete a task
    3. CA diagram showing the flow of data through a system
    4. DA method of storing data efficiently in memory
  2. 2What is the relationship between an algorithm and a program?1
    1. AThey are two words for the same thing
    2. BAn algorithm is an implementation of a program
    3. CA program is always shorter than its algorithm
    4. DA program is an implementation of an algorithm
  3. 3A developer splits a shopping app into a login routine, a basket routine and a payment routine. This is an example of:1
    1. AValidation
    2. BDecomposition
    3. CIteration
    4. DAbstraction
  4. 4Which of these is a benefit of decomposition?1
    1. ADifferent programmers can work on different sub problems at the same time
    2. BIt guarantees the program contains no logic errors
    3. CIt removes the need to test the program
    4. DThe program will always run faster
  5. 5A weather app stores only a town's name and its coordinates, ignoring its population and history. This is an example of:1
    1. AEncryption
    2. BAbstraction
    3. CDecomposition
    4. DCompression
  6. 6Why is the London Underground map a good example of abstraction?1
    1. AIt is drawn using only two colours to save ink
    2. BIt compresses the data so the file is smaller
    3. CIt splits the network into separate lines that can be printed separately
    4. DReal distances and geography are removed because passengers only need the order of stations
  7. 7Which statement about abstraction is correct?1
    1. AIt means writing the algorithm in a low level language
    2. BIt always increases the amount of memory a program needs
    3. CIt means splitting a problem into sub problems
    4. DIt makes a solution simpler because less data has to be stored and processed
  8. 8Which of these is NOT a property that every algorithm must have?1
    1. AIts steps must be in a definite order
    2. BIt must eventually finish
    3. CIt must be written in a programming language
    4. DIts steps must be unambiguous
  9. 9A student writes: 'Decomposition means removing detail you do not need.' What is wrong with this?1
    1. AThat is the definition of abstraction, not decomposition
    2. BDecomposition only applies to hardware
    3. CNothing, it is correct
    4. DDecomposition means translating code into machine code
  10. 10Why does designing an algorithm before coding reduce development time overall?1
    1. AIt means the program does not need testing
    2. BIt removes the need for a translator
    3. CErrors in the method are found on paper, before they are built into code that has to be debugged
    4. DIt makes the finished program run at a higher clock speed

Section B

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

  1. 1StateState what is meant by the term algorithm.1
  2. 2ExplainExplain the difference between an algorithm and a computer program.2
  3. 3DescribeA team is writing software for an online supermarket. Describe how decomposition would help them develop the software.4
  4. 4ExplainExplain what is meant by abstraction, using an example.3
  5. 5ExplainA student says: 'Abstraction and decomposition mean the same thing.' Explain why the student is wrong.3

Mark scheme

Section A

1B2D3B4A5B6D7D8C9A10C

Section B

1 State what is meant by the term algorithm. 1

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

  • A sequence of steps that can be followed to complete a task

Model answer. An algorithm is a sequence of steps that can be followed to complete a task.

2 Explain the difference between an algorithm and a computer program. 2

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

  • An algorithm is the method or sequence of steps for solving the problem
  • A program is an implementation of that algorithm in a programming language

Model answer. An algorithm is the method itself: the sequence of steps that solves the problem, which can be written as pseudo-code, as a flowchart or in plain English. A computer program is an implementation of that algorithm in a particular programming language, so that a computer can actually execute it. The same algorithm can therefore be implemented as many different programs.

3 A team is writing software for an online supermarket. Describe how decomposition would help them develop the software. 4

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

  • The problem is broken down into smaller sub problems
  • Each sub problem is simpler and can be solved on its own
  • Different programmers can work on different sub problems at the same time
  • Each part can be tested separately so errors are easier to locate

Model answer. Decomposition means breaking the supermarket system down into smaller sub problems such as searching the product catalogue, managing the basket, taking payment and booking a delivery slot. Each of those sub problems is far simpler than the whole system, so a programmer can understand it, solve it and finish it without holding the entire project in their head. Because the sub problems are independent, different members of the team can work on different parts at the same time, which shortens development. Each part can also be tested on its own, so when something fails the fault is known to lie inside one small routine rather than anywhere in the finished system.

4 Explain what is meant by abstraction, using an example. 3

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

  • Abstraction is removing or hiding unnecessary detail
  • Only the information needed to solve the problem is kept
  • A valid example is given, such as a tube map keeping station order but discarding real distances

Model answer. Abstraction is the process of removing unnecessary detail from a problem so that only the information needed to solve it remains. For example, the London Underground map is not drawn to scale and shows none of the real geography above ground, because a passenger only needs to know which stations lie on which line and where the lines cross. Removing the rest makes the map far quicker to read, and in the same way removing irrelevant data from a program makes it simpler to write and less demanding on memory.

5 A student says: 'Abstraction and decomposition mean the same thing.' Explain why the student is wrong. 3

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

  • Decomposition breaks a problem into smaller sub problems
  • Abstraction removes detail that is not needed
  • They are different processes that can both be applied to the same problem

Model answer. The student is wrong because the two techniques do different jobs. Decomposition takes one large problem and breaks it into smaller sub problems, each of which can be solved, tested and reused on its own, so the size of the problem changes but the detail does not. Abstraction leaves the problem whole but strips out the detail that is not needed to solve it, so that only relevant information is represented. Both techniques are usually applied to the same project, and a good solution will decompose the system into subroutines while abstracting away the data that has no bearing on the result.