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

Pick again
Print
1Describe2 marksLow and High Level Languages Swap Remove

A device driver is software that allows the operating system to control a piece of hardware. Device drivers are often written in a low-level programming language.

Describe one reason why a low-level programming language is suitable for writing a device driver.

[2 marks]
Mark scheme

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

  • Instructions can manipulate/control the hardware/memory/registers directly (1) so the driver can control the specific device it is written for (1)
  • The code is written for one specific processor/architecture (1) so it works with the exact hardware it will control (1)
  • The programmer controls exactly how memory/registers are used (1) so the code is efficient and needs little memory, which suits a device that has limited memory (1)
  • Each instruction maps to one machine code instruction (1) so the driver code is small enough to fit in the memory of the device (1)

Extra detail, such as naming the device the driver controls, is not needed to earn the marks.

Do not accept 'it is closer to machine code' on its own: it must be developed to show how this helps the driver, e.g. it can control the hardware directly.

Do not accept 'it is faster/quicker' with no link to the hardware/device, e.g. the device responds quickly.

Do not accept 'it is easier to learn', 'it is easier to debug' or 'it takes less time to write'.

Example answers and how they were marked
Full marks2/2

Low-level instructions can manipulate the hardware and memory directly (1) so the driver can control the specific device it was written for, such as a sound card (1).

Why: Point about direct control of hardware/memory (1) linked to controlling the specific device (1). The named device is extra detail and is not needed.

Some marks1/2

Low-level instructions can manipulate the hardware directly.

Why: Correct point (1) but no linked development saying how this helps the device driver.

No marks0/2

It is closer to machine code so it runs faster than a high-level language.

Why: 'Closer to machine code' is not developed into how this helps the driver, and 'runs faster' is not linked to the hardware/device, so no mark.

2Calculate2 marksBinary Shifts Swap Remove

Computer systems manipulate bit patterns.

Complete the table with the result of applying the shift to the binary pattern.

[2 marks]
Binary patternShift8-bit binary result
0011 0100Logical shift left by 3
Mark scheme

Award one mark for each correct nibble in the correct order:

  • 1010 (1)
  • 0000 (1)

0 marks if the response is not 8-bit binary.

Example answers and how they were marked
Full marks2/2

1010 0000

Why: Every bit moves 3 places left, with 0s in from the right: both nibbles are correct (2).

Some marks1/2

1101 0000

Why: Shifts 2 places instead of 3. The second nibble is correct (1); the first is not.

No marks0/2

0000 0110

Why: Shifts the bits the wrong way. Neither nibble is correct.

3Discuss6 marksUser Management Swap Remove

A school library has 24 computers that are shared by students and teachers throughout the day. Each computer runs an operating system. The school wants users' work to be kept private and the computers to be used only by authorised people.

Discuss how the operating system's user management features can be used to share the computers securely.

Your answer should include:

  • user accounts
  • authentication
  • the benefits for the school.
[6 marks]
Mark scheme

Indicative content

User accounts

  • Each student and teacher should have their own user account, so the operating system can identify the person who is logged on.
  • The operating system keeps a record of all valid users on the computer, so unknown users are not allowed to log in.
  • A separate home area or folder can be created for each account, so a student's saved work is kept apart from other users' work.
  • An account can be disabled when a student leaves the school, so they can no longer access the computers.

Authentication

  • A username and password can be required at login, so only users with the correct details can use the computer.
  • The operating system checks the entered password against the stored password for that account before allowing access.
  • Users should be encouraged to choose a strong password, which makes it harder for someone else to guess and log in.
  • The operating system can lock an account after several failed login attempts, which reduces the chance of someone trying passwords repeatedly.

Benefits for the school

  • Many students can share the same computers because each person's files are kept separate.
  • Work is less likely to be deleted or changed by another student, because users only see their own files.
  • The school can see which account was used on a computer, so misuse can be traced to a user.
  • Teachers can be confident that only authorised people can use the library computers.
  • The school does not need a separate computer for every student, so it saves money.

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 both user accounts and authentication, and apply them to the school library.

Do not accept general operating system functions such as file management or process management unless they are explicitly linked to managing users.

Example answers and how they were marked
Full marks6/6

Each student and teacher should have their own user account with a username and password. When someone logs in, the operating system checks the password against the one stored for that account, so only authorised people can use the computer. Each account can have its own home folder, so a student's work is kept private and another student cannot open or delete it. If a student leaves the school, their account can be disabled so they cannot log in again. This lets the school share a smaller number of computers safely, as each user's work stays separate and any misuse can be traced to the logged-in account.

Why: Level 3. It explains user accounts, authentication and benefits, with sustained links to sharing computers in the school library.

Some marks4/6

Every user should have a username and password. The operating system checks the password so that people who are not allowed cannot log in. Each user should also have their own area to save files so they do not delete other people's work.

Why: Level 2. Basic accounts and authentication points are made and linked, but the benefits to the school are only briefly applied and not developed.

No marks0/6

The operating system manages the users by looking after the files in folders and by making sure the printer works for everyone. It also keeps the computer running quickly when lots of students use it.

Why: Level 0. These are general operating system functions such as file management and peripheral management, not user management, so 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.