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 · 12 marks

Pick again
Print
1Multiple choice1 markCharacter Sets Swap Remove

Characters are encoded using 7-bit ASCII.

Identify the number of different characters that can be represented using 7-bit ASCII.

[1 mark]
  • A64
  • B127
  • C128
  • D256
Mark scheme
  • C 128 (1)
  • The only correct answer is C. The correct answer is 128.
  • A is not correct because 6 bits give only 64 different combinations
  • B is not correct because 127 is the largest 7-bit value, not the number of characters that 7 bits can represent
  • D is not correct because 256 characters need 8 bits, as used by 8-bit extended ASCII
Example answers and how they were marked
Full marks1/1

C 128

Why: Selects the only correct option (1): 7 bits give 2 to the power of 7, which is 128 different characters.

No marks0/1

D 256

Why: Near miss scoring 0: 256 is the number of characters that 8 bits give in extended ASCII, not 7-bit ASCII.

No marks0/1

B 127

Why: Misconception scoring 0, the off-by-one error the examiners' report describes: 127 is the largest 7-bit value, but 7 bits give 128 different characters.

2Short recall3 marksFetch Decode Execute Cycle Swap Remove

The fetch-decode-execute cycle is used by the CPU.

State three things that happen during the fetch stage.

[3 marks]
Mark scheme

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

  • The address (of the next instruction) is sent from the CPU to main memory / placed on the address bus (1)
  • The (next) instruction is fetched/read from main memory (RAM) (1)
  • The instruction is brought/copied into the CPU / received into the MDR (1)
  • The program counter (PC) is incremented/updated to hold the address of the next instruction (1)

Allow 'the PC/MAR is placed on the address bus' for the address being sent to main memory.

Allow 'the MDR receives the instruction' for the instruction being brought into the CPU.

Do not award a second mark for the instruction being fetched from main memory and the instruction being brought into the CPU; these are the same point.

Do not award 'the instruction is transferred along the data bus' on its own; this is the same point as the instruction being fetched from main memory.

Do not accept answers about decoding the instruction, e.g. 'the instruction is fetched from RAM and decoded', as decoding happens in the decode stage.

Do not accept answers about the execute stage, e.g. 'the ALU carries out the calculation' or 'the result of a calculation is stored in a register', as these happen in the execute stage.

Example answers and how they were marked
Full marks3/3

The address of the next instruction is sent to main memory, the instruction is fetched from RAM, and the program counter is incremented.

Why: Address sent to main memory (1), instruction fetched from RAM (1) and program counter incremented (1).

Some marks1/3

The instruction is fetched from main memory and then decoded.

Why: Fetching the instruction from main memory (1); decoding happens in the decode stage, so it is not creditworthy in the fetch stage.

No marks0/3

The ALU carries out the calculation and the result is stored in a register.

Why: The ALU carrying out a calculation and storing a result happen in the execute stage, not the fetch stage, so no point is creditworthy.

3Explain2 marksThe Internet Swap Remove

Each data packet has a header that contains the destination IP address.

Explain one reason why a data packet contains the destination IP address.

[2 marks]
Mark scheme

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

  • Routers can forward the packet towards its destination (1) because they read the destination IP address in the packet header (1)
  • The packet is delivered to the correct device (1) because the receiving device compares the destination IP address with its own IP address (1)
  • Each packet can take a different route (1) because routers use the destination IP address to choose the next router (1)
  • The packet can be passed on by each router in turn (1) because the destination IP address shows which network the packet is for (1)

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

Statements such as 'so it reaches the right destination' or 'so routers know where to send it' earn the first mark only; do not award the second mark unless the reason says that the address is read from the packet header and used to forward the packet.

Do not accept 'so it knows where it came from' as this describes the source address, not the destination address.

Do not accept 'so it gets there faster' without a linked reason.

Example answers and how they were marked
Full marks2/2

Routers know where to send it because they use the address in the packet header to choose the next network.

Why: Linked point (1) and reason (1): routers read the destination IP address in the header to forward the packet.

Some marks1/2

So that it reaches the right destination because every packet has an address.

Why: First mark (1) for reaching the right destination, but the reason is circular and does not say the address is read and used to forward the packet.

No marks0/2

