Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 631 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 · 6 marks

Pick again
Print
1Short recall2 marksLow and High Level Languages Swap Remove

Device drivers allow hardware devices to work with a computer system.

Give two advantages of using a low-level programming language to write device drivers.

[2 marks]
Mark scheme

Award one mark for any of the following up to a maximum of two marks:

  • It can control/manipulate the hardware (components/registers/memory locations) directly (1)
  • Each instruction maps to a single machine-code instruction, so the behaviour/timing can be controlled precisely (1)
  • The code can run very quickly / has a fast execution time (1)
  • The code uses less memory/RAM (1)
  • The code can be optimised for a particular processor/chipset (1)

Only award one mark where both 'controls the hardware' and 'accesses registers/memory locations' are given, as these are the same point.

Do not accept 'it is closer to the hardware' without saying that it controls or accesses the hardware directly.

Do not accept easier/faster to write/program/learn/understand/debug (these are advantages of high-level languages).

Do not accept faster/quicker without qualification.

Do not accept portable/machine independent.

Do not accept does not need to be translated/compiled (assembly language must be assembled).

Do not accept it is a low-level language / a repeat of the question.

Example answers and how they were marked
Full marks2/2

It can control the hardware directly and the code runs very quickly.

Why: Two creditworthy advantages: controls the hardware directly (1); fast execution (1).

Some marks1/2

It uses less memory than a high-level language.

Why: Creditworthy point: uses less memory/RAM (1). Only one advantage given.

No marks0/2

It is easier to understand and debug than a high-level language.

Why: These are advantages of high-level languages, not low-level ones; the mark scheme does not accept easier to understand or debug.

2Describe2 marksLow and High Level Languages Swap Remove

A programmer writes a program in a high-level language.

Describe why the program can be run on computers with different processors.

[2 marks]
Mark scheme

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

  • The same source code can be run on different types/makes of processor (1) with few or no changes being made to the program (1)
  • A compiler/interpreter is available for each type of processor (1) to translate the source code into the machine code for that processor (1)
  • The statements are not tied to one processor's instruction set (1) so the program is portable between different computers (1)

Do not accept 'it is translated by a compiler' on its own.

Do not accept 'the program does not need to be translated' or 'it is easier to use'.

Example answers and how they were marked
Full marks2/2

A compiler exists for each type of processor to translate the source code into the machine code for that processor.

Why: Names the translator for each processor (1) and links it to producing that processor's machine code (1).

Some marks1/2

The same program can be run on different computers.

Why: States that the same code runs on different machines (1) but does not develop it by saying that few or no changes are needed.

No marks0/2

Because it is translated by a compiler.

Why: A compiler on its own does not explain machine independence; the answer does not say that a translator exists for each type of processor.

3Explain2 marksTranslators Swap Remove

An interpreter translates a program one line at a time.

Explain why an interpreted program stops when it reaches a line that contains a syntax error.

[2 marks]
Mark scheme

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

  • The interpreter translates and executes each line in turn (1) so it cannot continue past a line it cannot translate (1)
  • The interpreter finds the error when it reaches that line (1) so it stops and displays an error message before later lines are executed (1)
  • Each line is translated just before it is executed (1) so a syntax error in that line prevents that translation/execution from happening (1)
  • The interpreter does not translate the whole program first (1) so it only discovers the error when that line is reached during execution (1)

For both marks, the expansion must follow/associate with the statement.

Do not accept 'the program crashes' without saying that the interpreter cannot translate/execute the line.

Do not accept answers about how a compiler reports errors.

Example answers and how they were marked
Full marks2/2

The interpreter translates each line just before it executes it, so when it reaches the line with the syntax error it cannot translate that line and stops.

Why: Line-by-line translation (1) linked to being unable to translate the faulty line, so stopping (1).

Some marks1/2

The interpreter translates one line at a time, so it stops at the error.

Why: Line-by-line translation (1); 'stops at the error' repeats the outcome and does not explain why it cannot continue.

No marks0/2

It stops because the compiler reports all errors at the end.

Why: Describes a compiler, not an interpreter; no credit.

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.