Total marks: 60 · Duration: 1 hour 30 minutes
Instructions to candidates
• Answer all questions. • Use black ink or black ball-point pen. • The number of marks is given in brackets [ ] at the end of each question or part question. • You may use a calculator. • The total number of marks for this paper is 60. • All the information you need is contained within the questions.
Paper
Section A — Structured Questions (44 marks)
1. Systems architecture
(a) State the purpose of the CPU in a computer system. [2]
(b) The CPU carries out the fetch–decode–execute cycle. Describe what happens in each of the three stages. [4]
(c) Explain how two of the following affect the performance of a CPU: clock speed, number of cores, cache size. [4]
2. Memory and storage
(a) State the difference between RAM and ROM. [2]
(b) Explain what virtual memory is and why a computer might use it. [4]
(c) A user needs to back up 500 GB of data. Explain two factors they should consider when choosing between a solid-state drive (SSD) and a magnetic hard disk drive (HDD). [4]
3. Algorithms
(a) State what is meant by decomposition in computational thinking. [2]
(b) Explain the difference between a linear search and a binary search. [4]
(c) Complete a trace table for the algorithm below when the input n is 4. Show the value of result and i at each step, and state the final output.
result = 1
FOR i = 1 TO n
result = result * i
NEXT i
OUTPUT result
[6]
4. Programming and defensive design
(a) State what is meant by an infinite loop. [2]
(b) Explain the difference between a syntax error and a logic error, giving an example of each. [4]
(c) Explain two techniques a programmer can use to write robust, defensive programs (for example validating input). Explain how each helps. [6]
Section B — Extended Response (16 marks)
5. A company is choosing between open source software and proprietary (closed source) software for its office computers.
Discuss the advantages and disadvantages of each type of software, and advise the company on what it should consider before deciding. Reach a supported conclusion. [16]