Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 604 exam-style questions, each with its mark scheme and example answers. Print it, or answer it on paper and then open the mark schemes. Or browse the questions by topic.

Build a paper

Topics (none ticked: all of them)
Question types (none ticked: all of them)

Practice paper

3 questions · 14 marks

Pick again
Print
1Describe2 marksLow and High Level Languages Swap Remove

A device driver is software that allows the operating system to control a piece of hardware. Device drivers are often written in a low-level programming language.

Describe one reason why a low-level programming language is suitable for writing a device driver.

[2 marks]
Mark scheme

Award up to two marks for a linked description such as:

  • Instructions can manipulate/control the hardware/memory/registers directly (1) so the driver can control the specific device it is written for (1)
  • The code is written for one specific processor/architecture (1) so it works with the exact hardware it will control (1)
  • The programmer controls exactly how memory/registers are used (1) so the code is efficient and needs little memory, which suits a device that has limited memory (1)
  • Each instruction maps to one machine code instruction (1) so the driver code is small enough to fit in the memory of the device (1)

Extra detail, such as naming the device the driver controls, is not needed to earn the marks.

Do not accept 'it is closer to machine code' on its own: it must be developed to show how this helps the driver, e.g. it can control the hardware directly.

Do not accept 'it is faster/quicker' with no link to the hardware/device, e.g. the device responds quickly.

Do not accept 'it is easier to learn', 'it is easier to debug' or 'it takes less time to write'.

Example answers and how they were marked
Full marks2/2

Low-level instructions can manipulate the hardware and memory directly (1) so the driver can control the specific device it was written for, such as a sound card (1).

Why: Point about direct control of hardware/memory (1) linked to controlling the specific device (1). The named device is extra detail and is not needed.

Some marks1/2

Low-level instructions can manipulate the hardware directly.

Why: Correct point (1) but no linked development saying how this helps the device driver.

No marks0/2

It is closer to machine code so it runs faster than a high-level language.

Why: 'Closer to machine code' is not developed into how this helps the driver, and 'runs faster' is not linked to the hardware/device, so no mark.

2Discuss6 marksUtility Software Swap Remove

A charity has 15 laptops used by staff and volunteers. Staff often download files from the internet and open email attachments. The charity's manager is considering installing anti-malware software on every laptop.

Discuss the use of anti-malware software to protect the charity's computers.

Your answer should consider:

  • how malware could affect the charity's computers
  • how anti-malware software finds and deals with malware
  • what else the charity must do for the anti-malware software to be effective
[6 marks]
Mark scheme

Indicative content

How malware could affect the charity's computers

  • A virus could damage or delete the charity's files, such as its records of donations.
  • Spyware could record keystrokes and send staff passwords or personal data to a hacker.
  • A Trojan horse could hide malicious code inside a useful-looking program that a volunteer downloads, so it is installed without the user knowing.
  • Malware could spread from one laptop to another through files shared on the charity's network, so more laptops become infected and more files are lost.

How anti-malware software finds and deals with malware

  • It scans files and compares their code with a database of known malware patterns (signatures) to identify a match.
  • It can apply rules (heuristics) to decide whether a program is behaving suspiciously.
  • A suspicious file can be run in a sandbox to see whether its behaviour is malicious.
  • When malware is found, the file is quarantined so that it cannot run, and it can be deleted.
  • Downloads and email attachments can be scanned before a member of staff opens them.

What else the charity must do for the anti-malware software to be effective

  • The database of malware definitions must be kept up to date, or new malware will not be recognised.
  • Staff and volunteers should be trained not to open unexpected attachments or download from unreliable sites.
  • Backups are still needed, because anti-malware cannot repair files that malware has already damaged.
  • Scheduled scans must be allowed to run on all 15 laptops, so that malware is found even if no one opens the file.

Levels

  • Level 0 (0 marks): No rewardable content.
  • Level 1 (1–2 marks): Basic, independent points are made, showing elements of understanding of key concepts/principles of computer science. (AO1) The discussion will contain basic information with little linkage between points made or application to the context. (AO2)
  • Level 2 (3–4 marks): Demonstrates adequate understanding of key concepts/principles of computer science. (AO1) The discussion shows some linkages and lines of reasoning with some structure and application to the context. (AO2)
  • Level 3 (5–6 marks): Demonstrates comprehensive understanding of key concepts/principles of computer science to support the discussion being presented. (AO1) The discussion is well developed, with sustained lines of reasoning that are coherent and logically structured, and which clearly apply to the context. (AO2)

Level 3 responses must cover both how malware could affect the computers and how anti-malware software finds or deals with it; a brief deal-with point and an unexplained update point, with no identification method and no effect on the charity's files, are Level 1.

Do not accept anti-malware software described as a firewall, or 'scans files'/'finds viruses' on its own as a method of identifying malware.

Example answers and how they were marked
Full marks6/6

A virus could spread through the files the volunteers download and delete the charity's donation records, and spyware could record staff keystrokes and send passwords to a hacker. The anti-malware software would scan each laptop, including downloaded files and email attachments, and compare their code with a database of known malware patterns. If a match is found, the file is quarantined so that it cannot run, and it can then be deleted, so one infected laptop is less likely to pass malware to the other 14. The database of definitions must be kept up to date, because new malware will not be recognised by an old database. The manager should also train staff not to open unexpected attachments, and keep backups, because anti-malware cannot repair files that have already been damaged.

