Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 604 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 · 11 marks

Pick again
Print
1Multiple choice1 markImages Swap Remove

A bitmap image has a colour depth of 5 bits.

Identify the number of different colours that can be represented.

[1 mark]
  • A8
  • B16
  • C32
  • D64
Mark scheme
  • C 32 (1)
  • The only correct answer is C. The correct answer is 32.
  • A is not correct because 8 colours can be represented using 3 bits
  • B is not correct because 16 colours can be represented using 4 bits
  • D is not correct because 64 colours can be represented using 6 bits
Example answers and how they were marked
Full marks1/1

C 32

Why: Correct option; 2^5 = 32 different colours (1).

No marks0/1

B 16

Why: A near miss: 16 colours would need 4 bits, not 5, so the mark scheme gives it no mark.

No marks0/1

D 64

Why: 64 colours would need 6 bits, not 5; no mark.

2Describe2 marksLow and High Level Languages Swap Remove

A programmer has written a program in assembly language.

Describe why it is necessary to translate the program into machine code before it can be run.

[2 marks]
Mark scheme

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

  • The processor/CPU can only execute machine code/binary instructions (1) so the assembly instructions must be converted into machine code before the program can run (1)
  • Each assembly instruction/mnemonic matches/corresponds to one machine code instruction (1) so each line must be replaced with the machine code the processor executes (1)
  • The program is written using mnemonics (1) that must be translated into machine code for the processor to carry out the instructions (1)
  • The hardware/processor does not understand assembly language directly (1) so it must be translated into machine code that the processor can execute (1)

Do not accept 'assembly language is a low-level language'.

Do not accept 'it is hard to understand' or 'it is not English'.

Do not accept benefits, such as 'machine code runs faster' or 'the program will run more quickly'.

Do not accept 'an assembler/a translator converts it' on its own, with no reference to the processor only being able to execute machine code/binary.

Do not accept responses about high-level languages or about compilers/interpreters.

Example answers and how they were marked
Full marks2/2

The processor can only execute machine code, so the assembly instructions must be converted into machine code before the program can run.

Why: States what the processor can execute (1) and links it to converting the program's instructions into machine code (1).

Some marks1/2

Each assembly instruction matches one machine code instruction.

Why: Correct point about the one-to-one match (1) but no development saying that this is because the processor only executes machine code.

No marks0/2

Because an assembler translates assembly language into machine code.

Why: Names the translator but gives no reason tied to the processor only being able to execute machine code, so no mark; this is in the 'Do not accept' guidance.

3Calculate2 marksBinary Shifts Swap Remove

Computers manipulate binary patterns.

Complete the table with the result of applying the shift to the binary pattern.

[2 marks]
Binary patternShift8-bit binary result
1000 0001Logical shift right by 1
Mark scheme

Award one mark for each correct nibble in the correct order:

  • 0100 (1)
  • 0000 (1)

0 marks if the response is not 8-bit binary.

Example answers and how they were marked
Full marks2/2

0100 0000

Why: Every bit moves 1 place right, with 0s in from the left: both nibbles are correct (2).

Some marks1/2

0100 0001

Why: A slip in the last bit. The first nibble is correct (1); the second is not.

No marks0/2

0000 0010

Why: Shifts the bits the wrong way. Neither nibble is correct.

4Discuss6 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

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.