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 markStored Program Computers Swap Remove

Identify the bus that carries addresses in one direction only, from the CPU to main memory.

[1 mark]
  • AAddress bus
  • BControl bus
  • CData bus
  • DSystem bus
Mark scheme
  • A Address bus (1)
  • The only correct answer is A. The correct answer is address bus. Do not accept 'address' on its own.
  • B is not correct because the control bus carries control signals in both directions between the CPU and other components
  • C is not correct because the data bus carries data in both directions between the CPU and main memory
  • D is not correct because the system bus is the collection of all three buses
Example answers and how they were marked
Full marks1/1

A Address bus

Why: Correct option: the address bus carries addresses in one direction only, from the CPU to main memory (1).

No marks0/1

C Data bus

Why: The data bus carries data in both directions, so it is not the bus that carries addresses in one direction only from the CPU to main memory; no creditworthy point.

No marks0/1

B Control bus

Why: The control bus carries control signals in both directions, not addresses in one direction only; this is the common control/address bus confusion, so no mark.

2Short recall2 marksEmbedded Systems Swap Remove

A digital camera contains an embedded system.

Give two functions that the embedded system performs in the digital camera.

[2 marks]
Mark scheme

Award one mark for any of the following up to a maximum of two marks:

  • Focus the lens/autofocus (1)
  • Control the shutter (speed) (1)
  • Control the flash/decide when the flash is needed (1)
  • Measure the light level to set the exposure/the aperture (1)
  • Stabilise the lens/image stabilisation (1)
  • Zoom the lens in and out (1)
  • Detect a face/smile (1)

Do not accept 'take a photograph'/'take a picture'/'capture an image', as taking photographs is the function of the camera, which is given in the question.

Do not accept 'press the button' as this is an action of the user, not a function performed by the embedded system.

Do not accept vague answers such as 'use the camera', 'turn the camera on and off' or 'make the camera work', which do not name a function that the embedded system performs.

Example answers and how they were marked
Full marks2/2

It focuses the lens and decides when the flash should fire.

Why: Focus the lens (1) and control the flash (1).

Some marks1/2

It controls the zoom and takes a picture when the button is pressed.

Why: Zoom the lens credited (1); 'takes a picture' is not accepted because taking photographs is the function of the camera, which is given in the question, and 'press the button' is the user's action, not a function of the embedded system.

No marks0/2

It takes a picture when the button is pressed and it makes the camera work.

Why: No mark: 'takes a picture' repeats the camera's function given in the question, 'press the button' is an action of the user, and 'makes the camera work' is too vague to name a function.

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

4Discuss6 marksTranslators Swap Remove

A company writes a photo editing program in a high-level language. The company will sell the finished program to customers. Each customer will install the program on their own computer and run it many times.

Discuss whether the company should use a compiler or an interpreter to translate the program before it is sold.

Your answer should include:

  • the output of each type of translator
  • whether the program has to be translated each time it is run
  • what the customer needs on their computer to run the program.
[6 marks]
Mark scheme

Indicative content

The output of each type of translator

  • A compiler translates the whole program in one go and produces object code.
  • The object code is saved as an executable file, which is already in machine code so the processor can run it directly.
  • An interpreter does not produce object code, so no translated file exists for the company to save and sell.
  • An interpreter translates one line at a time and executes it immediately, but that translation is not kept.

Whether the program has to be translated each time it is run

  • Compiled code is translated once, so the executable can be run as many times as the customer likes without being translated again.
  • If the source code is edited, the whole program has to be compiled again to produce a new executable.
  • An interpreted program is translated again every time it is run, so a customer who runs the program often waits for translation at every run.
  • An executable runs faster than interpreted code because it is already in machine code.

What the customer needs on their computer to run the program

  • A customer who installs the executable needs no compiler on their computer, so the program will run straight away.
  • If the company supplied the source code instead, the customer would need an interpreter installed, and it would have to be an interpreter for their type of computer.
  • A customer given only the executable does not have the source code, so cannot change the program.

Conclusion

  • A compiler is the better choice for this company, because the executable can be sold and the customer runs it without it being translated again and without being given the source code.
  • Using an interpreter would mean supplying the source code to customers and translating the program on every run.

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 cover all three bullets for this company's program, including translating once rather than on every run, and reach a conclusion.

Do not accept 'a compiler fixes errors' (a compiler reports syntax errors at the end of translation, it does not fix them) or 'a compiler is easier to use' with no link to output, translation or the customer. Do not accept answers about translating to assembly language.

Example answers and how they were marked
Full marks6/6

The company should use a compiler. A compiler translates the whole program in one go and produces object code, which is saved as an executable file. This executable is already in machine code, so the customer's processor can run it directly. The program is translated only once, so a customer who runs the program many times does not wait for it to be translated again, and it runs faster than interpreted code would. An interpreter produces no object code, so the company would have nothing to sell as an executable. The customer would have to be given the source code and would need an interpreter installed on their computer, and the program would be translated again every time it was run.

Why: Level 3. Covers the output of both translators (executable from the compiler, no object code from the interpreter), the effect of translating once rather than on every run, and what the customer needs on their computer, all applied to the company selling the program, with a clear conclusion.

Some marks3/6

A compiler produces an executable file, which the company can save and sell to its customers. An interpreter does not produce an executable file, so the customer would need the source code and an interpreter installed on their computer to run the program. This means a compiler is better for the company, because customers can just run the file they are given.

Why: Level 2. Gives the output of both translators and links this to what the customer needs, with a conclusion, but never says the compiled program is translated once while an interpreted one is translated on every run, so the reasoning is not developed enough for Level 3.

No marks0/6

The company should use a compiler because it is easier to write programs with a compiler and it fixes the errors in the program before the customers get it.

Why: Level 0. No creditworthy point: 'easier to write programs' is not linked to the output, the translation each run or the customer, and 'fixes the errors' is a misconception, as the mark scheme's guidance says a compiler only reports errors at the end of translation.

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.