Why: Level 3: the effects of a virus and spyware are applied to the charity's laptops and records, and signature comparison, quarantine and deletion are explained and linked to stopping the spread (AO1/AO2), with accurate limits on what the software can do.

Some marks2/6

The anti-malware software scans the laptops and finds viruses. When it finds one it deletes the file so the laptop is safe. The charity should keep the software updated.

Why: Level 1 (2 marks): basic, independent points are made — deleting the infected file and keeping the software updated — but there is no identification method (signatures, heuristics or a sandbox), no explanation of how malware could affect the charity, and little linkage or application.

No marks0/6

The anti-malware software is a firewall that stops hackers getting into the laptops from the internet, and it scans the files for viruses.

Why: Level 0: describing anti-malware as a firewall is a misconception and is not credited, and bare 'scans the files for viruses' is not accepted on its own as a method of identifying malware, so there is no rewardable content.

3Discuss6 marksTranslators Swap Remove

A company writes a photo editing program in a high-level language. The company will sell the finished program to customers. Each customer will install the program on their own computer and run it many times.

Discuss whether the company should use a compiler or an interpreter to translate the program before it is sold.

Your answer should include:

  • the output of each type of translator
  • whether the program has to be translated each time it is run
  • what the customer needs on their computer to run the program.
[6 marks]
Mark scheme

Indicative content

The output of each type of translator

  • A compiler translates the whole program in one go and produces object code.
  • The object code is saved as an executable file, which is already in machine code so the processor can run it directly.
  • An interpreter does not produce object code, so no translated file exists for the company to save and sell.
  • An interpreter translates one line at a time and executes it immediately, but that translation is not kept.

Whether the program has to be translated each time it is run

  • Compiled code is translated once, so the executable can be run as many times as the customer likes without being translated again.
  • If the source code is edited, the whole program has to be compiled again to produce a new executable.
  • An interpreted program is translated again every time it is run, so a customer who runs the program often waits for translation at every run.
  • An executable runs faster than interpreted code because it is already in machine code.

What the customer needs on their computer to run the program

  • A customer who installs the executable needs no compiler on their computer, so the program will run straight away.
  • If the company supplied the source code instead, the customer would need an interpreter installed, and it would have to be an interpreter for their type of computer.
  • A customer given only the executable does not have the source code, so cannot change the program.

Conclusion

  • A compiler is the better choice for this company, because the executable can be sold and the customer runs it without it being translated again and without being given the source code.
  • Using an interpreter would mean supplying the source code to customers and translating the program on every run.

Levels

  • Level 0 (0 marks): No rewardable content.
  • Level 1 (1–2 marks): Basic, independent points are made, showing elements of understanding of key concepts/principles of computer science. (AO1) The discussion will contain basic information with little linkage between points made or application to the context. (AO2)
  • Level 2 (3–4 marks): Demonstrates adequate understanding of key concepts/principles of computer science. (AO1) The discussion shows some linkages and lines of reasoning with some structure and application to the context. (AO2)
  • Level 3 (5–6 marks): Demonstrates comprehensive understanding of key concepts/principles of computer science to support the discussion being presented. (AO1) The discussion is well developed, with sustained lines of reasoning that are coherent and logically structured, and which clearly apply to the context. (AO2)

Level 3 responses must cover all three bullets for this company's program, including translating once rather than on every run, and reach a conclusion.

Do not accept 'a compiler fixes errors' (a compiler reports syntax errors at the end of translation, it does not fix them) or 'a compiler is easier to use' with no link to output, translation or the customer. Do not accept answers about translating to assembly language.

Example answers and how they were marked
Full marks6/6

The company should use a compiler. A compiler translates the whole program in one go and produces object code, which is saved as an executable file. This executable is already in machine code, so the customer's processor can run it directly. The program is translated only once, so a customer who runs the program many times does not wait for it to be translated again, and it runs faster than interpreted code would. An interpreter produces no object code, so the company would have nothing to sell as an executable. The customer would have to be given the source code and would need an interpreter installed on their computer, and the program would be translated again every time it was run.

Why: Level 3. Covers the output of both translators (executable from the compiler, no object code from the interpreter), the effect of translating once rather than on every run, and what the customer needs on their computer, all applied to the company selling the program, with a clear conclusion.

Some marks3/6

A compiler produces an executable file, which the company can save and sell to its customers. An interpreter does not produce an executable file, so the customer would need the source code and an interpreter installed on their computer to run the program. This means a compiler is better for the company, because customers can just run the file they are given.

Why: Level 2. Gives the output of both translators and links this to what the customer needs, with a conclusion, but never says the compiled program is translated once while an interpreted one is translated on every run, so the reasoning is not developed enough for Level 3.

No marks0/6

The company should use a compiler because it is easier to write programs with a compiler and it fixes the errors in the program before the customers get it.

Why: Level 0. No creditworthy point: 'easier to write programs' is not linked to the output, the translation each run or the customer, and 'fixes the errors' is a misconception, as the mark scheme's guidance says a compiler only reports errors at the end of translation.

Questions by topic

More ways to revise Edexcel GCSE Computer Science (1CP2)

Teachers: build a paper, print it with the mark schemes at the end, and sign your school up to set your classes activities on every topic.

Fetch Decode Explain isn't affiliated with or endorsed by Pearson Edexcel.