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

A high-level program must be translated into machine code before it can be run.

Describe how a compiler and an interpreter differ in when the translated code is executed.

[2 marks]
Mark scheme

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

  • The interpreter executes each line as soon as it has been translated (1) so translation and execution happen together/at the same time (1)
  • The compiler translates the whole program first (1) and the machine code is run later/separately (1)
  • The interpreter translates the code and runs it while the program is running (1) whereas the compiler does not run the code it produces (1)
  • The compiler produces translated code that is executed only after all the translation has finished (1) but the interpreter executes each line immediately (1)

Allow 'translates one line at a time' where it is linked to executing each line immediately.

Do not accept answers that only state that a compiler is faster/an interpreter is slower, without reference to when execution happens.

Do not accept answers that only give object code, error reporting or portability, without reference to when execution happens.

Do not accept the compiler executing the program as it translates it.

Example answers and how they were marked
Full marks2/2

The compiler translates the code first and the program is executed afterwards, but the interpreter executes each line as soon as it has been translated.

Why: Compiler translates the whole program first and it is executed afterwards (1) and interpreter executes each line as soon as it is translated (1).

Some marks1/2

The interpreter executes each line immediately after translating it.

Why: Correct interpreter timing (1); no comparison with when the compiler's translated code is executed.

No marks0/2

The compiler executes the program line by line as it translates it.

Why: Reverses the two translators; a compiler does not execute the program it translates, so no mark.

2Explain2 marksLow and High Level Languages Swap Remove

High-level languages are designed to be easier to learn than low-level languages.

Explain one reason why a high-level language is easier to learn than a low-level language.

[2 marks]
Mark scheme

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

  • Statements are written in English-like words/use maths symbols (1) so the programmer can understand more easily what each one does (1)
  • The language uses meaningful names for variables/structured constructs such as loops (1) so the code is easier to read/follow (1)
  • One statement translates into several machine code instructions (1) so there are fewer instructions to learn/understand for the same task (1)

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

Do not accept 'it is easier' / 'it is simpler' on its own, without saying what is easier/simpler.

Do not accept 'the computer understands it directly' / 'it does not need translating'.

Do not award answers about the program running faster or using less memory, as these are not about ease of learning.

Example answers and how they were marked
Full marks2/2

Statements are written in English-like words so the programmer can understand more easily what each line does.

Why: Linked point (1) of English-like statements and reason (1) that these are easier to understand.

Some marks1/2

It uses meaningful names for variables so it is easier.

Why: Point (1) that meaningful names for variables are used, but 'so it is easier' is not accepted as the linked reason.

No marks0/2

Because the computer can understand high-level code without translation.

Why: Misconception that high-level code is understood directly by the computer; no creditworthy characteristic of the language is given.

3Explain2 marksLow and High Level Languages Swap Remove

Device drivers are programs that allow the operating system to communicate with hardware.

Explain one reason why a device driver is often written in a low-level language.

[2 marks]
Mark scheme

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

  • The programmer can control/manipulate the hardware directly (1) because low-level instructions can access registers/memory addresses/hardware features (1)
  • The code can be made to work efficiently with a specific device (1) because low-level languages are processor/chipset specific, so the instructions match that hardware (1)
  • The code produced is fast to execute (1) because it is optimised for the specific processor/uses few instructions (1)
  • The code produced is small (1) so it fits in the limited memory/ROM available in the device (1)

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

Fast execution and small code size are typical advantages of low-level languages; award them only where the linked reason relates to the device.

Do not accept 'it is easier to write/learn/understand' or 'it is faster to write' as a point or as the expansion, because low-level languages are not easier for these.

Do not accept 'it is close to the hardware' or 'it works with hardware' without expansion of what that allows the program to do.

Do not accept 'because it is low-level' as the expansion; the answer must say what the language/hardware allows.

Example answers and how they were marked
Full marks2/2

It can control the hardware directly because the instructions can read and write to the device's registers and memory addresses.

Why: Linked point (1) of direct hardware control and reason (1) that low-level instructions access registers and memory addresses.

Some marks1/2

It runs quickly because it is a low-level language.

Why: Point (1) of fast execution, but 'because it is a low-level language' is not accepted as the linked reason.

No marks0/2

Because it is easier to write programs for a particular device.

Why: Misconception that low-level languages are easier to write; no creditworthy point or linked reason about hardware control or efficiency.

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.