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

5 questions · 14 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 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 so the program is easier to read and understand.

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

4Explain2 marksLow and High Level Languages Swap Remove

A program written in a high-level language can be run on computers that have different processors.

Explain one reason why this is possible.

[2 marks]
Mark scheme

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

  • The same source code can be used on different processors (1) because a compiler/interpreter for each processor translates it into that processor's machine code/instructions (1)
  • The program is machine/processor independent (1) because the code is translated into the machine code/instructions of each processor it is run on (1)
  • A different compiler/interpreter is used for each type of processor (1) so the same source code can be translated into each processor's machine code/instructions (1)
  • The program can be moved/copied to a computer with a different processor (1) because a compiler/interpreter that produces code for that processor exists (1)

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

Do not accept 'it is portable' without a linked reason about translation for different processors.

Do not accept 'it is easier to use/read/write' on its own without a linked reason about translation/processors.

Do not accept 'it is not written in binary'/'it is not machine code'/'it is not written in assembly language' as the reason without saying that the code is translated into each processor's machine code/instructions.

Do not accept the misconception that the program runs directly on any processor without being translated.

Example answers and how they were marked
Full marks2/2

The same source code can be used on different processors because a compiler for each type of processor translates it into that processor's machine code.

Why: Linked point (1) that the same source code is used and reason (1) that a compiler translates it into each processor's machine code.

Some marks1/2

It is machine independent because it is not written in binary.

Why: Point (1) that the program is machine independent, but the reason given does not say that the code is translated for each processor's machine code/instructions.

No marks0/2

Because it is easier to use than machine code.

Why: No point about translation or different processors; 'easier to use' is not accepted without a linked reason about translation/processors.

5Discuss6 marksTranslators Swap Remove

A student is writing a program in a high-level language. The student runs the program after every small change to check that it works.

Discuss whether the student should use an interpreter or a compiler while writing and testing the program.

Your answer should include:

  • how each translator deals with a syntax error
  • how much of the program is translated at a time
  • how this affects the student's testing.
[6 marks]
Mark scheme

Indicative content

How each translator deals with a syntax error

  • An interpreter stops as soon as it finds a syntax error and displays an error message.
  • With an interpreter, the lines before the error have already been executed, so the student can see how far the program got before it stopped.
  • A compiler reports errors at the end of translation, so the student gets a list of all the syntax errors in the program in one go.

How much of the program is translated at a time

  • An interpreter translates one line at a time and executes each line immediately.
  • A compiler translates the whole program in one go before any of it is run.
  • A compiler produces object code, so after every change the whole program must be compiled again before the student can run it.
  • An interpreter produces no object code, so the student does not have to wait for the whole program to be translated before it runs.

How this affects the student's testing

  • An interpreter suits this student because the program can be run straight away after each small change.
  • The interpreter stops at the first error found, so the student fixes that error and runs the program again, but may only find the next error on the next run.
  • Reporting every error at the end of compilation means the student can fix several errors at once, but cannot run the program until the whole program compiles.
  • The student should use an interpreter while testing, and compile the finished program once it works.

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)

Level 3 responses must relate the way each translator works to the student's testing, not just describe the two translators.

Do not accept answers about run-time or logic errors where no comparison of the translators is made.

Example answers and how they were marked
Full marks6/6

The student should use an interpreter while testing. An interpreter translates one line at a time and executes each line straight away, so as soon as the student has made a small change the program can be run without waiting for the whole program to be translated. If there is a syntax error, the interpreter stops at that line and displays an error message, and the lines before it have already been executed, so the student knows exactly where the problem is. A compiler translates the whole program in one go and only reports the errors at the end, so the student would get a list of all the syntax errors, but could not run any of the program until the whole program compiled successfully.

Why: Explains how each translator deals with a syntax error, how much is translated at a time (one line executed immediately against the whole program at once) and links both to the student's testing, with a conclusion. Level 3.

Some marks4/6

An interpreter translates one line at a time and stops when it finds an error, so the student can see where the error is. A compiler translates the whole program and reports all the errors at the end. The interpreter is better for testing because the student can run the program straight away after a change.

Why: Adequate: correct points about error reporting and one line at a time, with a recommendation, but the effect on testing is only asserted rather than reasoned through, so the linkage is not sustained. Level 2.

Some marks1/6

The student should use a compiler because it translates the program one line at a time and stops at the first error, which makes testing quicker.

Why: The roles of the two translators are reversed, so the answer only makes a basic point about testing more quickly. Level 1.

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.