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 · 7 marks

Pick again
Print
1Multiple choice1 markTranslators Swap Remove

Identify the type of translator that translates the whole program into machine code before it is run.

[1 mark]
  • AAssembler
  • BCompiler
  • CInterpreter
  • DLinker
Mark scheme
  • B Compiler (1)
  • The only correct answer is B. The correct answer is compiler.
  • A is not correct because an assembler translates assembly language code into machine code, not a high-level program
  • C is not correct because an interpreter translates and executes the code line by line, without producing a complete machine code program first
  • D is not correct because a linker combines object code files into a single executable, it does not translate source code
Example answers and how they were marked
Full marks1/1

B Compiler

Why: Selected the compiler, the translator that translates the whole program into machine code before it is run (1).

No marks0/1

C Interpreter

Why: Near miss: an interpreter translates and executes the code line by line, so it does not translate the whole program into machine code before it is run.

No marks0/1

A Assembler

Why: Confuses the translators: an assembler translates assembly language code into machine code, it does not translate a high-level program as a whole.

2Short recall2 marksLow and High Level Languages Swap Remove

Programs written in a high-level language are often machine independent.

Define the term machine independence.

[2 marks]
Mark scheme

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

  • The (same) program/source code can run on different types/makes of computer/processor (1)
  • With few/no changes (to the program code) (1)
  • The same source code can be translated for each type of processor (1)
  • A different compiler/interpreter is used for each type of processor (1)
  • The program does not depend on one specific type of processor/hardware (1)
  • Only one version of the program needs to be written/kept (1)
  • The program is portable between different computers (1)

Allow 'different computers' as meaning different types of computer/processor.

Do not accept a program that will only run on one type of computer / the computer it was written on.

Do not accept written in machine code/binary, is translated into machine code, compiled/interpreted, is a low-level language.

Example answers and how they were marked
Full marks2/2

The same program can run on different types of computer without being changed.

Why: Two creditworthy parts: runs on different types/makes of computer/processor (1); with few/no changes (1).

Some marks1/2

A program can run on different computers.

Why: Creditworthy point: can run on different types/makes of computer/processor (1), with 'different computers' allowed by the guidance. No second part about changes or translation.

No marks0/2

A program is written in machine code so the computer can understand it.

Why: Misconception: machine code is not machine independence; the mark scheme does not accept this, and no other creditworthy point is given.

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

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.

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.