Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 687 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 · 5 marks

Pick again
Print
1Multiple choice1 markTranslators Swap Remove

A compiler translates source code into machine code.

Identify why a compiled program can be run on a computer that does not have the compiler installed.

[1 mark]
  • AThe code is translated again each time it is run
  • BThe code is translated one line at a time
  • CThe object code is saved as a separate file
  • DThe source code is saved with the program
Mark scheme
  • C The object code is saved as a separate file (1)
  • The only correct answer is C. The correct answer is the object code is saved as a separate file.
  • A is not correct because a compiled program is not translated again when it is run
  • B is not correct because translating one line at a time is how an interpreter works
  • D is not correct because the source code is not needed to run a compiled program
Example answers and how they were marked
Full marks1/1

C The object code is saved as a separate file

Why: Selected the saved object code, which can be run without the compiler being present (1).

No marks0/1

D The source code is saved with the program

Why: Near miss: it is the object code, not the source code, that is saved and run on another computer.

No marks0/1

B The code is translated one line at a time

Why: Confuses a compiler with an interpreter: a compiled program is translated as a whole and is not translated again when it is run.

2Short 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.

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.