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 markStored Program Computers Swap Remove

Identify the function of the control unit in the fetch-decode-execute cycle.

[1 mark]
  • ADecodes instructions
  • BPerforms arithmetic operations
  • CStores data and instructions
  • DTemporarily stores data being processed
Mark scheme
  • A Decodes instructions (1)
  • The only correct answer is A. The correct answer is Decodes instructions.
  • B is not correct because the arithmetic logic unit performs arithmetic operations
  • C is not correct because main memory stores data and instructions
  • D is not correct because registers temporarily store data being processed
Example answers and how they were marked
Full marks1/1

A Decodes instructions

Why: Correct option: the control unit decodes instructions during the fetch-decode-execute cycle (1).

No marks0/1

C Stores data and instructions

Why: Main memory stores data and instructions, not the control unit; this is a common distractor, so no mark.

No marks0/1

B Performs arithmetic operations

Why: Arithmetic operations are performed by the ALU, not the control unit; a common confusion between CPU components, so no mark.

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

3Explain2 marksProtocols & Layers Swap Remove

Email protocols are used when an email is sent and received.

Explain the role of SMTP when an email is sent.

[2 marks]
Mark scheme

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

  • Sends outgoing email from the client to the mail server (1) so it can be forwarded/relayed to the recipient's mail server (1)
  • Transfers email between mail servers (1) so it reaches the destination server (1)
  • Pushes/sends the email message (1) because it handles outgoing mail while POP3/IMAP handle incoming mail (1)

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

Do not accept receiving/downloading email or storing email on the server, which is POP3/IMAP.

Example answers and how they were marked
Full marks2/2

SMTP sends the email from the sender's computer to the mail server (1) so it can be forwarded on to the recipient's mail server (1).

Why: Linked point (1) and reason (1): sends to the mail server so it can be forwarded.

Some marks1/2

SMTP is used to send emails (1).

Why: Role (1) identified, but no linked reason or expansion of what sending involves.

No marks0/2

SMTP downloads the email to the recipient's device (0) so they can read it.

Why: Downloading email is the role of POP3/IMAP, not SMTP, so no credit is given.

4Discuss6 marksTranslators Swap Remove

A student is writing a program in a high-level language. The student runs the program after every small change to check that it works.

Discuss whether the student should use an interpreter or a compiler while writing and testing the program.

Your answer should include:

  • how each translator deals with a syntax error
  • how much of the program is translated at a time
  • how this affects the student's testing.
[6 marks]
Mark scheme

Indicative content

How each translator deals with a syntax error

  • An interpreter stops as soon as it finds a syntax error and displays an error message.
  • With an interpreter, the lines before the error have already been executed, so the student can see how far the program got before it stopped.
  • A compiler reports errors at the end of translation, so the student gets a list of all the syntax errors in the program in one go.

How much of the program is translated at a time

  • An interpreter translates one line at a time and executes each line immediately.
  • A compiler translates the whole program in one go before any of it is run.
  • A compiler produces object code, so after every change the whole program must be compiled again before the student can run it.
  • An interpreter produces no object code, so the student does not have to wait for the whole program to be translated before it runs.

How this affects the student's testing

  • An interpreter suits this student because the program can be run straight away after each small change.
  • The interpreter stops at the first error found, so the student fixes that error and runs the program again, but may only find the next error on the next run.
  • Reporting every error at the end of compilation means the student can fix several errors at once, but cannot run the program until the whole program compiles.
  • The student should use an interpreter while testing, and compile the finished program once it works.

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 relate the way each translator works to the student's testing, not just describe the two translators.

Do not accept answers about run-time or logic errors where no comparison of the translators is made.

Example answers and how they were marked
Full marks6/6

The student should use an interpreter while testing. An interpreter translates one line at a time and executes each line straight away, so as soon as the student has made a small change the program can be run without waiting for the whole program to be translated. If there is a syntax error, the interpreter stops at that line and displays an error message, and the lines before it have already been executed, so the student knows exactly where the problem is. A compiler translates the whole program in one go and only reports the errors at the end, so the student would get a list of all the syntax errors, but could not run any of the program until the whole program compiled successfully.

Why: Explains how each translator deals with a syntax error, how much is translated at a time (one line executed immediately against the whole program at once) and links both to the student's testing, with a conclusion. Level 3.

Some marks4/6

An interpreter translates one line at a time and stops when it finds an error, so the student can see where the error is. A compiler translates the whole program and reports all the errors at the end. The interpreter is better for testing because the student can run the program straight away after a change.

Why: Adequate: correct points about error reporting and one line at a time, with a recommendation, but the effect on testing is only asserted rather than reasoned through, so the linkage is not sustained. Level 2.

Some marks1/6

The student should use a compiler because it translates the program one line at a time and stops at the first error, which makes testing quicker.

Why: The roles of the two translators are reversed, so the answer only makes a basic point about testing more quickly. Level 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.