So the packet knows where it came from.

Why: Describes the source address, not the destination address; do not accept.

4Discuss6 marksLow and High Level Languages Swap Remove

A company is developing the firmware for a robotic vacuum cleaner. The firmware must read the distance sensors and control the motors. The vacuum cleaner has a small amount of memory.

Discuss the characteristics of a low-level programming language that make it suitable for writing the firmware.

Your answer should include:

  • control of the hardware
  • the efficiency of the code
  • the link between the language and the processor.
[6 marks]
Mark scheme

Indicative content

Control of the hardware

  • Low-level languages can read and write the contents of registers and memory addresses directly, so the firmware can take the values from the distance sensors without calling a library routine.
  • Assembly language instructions can read from and write to specific input/output ports on the vacuum cleaner's processor, so the motors can be switched on and off directly.
  • The programmer decides exactly which processor operations are carried out and in which order, which matters when the vacuum must reverse away from a step or an obstacle.
  • A low-level language puts nothing between the program and the hardware, so the programmer can control the hardware of the vacuum cleaner precisely.

Efficiency of the code

  • Assembly language code can be hand-optimised instruction by instruction, so the code that checks a sensor is as short as possible.
  • The programmer can choose which registers hold values that are used again and again, which cuts down the number of memory accesses the firmware needs.
  • A hand-written low-level program can be made compact, so it is more likely to fit in the small amount of memory the vacuum cleaner has.
  • Because each instruction does one defined job, the time taken to react to a sensor reading is predictable, which suits firmware that must not overrun.

Link between the language and the processor

  • Low-level languages are processor-specific, so the instructions used are those of the exact processor in the vacuum cleaner rather than general statements that need translating.
  • Each assembly language instruction maps to one machine code instruction, so the programmer knows precisely which processor operation will be carried out by each line of code.
  • An assembler turns each mnemonic into its machine code equivalent, so the machine code running on the vacuum cleaner's processor is exactly what the programmer wrote.
  • Code written for a different processor would have to be rewritten, which is acceptable here because the vacuum cleaner always uses the same 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)

Within Level 1, award 1 mark for a single basic point and 2 marks for two or more independent basic points; Level 2 requires the points to be linked to the vacuum cleaner; Level 3 requires both control of the hardware and efficiency of the code, and a few concise, linked sentences can reach Level 3, so extra length is not required.

Accept registers, memory addresses, input/output ports, machine code and mnemonics as ways of describing access to the hardware, and accept 'a low-level language is faster' as a basic point on its own. Do not award 'binary is a low-level language' (machine code is written in binary, but binary is not a language), or characteristics of high-level languages such as being easy to read or portable, as characteristics of a low-level language.

Example answers and how they were marked
Full marks6/6

A low-level language can read and write to registers and to input/output ports directly, so the firmware can take the distance sensor readings and switch the motors without needing library routines. It can be hand-optimised instruction by instruction, so the code that checks a sensor is short and the time it takes is predictable, and a compact program is more likely to fit in the vacuum cleaner's small memory. The language is processor-specific and each assembly instruction maps to one machine code instruction, so the programmer knows exactly which operation the vacuum's processor will carry out, and the assembled machine code is exactly what they wrote.

Why: Covers all three bullets: direct control of registers and ports applied to the sensors and motors, hand-optimised compact code with predictable timing applied to the small memory, and the one-to-one link to the processor's own instruction set. Linked and applied throughout, so Level 3.

Some marks2/6

A low-level language can control the hardware directly. It can read the sensors and control the motors. It is also faster than a high-level language, so the vacuum responds quickly. This is useful because it has little memory.

Why: Three basic, independent points: direct control of the hardware applied to the sensors and motors, faster execution, and suitability for limited memory. They are asserted without development (no registers, ports or predictable timing) and the link between the language and the processor is missing, so Level 1, two or more basic points (2).

Some marks1/6

A low-level language is written in binary, so the computer can understand it directly. It is faster than a high-level language.

Why: 'Faster than a high-level language' is a creditworthy basic point (1). 'Written in binary' is not awarded, as binary itself is not a language and the do-not-award rule applies. Only one undeveloped point with no application to the vacuum cleaner, so Level 1, single basic point (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.