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 markEmbedded Systems Swap Remove

Identify the term for a computer that forms part of another device and performs a specific task.

[1 mark]
  • AEmbedded system
  • BGeneral purpose computer
  • CNetworked computer
  • DServer computer
Mark scheme
  • A Embedded system (1)
  • The only correct answer is A. The correct answer is embedded system.
  • B is not correct because a general purpose computer can run many different application programs
  • C is not correct because a networked computer is connected to other computers to share resources
  • D is not correct because a server computer provides services or resources to other computers on a network
Example answers and how they were marked
Full marks1/1

A Embedded system

Why: Correct option: an embedded system forms part of another device and performs a specific task (1).

No marks0/1

B General purpose computer

Why: Near miss: a general purpose computer can run many different application programs; it is not built into another device to perform a specific task, so no mark.

No marks0/1

D Server computer

Why: Misconception: a server provides services or resources to other computers on a network and is not an embedded system, so no mark.

2Short recall2 marksUnits & Conversion Swap Remove

A solid state drive has a capacity of 5 gibibytes.

Give an expression to calculate the number of bits in 5 gibibytes. You do not need to do the calculation.

[2 marks]
Mark scheme

Award one mark for each of:

  • 5 × 1024^3 / 5 × 1024 × 1024 × 1024 / 5 × 2^30, for the number of bytes (1)
  • A fully correct expression with × 8 to convert bytes to bits, in any order, e.g. 5 × 1024^3 × 8, 8 × 5 × 2^30 (1)

Accept 5 × 1 073 741 824 × 8.

Accept 5 × 2^33 or 42 949 672 960 as a fully correct expression (2 marks).

Do not accept 5 × 1000^3 × 8, which uses decimal multiples.

Do not accept ÷ 8, which converts bits to bytes.

Example answers and how they were marked
Full marks2/2

8 × 5 × 2^30

Why: 5 × 2^30 is the number of bytes (1) and × 8 converts bytes to bits (1).

Some marks1/2

5 × 2^30

Why: Correct number of bytes using the binary multiple 2^30 (1), but no conversion to bits.

No marks0/2

5 × 1000^3 × 8

Why: Uses decimal 1000^3 instead of binary 1024^3, so the expression is not fully correct; no creditworthy point.

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