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

5 questions · 12 marks

Pick again
Print
1Multiple choice1 markFetch Decode Execute Cycle Swap Remove

Identify the bus that carries memory addresses from the CPU to main memory. (1)

[1 mark]
  • AAddress bus
  • BControl bus
  • CData bus
  • DProgram counter
Mark scheme
  • A Address bus (1)
  • The only correct answer is A. The correct answer is address bus.
  • B is not correct because the control bus carries control signals
  • C is not correct because the data bus carries data and instructions
  • D is not correct because the program counter holds the address of the next instruction, it does not carry addresses
Example answers and how they were marked
Full marks1/1

A Address bus

Why: Correct option: the address bus carries memory addresses from the CPU to main memory (1).

No marks0/1

C Data bus

Why: Near-miss distractor: the data bus carries data and instructions between the CPU and main memory, not memory addresses (0).

No marks0/1

D Program counter

Why: Misconception: the program counter is a register that holds the address of the next instruction, it does not carry addresses to main memory (0).

2Short recall1 markUnits & Conversion Swap Remove

A file has a size of 2 kibibytes.

State the number of bytes in the file.

[1 mark]
Mark scheme

Award one mark for:

  • 2048 (1)
  • 2 × 1024 (1)
  • 2^11 (1)

Allow 2048 bytes.

Do not accept 2000, which is the number of bytes in two decimal kilobytes.

Do not accept 1024, which is the number of bytes in one kibibyte.

Do not accept 16, which is the number of bits in two bytes.

Example answers and how they were marked
Full marks1/1

2048

Why: 2048 is 2 × 1024, the number of bytes in 2 kibibytes (1).

No marks0/1

2000

Why: 2000 uses the decimal kilobyte, not the binary kibibyte; the mark scheme does not accept it.

No marks0/1

16

Why: 16 is the number of bits in two bytes, confusing bits with bytes; the mark scheme does not accept it.

3Describe2 marksUtility Software Swap Remove

A hard disk can become fragmented as files are saved and deleted.

Describe how disk defragmentation software improves the performance of a hard disk.

[2 marks]
Mark scheme

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

  • Parts of a file are moved so they are stored together/in consecutive locations (1) so the read/write head has less distance to travel to read the file (1)
  • Files are rearranged so that each file is stored in one block (1) which reduces the time taken to open/load the file (1)
  • Free space on the disk is collected into one area (1) so new files can be saved without becoming fragmented (1)
  • The parts of each fragmented file are put in order (1) so fewer movements of the read/write head are needed to read it (1)

Do not accept responses about compressing files, deleting files or increasing the amount of storage, as these are not what defragmentation software does.

Do not accept 'it makes the disk faster' without saying how the files are changed.

Example answers and how they were marked
Full marks2/2

It moves the parts of a file so they are stored together in consecutive locations (1), so the read/write head does not have to move as far and the file opens more quickly (1).

Why: Linked point (1) and development (1): the file parts are stored together, which reduces read/write head movement.

Some marks1/2

It reorganises the files on the hard disk so that they are stored together.

Why: The point is made (1) but there is no development saying how this improves performance, so the second mark is not awarded.

No marks0/2

It compresses the files so that they take up less space on the disk.

Why: This describes data compression software, which the mark scheme says is not accepted; no creditworthy point is made.

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

5Discuss6 marksLow and High Level Languages Swap Remove

A software company is writing a new program that will be sold to users who have different types of computer. The program does not need to control the hardware of the computer directly. The company must decide whether to write the program in a high-level language or a low-level language.

Discuss whether the company should use a high-level language or a low-level language to write this program.

Your answer should consider:

  • machine independence
  • processor specificity
  • how the code is translated for each type of computer.
[6 marks]
Mark scheme

Indicative content

Machine independence

  • A high-level language is machine independent, so the same source code can be run on different types of computer with few or no changes.
  • The company can write the program once and sell it to users with different computers, without rewriting the code for each type of computer.
  • Only one version of the program needs to be written and maintained, so development takes the company less time.

Processor specificity

  • A low-level language is processor-specific, so a program written for one processor will not run on a different processor without being rewritten.
  • Assembly language instructions depend on the instruction set of the particular processor, so the company would need a separate version of the program for each type of computer.
  • Writing a separate low-level version for every type of computer would take the company much longer than writing one high-level program.
  • Low-level code gives direct control of the hardware of one processor, so it is better suited to device drivers than to a program that must run on many different computers.

Translation

  • High-level source code is translated for each type of computer by a compiler or an interpreter, so one version of the source code is enough for all the users.
  • Assembly language is translated into machine code by an assembler, and the assembler produces machine code for one specific processor only.
  • Machine code is already in a form that one particular processor can execute directly, but the same machine code will not run on a different processor.
  • Each high-level statement translates into several machine code instructions, so the programmer does not need to know the instruction set of the 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)

Additional guidance

  • Level 3 responses must cover both high-level machine independence and low-level processor specificity, with the effect on the company's decision.
  • Do not award low-level language, assembly language or machine code as portable, or 'high-level languages are written in English/like English' as a reason for machine independence.
Example answers and how they were marked
Full marks6/6

A high-level language is machine independent, so the company can write the program once and it will run on different types of computer with few or no changes. A different compiler is used for each type of processor to translate that same source code into the machine code for that computer, so the company can sell one program to all of its users. A low-level language is processor-specific, so a program written in assembly for one processor will not run on a different one. The assembler produces machine code for one particular instruction set, so the company would need to write a separate version for each type of computer, which would take much longer. As the program does not need to control the hardware directly, the company should use a high-level language.

Why: Develops high-level machine independence with the compiler translating for each processor, and low-level processor specificity with the assembler producing machine code for one instruction set, both applied to the company's decision, in a coherent and sustained argument: Level 3, 6 marks.

Some marks3/6

A high-level language is machine independent, so the company can write the program once. A different compiler is used for each type of computer to translate the code, so users with different computers can all run the same program. A low-level language is processor-specific, so it would not be as suitable for the company.

Why: Machine independence is linked to the compiler and applied to the users, but processor specificity is only asserted and no translation of low-level code is given, so the reasoning is not sustained: Level 2, 3 marks.

Some marks1/6

High-level languages are machine independent because they are written in English, so the company can sell the program to anyone. Low-level languages are machine code, so they can be translated to run on any type of computer.

Why: One basic point that high-level languages are machine independent, applied by selling to anyone (1). 'Written in English' is not a reason for machine independence and low-level code is not portable, so neither is credited: Level 1, 1 mark.

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.