Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 659 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

4 questions · 8 marks

Pick again
Print
1Short recall2 marksTranslators Swap Remove

An interpreter is a type of translator.

Define the term interpreter.

[2 marks]
Mark scheme

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

  • Translates/converts (high-level/source) code one line/statement at a time (1)
  • Translates/converts the code and executes/runs each line as it goes (1)
  • Executes/runs each line/statement immediately after it is translated (1)
  • Reports/stops with an error message as soon as a syntax error is found (1)

Allow 'runs' for executes, 'converts' for translates and 'instruction' for line/statement

Do not accept translates the whole program before it is run

Do not accept produces/creates object code, an executable file or machine code that is saved

Example answers and how they were marked
Full marks2/2

An interpreter is a program that translates high-level code line by line. Each line is run as soon as it has been translated, so any errors are shown straight away.

Why: Line-by-line translation (1) and each line executed immediately (1); the point about errors would be a third creditworthy point but the maximum is two.

Some marks1/2

An interpreter translates code one line at a time.

Why: Line-by-line translation (1); no point for immediate execution.

No marks0/2

An interpreter translates the whole program before it is run.

Why: Near-miss describing a compiler; the scheme's 'Do not accept' line rules out whole-program translation.

2Describe2 marksTranslators Swap Remove

Source code can contain syntax errors.

Describe how a compiler and an interpreter differ in the way they deal with syntax errors.

[2 marks]
Mark scheme

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

  • The compiler reports all syntax errors after translation has finished (1) whereas the interpreter stops at the first error it finds (1)
  • The interpreter reports a syntax error as soon as it finds one (1) and does not translate/execute any more of the program (1)
  • The compiler continues translating after an error (1) and reports the errors at the end (1)
  • The interpreter stops translating when it reaches an error (1) but the compiler finishes translating before reporting errors (1)

Do not accept answers about fixing/correcting errors or about object code.

Do not award 'the compiler finds more errors' without saying errors are reported at the end.

Example answers and how they were marked
Full marks2/2

A compiler reports all the syntax errors at the end of translation, whereas an interpreter stops and reports the error as soon as it finds one.

Why: Compiler reports errors at the end (1) and interpreter stops/reports at the first error (1).

Some marks1/2

An interpreter stops translating when it finds a syntax error.

Why: Interpreter stops at the first error (1); no comparison with when the compiler reports errors.

No marks0/2

A compiler reports a syntax error immediately, before translating the rest of the program.

Why: Reverses the compiler's behaviour; it finishes translating before reporting errors.

3Explain2 marksLow and High Level Languages Swap Remove

A programmer writes the same program in a low-level language and in a high-level language.

Explain one reason why the program written in the low-level language may run faster.

[2 marks]
Mark scheme

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

  • The programmer can choose the most efficient instructions/registers to use (1) so the program completes its task in fewer steps (1)
  • The programmer can optimise the code for the processor (1) because low-level instructions give direct control of registers/memory (1)
  • Each low-level instruction maps to one machine code instruction (1) so fewer instructions are executed than for the equivalent high-level code (1)
  • The translated code is smaller (1) so fewer instructions are fetched from memory and executed (1)

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

Do not accept 'it is low-level' / 'it is closer to machine code' / 'low-level code is faster' on its own without a reason why it makes the program run faster.

Do not accept 'high-level code has to be translated' / 'high-level code is interpreted' on its own without saying why that makes the program slower.

Do not accept 'the code is smaller' on its own without saying that this means fewer instructions are fetched/executed.

Do not accept 'it is easier to write' or 'quicker to type' as a reason for faster execution.

Example answers and how they were marked
Full marks2/2

The programmer can choose the most efficient instructions and registers to use so the program completes its task in fewer steps.

Why: Linked point (1) of choosing efficient instructions/registers and reason (1) that the task is completed in fewer steps, so it runs faster.

Some marks1/2

Each low-level instruction maps to one machine code instruction so the program is shorter to type.

Why: Point (1) that one low-level instruction maps to one machine code instruction, but being shorter to type does not explain why the program runs faster, so no second mark.

No marks0/2

Because it is closer to machine code.

Why: 'Closer to machine code' alone gives no reason why that makes the program run faster, and the mark scheme does not accept it on its own.

4Explain2 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

5.3 Cybersecurity

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.