Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

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

5 questions · 13 marks

Pick again
Print
1Short 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.

2Describe2 marksLow and High Level Languages Swap Remove

A program can be written in a high-level language such as Python.

Describe one characteristic of a high-level programming language.

[2 marks]
Mark scheme

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

  • Statements are written using words/phrases that look like English or maths (1) so the code is easier to read/understand/write (1)
  • One statement is translated into several machine code instructions (1) so programs are shorter to write than in a low-level language (1)
  • High-level languages provide built-in data structures such as arrays/lists/records (1) so a collection of data items can be stored and accessed under one name (1)

Do not accept responses that only give a benefit or drawback, such as 'it is easier to learn', with no characteristic.

Do not accept 'it is easier than a low-level language' without saying what the characteristic is.

Example answers and how they were marked
Full marks2/2

Statements are written using words that look like English or maths (1) so the program is easier to read and understand (1).

Why: Characteristic of the statements (1) with a linked development (1).

Some marks1/2

It has built-in data structures such as arrays.

Why: A correct characteristic (1) but no development of what it allows the programmer to do.

No marks0/2

It is easier to learn than a low-level language.

Why: Gives only a benefit compared with a low-level language; no characteristic of the language itself, so no mark.

3Explain2 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 (1) so the programmer can understand more easily what each line does (1).

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 (1) 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.

4Explain2 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 (1) so the program completes its task in fewer steps (1).

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 (1) 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.

5Discuss6 marksLow and High Level Languages Swap Remove

A software company is writing a new program that will be sold to users who have different types of computer. The program does not need to control the hardware of the computer directly. The company must decide whether to write the program in a high-level language or a low-level language.

Discuss whether the company should use a high-level language or a low-level language to write this program.

Your answer should consider:

  • machine independence
  • processor specificity
  • how the code is translated for each type of computer.
[6 marks]
Mark scheme

Indicative content

Machine independence

  • A high-level language is machine independent, so the same source code can be run on different types of computer with few or no changes.
  • The company can write the program once and sell it to users with different computers, without rewriting the code for each type of computer.
  • Only one version of the program needs to be written and maintained, so development takes the company less time.

Processor specificity

  • A low-level language is processor-specific, so a program written for one processor will not run on a different processor without being rewritten.
  • Assembly language instructions depend on the instruction set of the particular processor, so the company would need a separate version of the program for each type of computer.
  • Writing a separate low-level version for every type of computer would take the company much longer than writing one high-level program.
  • Low-level code gives direct control of the hardware of one processor, so it is better suited to device drivers than to a program that must run on many different computers.

Translation

  • High-level source code is translated for each type of computer by a compiler or an interpreter, so one version of the source code is enough for all the users.
  • Assembly language is translated into machine code by an assembler, and the assembler produces machine code for one specific processor only.
  • Machine code is already in a form that one particular processor can execute directly, but the same machine code will not run on a different processor.
  • Each high-level statement translates into several machine code instructions, so the programmer does not need to know the instruction set of the processor.

Levels

  • Level 0 (0 marks): No rewardable content.
  • Level 1 (1–2 marks): Basic, independent points are made, showing elements of understanding of key concepts/principles of computer science. (AO1) The discussion will contain basic information with little linkage between points made or application to the context. (AO2)
  • Level 2 (3–4 marks): Demonstrates adequate understanding of key concepts/principles of computer science. (AO1) The discussion shows some linkages and lines of reasoning with some structure and application to the context. (AO2)
  • Level 3 (5–6 marks): Demonstrates comprehensive understanding of key concepts/principles of computer science to support the discussion being presented. (AO1) The discussion is well developed, with sustained lines of reasoning that are coherent and logically structured, and which clearly apply to the context. (AO2)

Additional guidance

  • Level 3 responses must cover both high-level machine independence and low-level processor specificity, with the effect on the company's decision.
  • Do not award low-level language, assembly language or machine code as portable, or 'high-level languages are written in English/like English' as a reason for machine independence.
Example answers and how they were marked
Full marks6/6

A high-level language is machine independent, so the company can write the program once and it will run on different types of computer with few or no changes. A different compiler is used for each type of processor to translate that same source code into the machine code for that computer, so the company can sell one program to all of its users. A low-level language is processor-specific, so a program written in assembly for one processor will not run on a different one. The assembler produces machine code for one particular instruction set, so the company would need to write a separate version for each type of computer, which would take much longer. As the program does not need to control the hardware directly, the company should use a high-level language.

Why: Develops high-level machine independence with the compiler translating for each processor, and low-level processor specificity with the assembler producing machine code for one instruction set, both applied to the company's decision, in a coherent and sustained argument: Level 3, 6 marks.

Some marks3/6

A high-level language is machine independent, so the company can write the program once. A different compiler is used for each type of computer to translate the code, so users with different computers can all run the same program. A low-level language is processor-specific, so it would not be as suitable for the company.

Why: Machine independence is linked to the compiler and applied to the users, but processor specificity is only asserted and no translation of low-level code is given, so the reasoning is not sustained: Level 2, 3 marks.

Some marks1/6

High-level languages are machine independent because they are written in English, so the company can sell the program to anyone. Low-level languages are machine code, so they can be translated to run on any type of computer.

Why: One basic point that high-level languages are machine independent, applied by selling to anyone (1). 'Written in English' is not a reason for machine independence and low-level code is not portable, so neither is credited: Level 1, 1 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.