AQA GCSE Computer Science Paper 1 (1B), June 2025
Every question from AQA GCSE Computer Science Paper 1 (1B), June 2025 (8525): 11 questions, 90 marks, each with its mark scheme and topic.
- Question 1 7 marks
Analyse a Python while-loop program, identifying arithmetic and relational operations, determining false statements about code features, and completing a trace table.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.2 Programming concepts · 3.2.3 Arithmetic operations in a programming language · 3.2.4 Relational operations in a programming language
- Question 2 7 marks
Complete missing lines in a Python program simulating a loyalty card scheme, and write a Python program to calculate the total monetary value of free items given out.
3.2 Programming · 3.2.1 Data types · 3.2.2 Programming concepts · 3.2.3 Arithmetic operations in a programming language · 3.2.4 Relational operations in a programming language · 3.2.7 Input/output
- Question 3 8 marks
Write a Python program to calculate the total cost of a netball coaching session based on the number of students entered by the user.
3.2 Programming · 3.2.2 Programming concepts · 3.2.3 Arithmetic operations in a programming language · 3.2.4 Relational operations in a programming language · 3.2.7 Input/output
- Question 4 13 marks
Answer multiple-choice and short-answer questions on data validation and test data, write a Python validation routine for name length, and complete a flowchart using algorithm statements to generate a username.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.2 Programming concepts · 3.2.7 Input/output · 3.2.8 String handling operations in a programming language · 3.2.11 Robust and secure programming
- Question 5 8 marks
Describe data types, explain why integer rather than string is used for numerical addition, state the Python float type, and rewrite a program to calculate the sum of five numbers using iteration.
3.2 Programming · 3.2.1 Data types · 3.2.2 Programming concepts · 3.2.3 Arithmetic operations in a programming language · 3.2.7 Input/output
- Question 6 10 marks
Demonstrate the execution of bubble sort and merge sort on an array of numbers, compare the two sorting algorithms, and explain why binary search is more efficient than linear search for a large sorted array.
3.1 Fundamentals of algorithms · 3.1.3 Searching algorithms · 3.1.4 Sorting algorithms
- Question 7 7 marks
Analyze a pseudo-code subroutine using MOD to determine if a number is even, trace its outputs, identify its parameter, and state characteristics of structured programming.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.3 Arithmetic operations in a programming language · 3.2.10 Structured programming and subroutines (procedures and functions)
- Question 8 6 marks
Complete a trace table for an algorithm manipulating binary strings using nested selection and iteration, and explain why the loop limit is LEN(b1) - 1.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.2 Programming concepts · 3.2.5 Boolean operations in a programming language · 3.2.8 String handling operations in a programming language
- Question 9 2 marks
Identify which of the five pseudo-code algorithms correctly calculate the total of five values stored in an array.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.2 Programming concepts · 3.2.6 Data structures
- Question 10 8 marks
Complete pseudo-code to instantiate and access fields of a record, and write a program to find the minimum value in an array.
3.2 Programming · 3.1 Fundamentals of algorithms · 3.2.2 Programming concepts · 3.2.4 Relational operations in a programming language · 3.2.6 Data structures · 3.2.7 Input/output
- Question 11 14 marks
Trace a string-processing subroutine (findLetter) through multiple choice questions and write Python code extending a word guessing game program.
3.1 Fundamentals of algorithms · 3.2 Programming · 3.1.1 Representing algorithms · 3.2.2 Programming concepts · 3.2.7 Input/output · 3.2.8 String handling operations in a programming language · 3.2.10 Structured programming and subroutines (procedures and functions)