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
1Short recall2 marksEmbedded Systems Swap Remove

An embedded system is a computer system built into another device to perform a specific function.

Give two examples of devices that contain an embedded system.

[2 marks]
Mark scheme

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

  • Microwave (oven) (1)
  • Washing machine (1)
  • Dishwasher (1)
  • Digital camera (1)
  • Satellite navigation/satnav system (1)
  • Traffic light(s) (1)
  • Central heating controller/thermostat (1)
  • Digital watch/fitness tracker (1)
  • Vending machine (1)
  • Car (as it contains embedded systems) (1)

Allow any other device that contains an embedded system.

Do not accept general purpose devices such as a laptop, desktop computer, tablet or smartphone (these can run many different programs).

Example answers and how they were marked
Full marks2/2

A microwave oven and a washing machine.

Why: Two creditworthy devices, a microwave oven (1) and a washing machine (1).

Some marks1/2

A dishwasher and a laptop computer.

Why: Dishwasher credited (1); laptop is a general purpose device, so not accepted.

No marks0/2

A desktop computer and a smartphone.

Why: Both are general purpose devices, so neither earns a mark.

2Short recall2 marksUnits & Conversion Swap Remove

Data storage is measured in binary multiples.

Define the term bit.

[2 marks]
Mark scheme

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

  • A binary digit (1)
  • Has the value 0 or 1 (1)
  • The smallest unit of data storage (1)
  • A single 0 or 1 (1)

Allow binary digit/binary place value for binary digit

Allow a single binary digit for a single 0 or 1

Do not accept a group of 8 bits/half a nibble of 4 bits, which describe a byte or a nibble

Do not accept a binary number/binary on its own

Example answers and how they were marked
Full marks2/2

A binary digit that can have the value 0 or 1.

Why: A binary digit (1) and has the value 0 or 1 (1).

Some marks1/2

It is the smallest unit of data storage.

Why: Smallest unit of data storage (1), but does not state that it is a binary digit or that it has the value 0 or 1.

No marks0/2

A group of 8 bits.

Why: Describes a byte, not a bit; no creditworthy point and named in the Do not accept line.

3Describe2 marksMemory Management Swap Remove

An operating system keeps a record of the memory it has allocated to each program.

Describe how this record is used.

[2 marks]
Mark scheme

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

  • The start and end address/size of the block allocated to each program is recorded (1) so the operating system knows which areas of main memory are in use and which are free (1)
  • The record is checked before memory is allocated (1) so memory already in use is not given to another program/is not overwritten (1)
  • The record is searched for a free block that is large enough (1) so a newly loaded program is placed in a suitable area of main memory (1)
  • The record is updated when a program ends/closes (1) so the memory it was using is marked as free for other programs (1)

Allow the record to be called a memory map/memory table/allocation table.

A response that only says the operating system keeps a record/list of the memory each program is using, without saying what the record contains, earns 0 marks.

A response that states what the record contains, e.g. the addresses/the start and end address of each block, earns 1 mark even if it does not say how the record is used.

Do not accept responses about saving programs/files to secondary storage or about moving programs to virtual memory, as these are not uses of this record.

Example answers and how they were marked
Full marks2/2

The operating system records the start and end address of the block of memory given to each program so that it does not give the same memory to another program.

Why: The start and end address of each block is recorded (1) linked to memory already in use not being given to another program (1).

Some marks1/2

The operating system records the start and end address of the memory used by each program.

Why: States what the record contains (1), but does not develop how the record is used, so the second mark is not earned.

No marks0/2

The operating system saves the programs to the hard disk so there is enough memory for other programs.

Why: Describes moving programs to secondary storage rather than how the record of allocated memory is used; no creditworthy point is made.

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.