Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 693 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
1Describe2 marksTranslators Swap Remove

High-level code can be translated by a compiler or by an interpreter.

Describe how a compiler translates high-level code differently from an interpreter.

[2 marks]
Mark scheme

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

  • The compiler translates the whole program/complete source code in one go (1) whereas the interpreter translates one line/statement at a time (1)
  • The compiler translates all of the source code before any of it is run/executed (1) but the interpreter translates each line/statement as it reads it (1)
  • The interpreter translates one line/statement at a time (1) and the compiler translates the whole program/source code together (1)

Accept the compiler point and the interpreter point in either order.

Do not accept responses about object code/executable files, when the translated code is executed, how errors are reported, or speed/memory use.

Do not accept 'the interpreter executes/runs each line' on its own, without saying that it translates one line/statement at a time.

Example answers and how they were marked
Full marks2/2

A compiler translates the whole program in one go, while an interpreter translates one line at a time.

Why: Whole program translated in one go (1) and interpreter translates one line at a time (1).

Some marks1/2

A compiler translates the whole program in one go.

Why: Whole program translated in one go (1); no linked point about the interpreter translating a line at a time.

No marks0/2

A compiler produces an executable file, but an interpreter does not.

Why: Describes the output, not the amount translated at a time; object code/executable files are not accepted.

2Explain2 marksTranslators Swap Remove

A program can be translated by a compiler or by an interpreter.

Explain why a compiled program usually runs faster than an interpreted program.

[2 marks]
Mark scheme

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

  • The compiler translates the whole program into machine code before it is run (1) so no translation is needed while the program is executing (1)
  • The machine code/object code is already produced before execution (1) so the CPU can carry out the instructions directly without translating them (1)
  • The compiled program does not need an interpreter at run time (1) so no time is spent translating each line before it is executed (1)

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

A statement that translation happens before execution, with no linked reason for faster running, earns 1 mark only.

Do not accept 'faster to run' or 'quicker' on its own without a reason linked to translation before/during execution.

Do not accept 'compiled code is optimised' or 'compilation takes less time' without linking this to translation before execution/at run time.

Do not accept answers about the compiler being installed or available.

The question asks why a compiled program usually runs faster, so answers must refer to when translation happens, not just general performance claims.

Example answers and how they were marked
Full marks2/2

The compiler translates the whole program into machine code before it is run, so the CPU does not have to translate each line during execution.

Why: Translation before execution (1) linked to no translation needed during the run, so faster (1).

Some marks1/2

The compiler translates the whole program first.

Why: Pre-translation point (1) but no link to faster running.

No marks0/2

A compiled program runs faster because the compiler is installed on the computer.

Why: Compiler being installed does not make execution faster; no credit.

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.