AQA A-Level Computer Science AS Paper 1, June 2025

Every question from AQA A-Level Computer Science AS Paper 1, June 2025 (7516): 17 questions, 75 marks, each with its mark scheme and topic.

Original question paper

  1. Question 1 3 marks

    Complete the trace table for the given algorithm that traverses array-based data structures representing a tree using a binary string input.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.4 Theory of computation · 4.1.1 Programming · 4.2.1 Data structures and abstract data types · 4.4.1 Abstraction and automation

  2. Question 2 2 marks

    Explain why two pseudo-code blocks, one using a WHILE loop and the other using a REPEAT UNTIL loop, operate differently when the inputs are negative numbers.

    4.1 Fundamentals of programming · 4.1.1 Programming

  3. Question 3 10 marks

    Implement a palindrome-checking algorithm given in pseudo-code into program code, test it with provided test data, and state one reason why the algorithm is inefficient.

    4.1 Fundamentals of programming · 4.4 Theory of computation · 4.1.1 Programming · 4.4.1 Abstraction and automation

  4. Question 4 6 marks

    Define the term subroutine, state three advantages of using subroutines, and describe how parameters improve their effectiveness.

    4.1 Fundamentals of programming · 4.1.1 Programming

  5. Question 5 1 mark

    Explain what is meant by data abstraction.

    4.4 Theory of computation · 4.4.1 Abstraction and automation

  6. Question 6 1 mark

    State the identifier of a variable in the Skeleton Program that is used to hold one of only two possible values.

    4.1 Fundamentals of programming · 4.1.1 Programming

  7. Question 7 1 mark

    State the identifier of a subroutine in the Skeleton Program that uses nested indefinite iteration.

    4.1 Fundamentals of programming · 4.1.1 Programming

  8. Question 8 3 marks

    Identify a subroutine in the Skeleton Program using exception handling and explain why exception handling is used within it.

    4.1 Fundamentals of programming · 4.1.1 Programming

  9. Question 9 2 marks

    State the identifiers of data structures from the Skeleton Program that store values of more than one data type and only one built-in data type, respectively.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.1.1 Programming · 4.2.1 Data structures and abstract data types

  10. Question 10 4 marks

    Answer questions about the structure, representation, and development stage of a hierarchy chart for a Skeleton Program.

    4.1 Fundamentals of programming · 4.1.2 Programming paradigms · 4.1.1 Programming

  11. Question 11 2 marks

    Explain why it is necessary to check that the value stored at the pirate's position is equal to PIRATES before updating it to SAND in the Move subroutine.

    4.1 Fundamentals of programming · 4.4 Theory of computation · 4.1.1 Programming · 4.4.1 Abstraction and automation

  12. Question 12 3 marks

    Describe one similarity and two differences between the FOR loop used for direction 'E' and direction 'W' in subroutine CheckPath.

    4.1 Fundamentals of programming · 4.4 Theory of computation · 4.1.1 Programming · 4.4.1 Abstraction and automation

  13. Question 13 3 marks

    Explain why it is sometimes necessary to set ValidDirection to false after it has been set to true by calling CheckDirection in the subroutine PirateWalks.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.4 Theory of computation · 4.1.1 Programming · 4.2.1 Data structures and abstract data types · 4.4.1 Abstraction and automation

  14. Question 14 4 marks

    Describe the conditions that cause the game to end and give pirate actions that increase and decrease the score based on the skeleton program.

    4.1 Fundamentals of programming · 4.4 Theory of computation · 4.1.1 Programming · 4.4.1 Abstraction and automation

  15. Question 15 5 marks

    Modify the Skeleton Program to record and display the total walking time for the pirate, adding a WalkTime field to PirateRecord and updating subroutines accordingly.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.13 Systematic approach to problem solving · 4.1.1 Programming · 4.13.1 Aspects of software development

  16. Question 16 12 marks

    Amend the subroutine FindLandingPlace in the Skeleton Program to allow the user to select an alternative beach landing site, validating that the chosen coordinates represent a beach, and provide test evidence via screen captures.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.13 Systematic approach to problem solving · 4.1.1 Programming · 4.2.1 Data structures and abstract data types · 4.13.1 Aspects of software development

  17. Question 17 13 marks

    Extend the Skeleton Program by writing subroutines WestOfHut and GetClue, modifying PirateWalks, and providing a screenshot of test execution.

    4.1 Fundamentals of programming · 4.2 Fundamentals of data structures · 4.13 Systematic approach to problem solving · 4.1.1 Programming · 4.2.1 Data structures and abstract data types · 4.13.1 Aspects of software development

More AQA A-Level Computer Science papers