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

4 questions · 6 marks

Pick again
Print
1Short recall1 markTranslators Swap Remove

A compiler translates programs written in a high-level language.

State how much of a program a compiler translates before the program is run.

[1 mark]
Mark scheme

Award one mark for:

  • The whole program (before it is run) (1)

Allow all of the code/the entire program/the whole program in one go

Do not accept one line/statement at a time or each line as it is executed

Do not accept translating only the lines that contain errors

Example answers and how they were marked
Full marks1/1

The whole program, before it is run.

Why: Whole program translated before it is run (1).

No marks0/1

It translates the program one line at a time.

Why: Describes an interpreter; the scheme does not accept line-by-line translation.

No marks0/1

It translates only the lines that contain errors.

Why: Not a compiler behaviour; the scheme does not accept translating only error lines.

2Short recall1 markLow and High Level Languages Swap Remove

A high-level language uses statements that look like English or maths.

State what a single statement in a high-level language is usually translated into.

[1 mark]
Mark scheme

Award one mark for:

  • Several/multiple machine code instructions (1)

The answer must refer to instructions.

Do not accept machine code on its own.

Do not accept binary on its own.

Do not accept 'one or more machine code instructions' as it does not show that one statement becomes several instructions.

Do not accept assembly code/compiled code/low-level code on their own.

Do not accept 'a line of code'/'a statement' as this repeats the question.

Example answers and how they were marked
Full marks1/1

Several machine code instructions

Why: Matches the creditworthy point that one high-level statement translates into several machine code instructions (1).

No marks0/1

Machine code

Why: Near-miss: gives the type of code but not that one statement becomes several instructions; mark scheme does not accept machine code on its own.

No marks0/1

Binary

Why: Misconception: high-level statements are translated into machine code instructions, not just binary; not accepted.

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

4Describe2 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.

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.