100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Exam (elaborations)

2024_AQA: A-level COMPUTER SCIENCE Paper 1 (Merged Question paper and marking scheme): Monday 10 June 2024 A-level

Rating
-
Sold
-
Pages
76
Grade
A+
Uploaded on
04-02-2025
Written in
2024/2025

2024_AQA: A-level COMPUTER SCIENCE Paper 1 (Merged Question paper and marking scheme): Monday 10 June 2024 A-level COMPUTER SCIENCE Paper 1 Monday 10 June 2024 Materials For this paper you must have:  a computer  a printer  appropriate software  the Electronic Answer Document Afternoon Time allowed: 2 hours 30 minutes  an electronic version and a hard copy of the Skeleton Program  an electronic version and a hard copy of the Preliminary Material  an electronic version of the Data files , , and . You must not use a calculator. Instructions  Type the information required on the front of your Electronic Answer Document.  Before the start of the examination make sure your Centre Number, Candidate Name and Candidate Number are shown clearly in the footer of every page (also at the top of the front cover) of your Electronic Answer Document.  Enter your answers into the Electronic Answer Document.  Answer all questions.  Save your work at regular intervals. Information  The marks for questions are shown in brackets.  The maximum mark for this paper is 100.  No extra time is allowed for printing and collating.  The question paper is divided into four sections. Advice You are advised to allocate time to each section as follows: Section A – 40 minutes; Section B – 20 minutes; Section C – 20 minutes; Section D – 70 minutes. At the end of the examination Tie together all your printed Electronic Answer Document pages and hand them to the Invigilator. Warning It may not be possible to issue a result for this paper if your details are not on every page of your Electronic Answer Document. A-level Computer Science Paper 1 - Key Areas to Revise For A-level Computer Science Paper 1 on Monday 10 June 2024, you'll be tested on the theoretical foundations of computer science, including algorithms, data structures, programming, and the fundamentals of computer systems. This exam assesses your understanding of key concepts and the ability to apply them in problem-solving contexts. Here are the essential topics to revise: 1. Programming Fundamentals:  Basic Programming Concepts: Understand the core concepts such as variables, constants, data types (e.g., integer, string, boolean), operators (arithmetic, logical, relational), and input/output. Be familiar with their usage in programming.  Control Structures: o Conditional Statements: if, else, elif, switch, and ternary operators. o Loops: for, while, do-while loops. Know how to use each for different scenarios.  Functions and Procedures: Be able to define and use functions/procedures, handle parameters, and return values. Understand the difference between them and how they promote modular programming.  Recursion: Master recursive programming. Be able to write and solve recursive functions such as calculating factorials, Fibonacci series, and recursion-based sorting algorithms.  Data Structures: Review key data structures like arrays, lists, stacks, queues, and linked lists. Be familiar with operations like searching, inserting, and deleting data from these structures. 2. Algorithms and Problem Solving:  Sorting and Searching Algorithms: Know key algorithms and their complexities: o Sorting: Bubble sort, selection sort, insertion sort, quicksort, merge sort (and their time complexities). o Searching: Binary search (for sorted data) and linear search.  Algorithm Analysis: Be able to analyze algorithm efficiency in terms of time and space complexity (Big O notation). Understand best, worst, and average-case scenarios.  Developing Algorithms: Understand how to break down problems into manageable parts and write algorithms to solve them. Represent algorithms using pseudocode or flowcharts.  Optimization: Learn how to optimize algorithms to reduce time and space usage, especially in recursive solutions. 3. Data Representation:  Binary, Hexadecimal, and Decimal Conversion: Know how to convert between these number systems. Understand how binary is used to represent data in computers.  Character Representation: Understand character encoding systems like ASCII and Unicode and their importance in data representation.  Data Types: Know the differences between primitive and non-primitive data types and how they are stored in memory. Familiarize yourself with integer representation and floating-point numbers in binary. 4. Computer Systems:  System Components: Be familiar with the main components of a computer system: CPU, and RAM 5. Networking and Communication: 6. Databases: 7. Ethical, Legal, and Social Issues in Computing: 7517/1 IB/G/Jun24/G4001/E12 2 3 0 Section A You are advised to spend no longer than 40 minutes on this section. Enter your answers for Section A in your Electronic Answer Document. You must save this document at regular intervals. 0 1 State three advantages of using subroutines. For each advantage, you must explain how the advantage is achieved. [3 marks] 0 2 Circular queues and linear queues are examples of data structures that can be implemented using a fixed-length array. 0 2 . 1 Explain why, when implemented using a fixed-length array, a circular queue is usually considered to be a better choice of data structure than a linear queue. [2 marks] 0 2 . 2 Describe the steps that must be completed to remove (dequeue) an item from a circular queue that has been implemented using a fixed-length array. [5 marks] 0 3 . 1 Describe the Halting problem. [2 marks] 0 3 . 2 Explain the importance of the Halting problem. [1 mark] IB/G/Jun24/7517/1 3 0 4 Figure 1 shows four sets R, S, T and U. Three dots (…) means the remaining members of the set follow the same pattern as the previous members of the set. Figure 1 R = {a, b} S = {a, abb, abbbb, abbbbbb, …} T = {bb, bbbb, bbbbbb, …} U = {c, d, bb, b} 0 4 . 1 What is meant by the cardinality of a set? 0 4 . 2 Explain what is wrong with the statement: ‘The only subsets of R are the sets {a}, {b} and {a, b}’. [1 mark] [1 mark] 0 4 . 3 How many members are there in the set formed by the intersection of R and U? [1 mark] 0 4 . 4 The language defined by a regular expression can be represented as a set. Explain the functionality of the | (vertical bar) metacharacter when it is used in a regular expression. [1 mark] The members of the set V are strings that match the regular expression a?b+ Set W is formed by the union of sets S and T. Set X is formed by the set operation V – W. 0 4 . 5 Write a regular expression that would match with all the members of the set W. [2 marks] 0 4 . 6 Write a regular expression that would match with all the members of the set X. [2 marks] Turn over ► IB/G/Jun24/7517/1 4 0 5 (3 + 4) * 5 is an example of an infix expression. The same expression has been represented in a different expression format in Figure 2. Figure 2 3 4 + 5 * 0 5 . 1 What is the name of the expression format used in Figure 2? [1 mark] 0 5 . 2 Represent the infix expression 5 + 2 * 3 + 4 in the same expression format used in Figure 2. [2 marks] IB/G/Jun24/7517/1 5 Turn over for the next question Turn over ► IB/G/Jun24/7517/1 6 0 6 Figure 3 shows a graph containing five nodes. Figure 4 shows how the graph in Figure 3 could be represented using three one-dimensional arrays: Data, Dir1 and Dir2. Figure 3 IB/G/Jun24/7517/1 Figure 4 Index Data Dir1 Dir2 [0] U 1 4 [1] K 2 3 [2] Y –1 –1 [3] H –1 –1 [4] M –1 –1 0 6 . 1 The graph in Figure 3 is a binary tree. A binary tree is a rooted tree where each node has at most two child nodes. There are three properties that a graph needs to have for it to be a tree. One of those properties is that it contains no cycles. State the other two properties of this graph that make it a tree. [2 marks] 7 Figure 5 contains pseudo-code for an algorithm that uses the arrays in Figure 4. Figure 5 Done  False Pos  –1 Current  0 WHILE Done = False WHILE Current ≠ –1 Pos  Pos + 1 Temp[Pos]  Current Current  Dir1[Current] ENDWHILE IF Pos = –1 THEN Done  True ELSE OUTPUT Data[Temp[Pos]] Current  Dir2[Temp[Pos]] Pos  Pos – 1 ENDIF ENDWHILE . Complete the unshaded cells in Table 1 to show the result of tracing the algorithm shown in Figure 5 using the arrays in Figure 4. Table 1 Temp Done Pos [0] [1] [2] Current OUTPUT Copy the contents of the unshaded cells in Table 1 into the table in your Electronic Answer Document. [7 marks] Turn over ► IB/G/Jun24/7517/1 2 6 0 8 0 6 . 3 The array Temp needs to be able to store three values when used with the binary tree shown in Figure 3, on page 6. For some binary trees with only five nodes, the array Temp would need to be able to store five values. Describe the structure of a five-node binary tree that would require Temp to be able to store five values. [2 marks] 0 6 . 4 State the type of data structure the algorithm shown in Figure 5 implements using the array Temp. [1 mark] 0 6 . 5 Describe the changes that need to be made to the algorithm shown in Figure 5 so that the order that the data values are output in is reversed. In your answer, you should only describe changes to the existing lines of code in the algorithm; you must not suggest the addition of extra lines of code. [1 mark] IB/G/Jun24/7517/1 9 Turn over for the next section Turn over ► IB/G/Jun24/7517/1 10 Section B You are advised to spend no more than 20 minutes on this section. Enter your answers to Section B in your Electronic Answer Document. You must save this document at regular intervals. The question in this section asks you to write program code starting from a new program/project/file. You are advised to save your program at regular intervals. 0 7 Write a program that gets the user to enter an integer. It should keep doing this until they enter a value greater than 0. The program should then tell the user if they have entered a perfectly bouncy number, a bouncy number or a number that is not bouncy. A bouncy number is a number that is not an increasing number and not a decreasing number. An increasing number is one where each digit is greater than or equal to the previous digit in the number. A decreasing number is one where each digit is less than or equal to the previous digit in the number. A perfectly bouncy number is a bouncy number in which the number of digits that are followed by a larger digit is equal to the number of digits that are followed by a smaller digit. Examples  13578 is not a bouncy number because it is an increasing number.  973 is not a bouncy number because it is a decreasing number.  98657 is a bouncy number.  1111 is not a bouncy number because it is both an increasing number and a decreasing number.  13421 is a perfectly bouncy number as exactly two digits are followed by a larger digit and there are also exactly two digits followed by a smaller digit.  1829361 is a perfectly bouncy number as exactly three digits are followed by a larger digit and there are also exactly three digits followed by a smaller digit.  is a perfectly bouncy number as there is exactly one digit followed by a larger digit and also exactly one digit followed by a smaller digit. IB/G/Jun24/7517/1 11 Evidence that you need to provide Include the following evidence in your Electronic Answer Document. 0 7 . 1 Your PROGRAM SOURCE CODE [12 marks] 0 7 . 2 SCREEN CAPTURE(S) showing the results of testing the program by entering the integers:  –3  14982  1234 You will need to execute your program more than once to test all of the integers. [1 mark] Turn over for the next section Turn over ► IB/G/Jun24/7517/1 12 Section C You are advised to spend no more than 20 minutes on this section. Enter your answers to Section C in your Electronic Answer Document. You must save this document at regular intervals. These questions refer to the Preliminary Material and the Skeleton Program, but do not require any additional programming. Refer either to the Preliminary Material issued with this question paper or your electronic copy. 0 8 This question is about the Puzzle class. The DisplayPuzzle method uses concatenation. 0 8 . 1 Explain what is meant by concatenation. [1 mark] 0 8 . 2 State the number of methods in the Puzzle class that read data from a text file. [1 mark] 0 8 . 3 State the number of methods in the Puzzle class that read data from a binary (non-text) file. [1 mark] 0 9 This question is about the Cell class. 0 9 . 1 Explain why IsEmpty could have been a private method instead of a public method. [1 mark] 0 9 . 2 The CheckSymbolAllowed method in the Cell class uses a local variable. Explain one difference between a local variable and a private class attribute. [1 mark] IB/G/Jun24/7517/1 13 X X X X X X X X X X 1 0 This question is about the CheckForMatchWithPattern method in the Puzzle class. CheckForMatchWithPattern uses nested iteration and exception handling. 1 0 . 1 State the name of another method in the Puzzle class that uses nested iteration. [1 mark] 1 0 . 2 Explain what problem would occur if the first two iteration structures in the method CheckForMatchWithPattern had been inside the exception handling structure instead of outside it. [1 mark] 1 0 . 3 Describe what exception handling is used for in the CheckForMatchWithPattern method. [3 marks] . A value of 10 is returned sometimes when it should not be. Figure 6 and Figure 7 show example 44 grids. The pattern in Figure 6 correctly results in a value of 10 being returned. The pattern in Figure 7 also results in a value of 10 being returned, but it should return 0. Figure 6 Figure 7 Explain why the pattern in Figure 7 results in the value 10 being returned by the CheckForMatchWithPattern method. [1 mark] Turn over ► IB/G/Jun24/7517/1 4 0 1 14 Section D You are advised to spend no more than 70 minutes on this section. Enter your answers to Section D in your Electronic Answer Document. You must save this document at regular intervals. These questions require you to load the Skeleton Program and to make programming changes to it. 1 1 This question refers to the method AttemptPuzzle in the Puzzle class. The Skeleton Program is to be changed so that it checks the choice made by the user for the column number. A choice is valid if it is between one and the number of columns in the puzzle inclusive. You do not need to add checks for the row number. The program should keep getting the user to enter a value until a valid choice has been made. What you need to do Task 1 Modify the method AttemptPuzzle so it checks that the value entered by the user is valid. If an invalid value is entered, the user should be made to enter another value. Task 2 Test that the changes you have made work:  run the Skeleton Program  press the Enter key  enter 1  enter 10  enter 4 Evidence that you need to provide Include the following evidence in your Electronic Answer Document. 1 1 . 1 Your PROGRAM SOURCE CODE for the amended method AttemptPuzzle. [4 marks] 1 1 . 2 SCREEN CAPTURE(S) showing the results of the requested test. [1 mark] IB/G/Jun24/7517/1 15 1 2 This question extends the Skeleton Program by tracking the user’s average score and highest score for the puzzle. After the user chooses not to do another puzzle, the program should display the user’s highest score achieved on the puzzle and the user’s average score. Your amended Skeleton Program should calculate the average and highest scores for any number of puzzle attempts. Example If the user:  gets a score of 30 when they complete a puzzle  decides to do another puzzle  gets a score of 20 for the second puzzle  decides not to do another puzzle the program should display messages saying that their highest score was 30 and their average score was 25 What you need to do Task 1 Modify the Main subroutine so that after the user decides not to attempt another puzzle their highest score for the puzzles attempted and their average score for the puzzles attempted are displayed. Task 2 Test that the changes you have made work:  run the Skeleton Program  load the file puzzle1  enter 5  enter 5  enter X  enter Y  load the file puzzle1  enter 1  enter 4  enter X  enter N Evidence that you need to provide Include the following evidence in your Electronic Answer Document. 1 2 . 1 Your PROGRAM SOURCE CODE for the amended subroutine Main. 1 2 . 2 SCREEN CAPTURE(S) showing the requested test. [5 marks] [1 mark] Turn over ► IB/G/Jun24/7517/1 16 1 3 IB/G/Jun24/7517/1 This question extends the Skeleton Program by giving the user an option to shift all the cells in one row in the puzzle one place to the left. When shifting left, the first cell in the row will move to the last position in the row. Figure 8 shows an example puzzle and Figure 9 shows the result obtained from shifting all the cells in row 2 from the puzzle in Figure 8 one place to the left. Figure 8 1 2 3 4 5 6 7 8 8 @ 7 @ @ 6 5 @ 4 3 @ @ 2 X X X 1 @ 17 Figure 9 1 8 2 3 @ 4 5 6 7 8 7 6 5 4 3 2 1 @ @ @ @ @ X X X @ After the cells have been shifted, the user’s score should be reduced by 20 and the new state of the grid and the user’s new score should be displayed. No other changes to the user’s score should be made. Shifting the cells does not count as a turn. After choosing to shift cells, the user should carry on with the rest of their turn by selecting a cell to place a symbol in. When answering this question, you should make sure your program code will work for any size of puzzle grid. What you need to do Task 1 Create a new method called ShiftCellsInRowLeft in the Puzzle class that takes an integer parameter that specifies the row number to use with the shift. Each cell, in the row indicated by the parameter, should be moved in Grid so that it is one place to the left; the leftmost cell should shift to the end of the row. IB/G/Jun24/7517/1 Turn over ► 18 Task 2 Modify the AttemptPuzzle method in the Puzzle class so that it gives the user the option to shift the cells in a row. Inside the iteration structure used to get a row number from the user your program should:  display a modified message telling the user to enter a row number or to enter 0 to shift cells  if the user enters 0: o ask the user to enter the row number for the row to shift o call the method ShiftCellsInRowLeft with the number entered as a parameter o subtract 20 from the user’s score o display the new grid o display the new score o set Valid to be false. Task 3 Test that the changes you have made work:  run the Skeleton Program  load the file puzzle2  enter 0  enter 1  enter 1 Evidence that you need to provide Include the following evidence in your Electronic Answer Document. 1 3 . 1 Your PROGRAM SOURCE CODE for the new method ShiftCellsInRowLeft and the amended method AttemptPuzzle. 1 3 . 2 SCREEN CAPTURE(S) showing the requested test. [11 marks] 1 3 . 3 The movement of the cells within a row can be described using vectors. [1 mark] State the 2-vector that describes the movement for all but the leftmost cell in the row. [1 mark] 1 3 . 4 State the 2-vector that describes the movement for the leftmost cell in the row. Your vector should work for any grid size. [1 mark] IB/G/Jun24/7517/1 19 Turn over for the next question Turn over ► IB/G/Jun24/7517/1 20 1 4 This question extends the Skeleton Program so that there is a new type of cell – a countdown cell. A countdown cell has a timer associated with it that decreases by one each time the user tries to place a symbol in the puzzle grid. The location of a countdown cell is shown by a numeric digit representing the current value of its timer. When its timer reaches zero, the cell’s symbol changes to an @. A countdown cell should be added to the board each time the user’s score is increased. The location for the countdown cell should be an empty cell on the grid and selected randomly. What you need to do Task 1 Create a new class called CountdownCell that is a subclass of the BlockedCell class. Create a constructor for the CountdownCell class that sets the initial value of the timer and makes sure that the symbol displayed for the cell will be the value of its timer. The first symbol that should be displayed for the timer value of a CountdownCell is 3 Create a method UpdateCell in the CountdownCell class that:  overrides the method from the base class  decreases the value of the timer by one  changes the symbol to @ when the timer has a value of zero. Task 2 Modify the AttemptPuzzle method in the Puzzle class so that, if the amount to add to the score is greater than zero, it selects an empty cell in the grid at random and replaces that cell with a new CountdownCell. Task 3 Modify the AttemptPuzzle method in the Puzzle class so that, immediately before it checks if the number of symbols left is zero, it calls the UpdateCell method for each cell in the grid. Task 4 Test that the changes you have made work:  run the Skeleton Program  load the file puzzle3  enter 1  enter 4  enter X  place a T in an empty cell  place a T in an empty cell  place a T in an empty cell. IB/G/Jun24/7517/1 21 Evidence that you need to provide Include the following evidence in your Electronic Answer Document. 1 4 . 1 Your PROGRAM SOURCE CODE for the new class CountdownCell and the amended AttemptPuzzle method. [13 marks] 1 4 . 2 SCREEN CAPTURE(S) showing the requested test. [1 mark] END OF QUESTIONS IB/G/Jun24/7517/1 22 There are no questions printed on this page IB/G/Jun24/7517/1 23 There are no questions printed on this page IB/G/Jun24/7517/1 24 There are no questions printed on this page Copyright information For confidentiality purposes, all acknowledgements of third-party copyright material are published in a separate booklet. This booklet is published after each live examination series and is available for free download from Permission to reproduce all copyright material has been applied for. In some cases, efforts to contact copyright-holders may have been unsuccessful and AQA will be happy to rectify any omissions of acknowledgements. If you have any queries please contact the Copyright Team. Copyright © 2024 AQA and its licensors. All rights reserved. IB/G/Jun24/7517/1 A-level COMPUTER SCIENCE 7517/1 Paper 1 Mark scheme June 2024 Version: 1.0 Final MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Mark schemes are prepared by the Lead Assessment Writer and considered, together with the relevant questions, by a panel of subject teachers. This mark scheme includes any amendments made at the standardisation events which all associates participate in and is the scheme which was used by them in this examination. The standardisation process ensures that the mark scheme covers the students’ responses to questions and that every associate understands and applies it in the same correct way. As preparation for standardisation each associate analyses a number of students’ scripts. Alternative answers not already covered by the mark scheme are discussed and legislated for. If, after the standardisation process, associates encounter unusual answers which have not been raised they are required to refer these to the Lead Examiner. It must be stressed that a mark scheme is a working document, in many cases further developed and expanded on the basis of students’ reactions to a particular paper. Assumptions about future mark schemes on the basis of one year’s document should be avoided; whilst the guiding principles of assessment remain constant, details will change, depending on the content of a particular examination paper. No student should be disadvantaged on the basis of their gender identity and/or how they refer to the gender identity of others in their exam responses. A consistent use of ‘they/them’ as a singular and pronouns beyond ‘she/her’ or ‘he/him’ will be credited in exam responses in line with existing mark scheme criteria. Further copies of this mark scheme are available from Copyright information AQA retains the copyright on all its publications. However, registered schools/colleges for AQA are permitted to copy material from this booklet for their own internal use, with the following important exception: AQA cannot give permission to schools/colleges to photocopy any material that is acknowledged to a third party even for internal use within the centre. Copyright © 2024 AQA and its licensors. All rights reserved. 2 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Level of response marking instructions Level of response mark schemes are broken down into levels, each of which has a descriptor. The descriptor for the level shows the average performance for the level. There are marks in each level. Before you apply the mark scheme to a student’s answer read through the answer and annotate it (as instructed) to show the qualities that are being looked for. You can then apply the mark scheme. Step 1 Determine a level Start at the lowest level of the mark scheme and use it as a ladder to see whether the answer meets the descriptor for that level. The descriptor for the level indicates the different qualities that might be seen in the student’s answer for that level. If it meets the lowest level then go to the next one and decide if it meets this level, and so on, until you have a match between the level descriptor and the answer. With practice and familiarity you will find that for better answers you will be able to quickly skip through the lower levels of the mark scheme. When assigning a level you should look at the overall quality of the answer and not look to pick holes in small and specific parts of the answer where the student has not performed quite as well as the rest. If the answer covers different aspects of different levels of the mark scheme you should use a best fit approach for defining the level and then use the variability of the response to help decide the mark within the level, ie if the response is predominantly level 3 with a small amount of level 4 material it would be placed in level 3 but be awarded a mark near the top of the level because of the level 4 content. Step 2 Determine a mark Once you have assigned a level you need to decide on the mark. The descriptors on how to allocate marks can help with this. The exemplar materials used during standardisation will help. There will be an answer in the standardising materials which will correspond with each level of the mark scheme. This answer will have been awarded a mark by the Lead Examiner. You can compare the student’s answer with the example to determine if it is the same standard, better or worse than the example. You can then use this to allocate a mark for the answer based on the Lead Examiner’s mark on the example. You may well need to read back through the answer as you apply the mark scheme to clarify points and assure yourself that the level and the mark are appropriate. Indicative content in the mark scheme is provided as a guide for examiners. It is not intended to be exhaustive and you must credit other valid points. Students do not have to cover all of the points mentioned in the Indicative content to reach the highest level of the mark scheme. An answer which contains nothing of relevance to the question must be awarded no marks. 3 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 A-level Computer Science Paper 1 (7517/1) – applicable to all programming languages A, B, C, D and E June 2024 The following annotation is used in the mark scheme: ; – means a single mark // – means an alternative response / – means an alternative word or sub-phrase A. – means an acceptable creditworthy answer R. – means reject answer as not creditworthy NE. – means not enough I. – means ignore DPT. – means ‘Don't penalise twice’. In some questions a specific error made by a candidate, if repeated, could result in the loss of more than one mark. The DPT label indicates that this mistake should only result in a candidate losing one mark, on the first occasion that the error is made. Provided that the answer remains understandable, subsequent marks should be awarded as if the error was not being repeated. 4 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Examiners are required to assign each of the candidate’s responses to the most appropriate level according to its overall quality, and then allocate a single mark within the level. When deciding upon a mark in a level, examiners should bear in mind the relative weightings of the assessment objectives eg In question 07.1, the marks available for the AO3 elements are as follows: AO3 (design) 4 marks AO3 (programming) 8 marks Where a candidate’s answer only reflects one element of the AO, the maximum mark they can receive will be restricted accordingly. 5 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 01 All marks AO1 (understanding) Example answers Easier to test/debug as each subroutine can be tested separately; Easier to understand the code if sensible identifiers are used for subroutine names; Code can be easily reused as each subroutine is independent of rest of program; Makes it easier to work as a team of programmers as each subroutine can be worked on independently; Can be used as often as needed without having to write the code each time; Makes program easier to maintain/update (in future) as fewer changes will need to be made to make an update; Allows the use of recursive techniques because subroutines can call themselves; Easier to understand the code as each subroutine can be considered in isolation; Less likely to be errors in the code due to reuse of code; Reduces/eliminates side effects (eg unexpected change to value in global variable) through use of local variables; Max 3 Notes for examiners Each advantage must be different. Mark should only be awarded if there is an explanation of how the advantage is achieved. Mark should only be awarded if the explanation is relevant for the stated advantaged. 3 6 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 02 1 All marks AO1 (understanding) When an item is removed from a linear queue; A. by implication that problem arises when items have been deleted all other items need to be shuffled up one // this can result in unusable space in the array // this can result in only being able to add a limited number of items to the queue (eg only ever being able to add five items to a queue which uses an array of size 5); Alternative answer No need to shuffle items up one // no unusable spaces; After deleting an item from a circular queue; 2 02 2 All marks AO1 (understanding) 1. Check that the queue is not already empty // check to see if the current size is 0; R. reference to array instead of queue 2. if it is then deal with (underflow) error // (If it is not then) process/dequeue the front item in the queue; R. reference to array instead of queue (unless reference to array is made using value of front pointer) R. if dequeue would only happen under some of the correct circumstances 3. Reduce the value of the variable used to store the current size by 1; 4. Check if the front is in the last position of the array and if it is set it to the first position in the array (A. 0 or 1 instead of first position in the array); 5. (Else) add 1 to the value of the front pointer; Alternative to mark points 1 and 3 if no current size variable is used: calculate the current size; compare this to 0; Alternative to mark points 1 and 3 if no current size variable is used: check to see if the front/rear is –1;; Alternative to mark points 4 and 5: add 1 to the value of the front pointer; then set it to the remainder from dividing the value of front by the maximum size of the queue; Alternative to mark points 4 and 5: add 1 to the value of the front pointer; then if the pointer has passed the end of the array set it to point to the start of the array. DPT. Rear instead of front Max 4 if any errors 5 7 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 03 1 All marks AO1 (knowledge) (Using a program/algorithm/method to) determine if a program will halt; Max 1 for the following points, but only award mark if 1st mark was awarded: without running the program; 2 for a particular input; 03 2 Mark is for AO1 (understanding) It demonstrates that there are non-computable problems // it demonstrates that there are some problems for which there is no algorithm that can solve them // it demonstrates that there are undecidable problems; 1 8 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 04 1 Mark is for AO1 (knowledge) The number of members of a set // the number of elements in a set; A. the size of a set 1 04 2 Mark is for AO2 (apply) The empty set is also a subset of R // {}/ Ø is also a subset of R; NE. they are not the only subsets of R 1 04 3 Mark is for AO2 (apply) 1 // one; 1 04 4 Mark is for AO1 (understanding) It means either the element (immediately) before or the element (immediately) after // or // alternation; 1 04 5 All marks AO2 (apply) a(bb)*|(bb)+ Mark as follows: 1 mark: expression contains a(bb)* R. bb* 1 mark: expression contains (bb)+ R. bb+ Max 1 mark if any errors Alternative answer a|a?(bb)+ Mark as follows: 1 mark: expression contains a|a? 1 mark: expression contains (bb)+ R. bb+ Max 1 mark if any errors 2 9 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Alternative answer (a|bb)(bb)* Mark as follows: 1 mark: expression contains a|bb 1 mark: expression contains (bb)* R. bb* Max 1 mark if any errors 04 6 All marks AO2 (apply) (ab|b)(bb)* Mark as follows: 1 mark: expression contains ab|b // (ab)|b 1 mark: expression contains (bb)* R. bb* Max 1 mark if any errors Alternative answer a?b(bb)* Mark as follows: 1 mark: expression contains a?b 1 mark: expression contains (bb)* R. bb* Max 1 mark if any errors Note for examiners Any regular expression that would match with an expression that starts with an optional a followed by a compulsory b should get (at least) one mark. 2 10 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 05 1 Mark is for AO1 (understanding) Reverse Polish (Notation) // RPN; A. Postfix 1 05 2 All marks AO2 (apply) 523*+4+;; Mark as follows: 1 mark: 23* in expression; 1 mark: correct order of operands with + symbols either side of the 4; Max 1 mark if any errors 2 11 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 06 1 All marks AO1 (understanding) Connected; Undirected; A. explanations of connected/undirected 2 06 2 All marks AO2 (apply) Mark as follows: 1. Done set to False, Pos set to –1 and Current set to 0 2. Pos set to 0, Temp[0] set to 0 and Current set to 1 3. Pos set to 1, Temp[1] set to 1 and Current set to 2 4. First output is Y 5. Temp[2] set to 2 with no other values after this, Temp[1] set to 3 with no other values after this and Temp[0] set to 4 with no other values after this; 6. Done column correct 7. Correct order for K, H, U and M in output column with no incorrect outputs I. unnecessary repeated values in a column Max 6 if any errors 7 12 Temp Done Pos [0] [1] [2] Current OUTPUT False -1 0 0 0 1 1 1 2 2 2 -1 Y -1 1 K 3 0 1 3 -1 H -1 0 U 4 -1 0 4 -1 M -1 -1 True MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 06 3 All marks AO2 (analyse) There is no child node to the right of any node // each child node is to the left of its parent node;; Note for examiners: if answer is not correct then max one mark for any of the following points:  each node has, at most, one child node R. each node has one child node  there are no nodes with two child nodes  tree has a depth of five 2 06 4 Mark is for AO2 (analyse) Stack // LIFO (data structure); 1 06 5 Mark is for AO2 (analyse) Change the line Current  Dir1[Current] to Current  Dir2[Current] Change the line Current  Dir2[Temp[Pos]] to Current  Dir1[Temp[Pos]]; // Change Dir1 to Dir2 and change Dir2 to Dir1; 1 13 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Question Marks 07 1 4 marks for AO3 (design) and 8 marks for AO3 (programming) Mark Scheme Level Description Mark Range 4 A line of reasoning has been followed to arrive at a 10–12 logically structured working or almost fully working programmed solution that meets most of the requirements. All of the appropriate design decisions have been taken. To award 12 marks, all of the requirements must be met. 3 There is evidence that a line of reasoning has been 7–9 followed to produce a logically structured program. The program displays relevant prompts, inputs the required data, has at least one iterative structure and at least one selection structure and uses appropriate variables to store most of the needed data. An attempt has been made to test for increasing and decreasing numbers, although this may not work correctly under all circumstances. The solution demonstrates good design work as most of the correct design decisions have been made. 2 A program has been written and some appropriate, 4–6 syntactically correct programming language statements have been written. There is evidence that a line of reasoning has been partially followed as, although the program may not have the required functionality, it can be seen that the response contains some of the statements that would be needed in a working solution. There is evidence of some appropriate design work as the response recognises at least one appropriate technique that could be used by a working solution, regardless of whether this has been implemented correctly. 1 A program has been written and a few appropriate 1–3 programming language statements have been written, but there is no evidence that a line of reasoning has been followed to arrive at a working solution. The statements written may or may not be syntactically correct. It is unlikely that any of the key design elements of the task have been recognised. 12 14 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 Guidance Evidence of AO3 design – 4 points: Evidence of design to look for in responses: 1. Identifying that an iteration structure is needed that repeats a number of times based on the number of digits in the number entered by the user. 2. Identifying that selection structures (A. equivalent) for the three possible outcomes (bouncy, not bouncy, perfectly bouncy) is needed. 3. Identifying that variables with suitable data types are needed to store the number of digits followed by a larger digit and the number of digits followed by a smaller digit (A. any suitable equivalent). 4. Recognising the need to use input as an integer for the indefinite iteration and as a string to access individual digits // attempting to use remainder division with a power of ten. Note that AO3 (design) points are for selecting appropriate techniques to use to solve the problem, so should be credited whether the syntax of programming language statements is correct or not and regardless of whether the solution works. Evidence for AO3 programming – 8 points: Evidence of programming to look for in response: 5. User input being assigned to appropriate variable. A. array of integers as long as at least 8 digits are allowed. 6. Indefinite iteration with correct condition containing attempt to get user input. 7. Iteration structure that repeats the correct number of times (one less than number of digits). 8. Compares two consecutive digits. 9. Selection structure with no incorrect contents for when next digit is larger than current digit. R. if any incorrect conditions. 10. Selection structure with no incorrect contents for when next digit is less than current digit. R. if any incorrect conditions. 11. Correctly detects that a number with all digits the same is an increasing number and correctly detects that a number with all digits the same is a decreasing number // correctly detects that a number with all digits the same is not a bouncy number 12. Selection structure(s) (A. equivalent) after iterative structure – for the three possible outcomes (bouncy, not bouncy, perfectly bouncy). A. would output messages that a perfectly bouncy number is perfectly bouncy and also bouncy. R. if bouncy number would result in output of perfectly bouncy. R. if no attempt made to detect bouncy number R. if no attempt made to detect perfectly bouncy number Max 11 if any errors 15 MARK SCHEME – A-LEVEL COMPUTER SCIENCE – 7517/1 – JUNE 2024 07 2 Mark is for AO3 (evaluate) **** SCREEN CAPTURE **** Must match code from 07.1, including messages on screen capture(s) matching those in code. Code for 07.1 must be sensible. Screen captures showing the integer(s) entered and result(s) of each of the tests; I. order of tests Note for examiners: example screen captures shown here match the order of the test data given in the questi

Show more Read less
Institution
2024_AQA: A-level COMPUTER SCIENCE Paper 1
Course
2024_AQA: A-level COMPUTER SCIENCE Paper 1

















Whoops! We can’t load your doc right now. Try again or contact support.

Written for

Institution
2024_AQA: A-level COMPUTER SCIENCE Paper 1
Course
2024_AQA: A-level COMPUTER SCIENCE Paper 1

Document information

Uploaded on
February 4, 2025
Number of pages
76
Written in
2024/2025
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

Content preview

2024_AQA: A-level COMPUTER SCIENCE Paper 1
(Merged Question paper and marking scheme): Monday 10 June 2024


A-level
COMPUTER SCIENCE
Paper 1



Monday 10 June 2024 Afternoon Time allowed: 2 hours 30 minutes
Materials
For this paper you must have:
 a computer
 a printer
 appropriate software
 the Electronic Answer Document
 an electronic version and a hard copy of the Skeleton Program
 an electronic version and a hard copy of the Preliminary Material
 an electronic version of the Data files puzzle1.txt, puzzle2.txt, puzzle3.txt and puzzle4.txt.
You must not use a calculator.

Instructions
 Type the information required on the front of your Electronic Answer Document.
 Before the start of the examination make sure your Centre Number, Candidate Name and
Candidate Number are shown clearly in the footer of every page (also at the top of the front
cover) of your Electronic Answer Document.
 Enter your answers into the Electronic Answer Document.
 Answer all questions.
 Save your work at regular intervals.

Information
 The marks for questions are shown in brackets.
 The maximum mark for this paper is 100.
 No extra time is allowed for printing and collating.
 The question paper is divided into four sections.

Advice
You are advised to allocate time to each section as follows:
Section A – 40 minutes; Section B – 20 minutes; Section C – 20 minutes; Section D – 70 minutes.

At the end of the examination
Tie together all your printed Electronic Answer Document pages and hand them to the Invigilator.

Warning
It may not be possible to issue a result for this paper if your details are not on every page of your
Electronic Answer Document.

,A-level Computer Science Paper 1 - Key Areas to Revise

For A-level Computer Science Paper 1 on Monday 10 June 2024, you'll be tested on the theoretical
foundations of computer science, including algorithms, data structures, programming, and the fundamentals of
computer systems. This exam assesses your understanding of key concepts and the ability to apply them in
problem-solving contexts. Here are the essential topics to revise:

1. Programming Fundamentals:

 Basic Programming Concepts: Understand the core concepts such as variables, constants, data
types (e.g., integer, string, boolean), operators (arithmetic, logical, relational), and input/output. Be
familiar with their usage in programming.
 Control Structures:
o Conditional Statements: if, else, elif, switch, and ternary operators.
o Loops: for, while, do-while loops. Know how to use each for different scenarios.
 Functions and Procedures: Be able to define and use functions/procedures, handle parameters,
and return values. Understand the difference between them and how they promote modular
programming.
 Recursion: Master recursive programming. Be able to write and solve recursive functions such as
calculating factorials, Fibonacci series, and recursion-based sorting algorithms.
 Data Structures: Review key data structures like arrays, lists, stacks, queues, and linked lists. Be
familiar with operations like searching, inserting, and deleting data from these structures.

2. Algorithms and Problem Solving:

 Sorting and Searching Algorithms: Know key algorithms and their complexities:
o Sorting: Bubble sort, selection sort, insertion sort, quicksort, merge sort (and their time
complexities).
o Searching: Binary search (for sorted data) and linear search.
 Algorithm Analysis: Be able to analyze algorithm efficiency in terms of time and space complexity
(Big O notation). Understand best, worst, and average-case scenarios.
 Developing Algorithms: Understand how to break down problems into manageable parts and write
algorithms to solve them. Represent algorithms using pseudocode or flowcharts.
 Optimization: Learn how to optimize algorithms to reduce time and space usage, especially in
recursive solutions.

3. Data Representation:

 Binary, Hexadecimal, and Decimal Conversion: Know how to convert between these number
systems. Understand how binary is used to represent data in computers.
 Character Representation: Understand character encoding systems like ASCII and Unicode and
their importance in data representation.
 Data Types: Know the differences between primitive and non-primitive data types and how they are
stored in memory. Familiarize yourself with integer representation and floating-point numbers in
binary.

4. Computer Systems:

 System Components: Be familiar with the main components of a computer system: CPU, and RAM

5. Networking and Communication:
6. Databases:
7. Ethical, Legal, and Social Issues in Computing:




IB/G/Jun24/G4001/E12 7517/1

, 2


Section A

You are advised to spend no longer than 40 minutes on this section.

Enter your answers for Section A in your Electronic Answer Document.

You must save this document at regular intervals.



0 1 State three advantages of using subroutines.

For each advantage, you must explain how the advantage is achieved.
[3 marks]


0 2 Circular queues and linear queues are examples of data structures that can be
implemented using a fixed-length array.


0 2 . 1 Explain why, when implemented using a fixed-length array, a circular queue is usually
considered to be a better choice of data structure than a linear queue.
[2 marks]


0 2 . 2 Describe the steps that must be completed to remove (dequeue) an item from a
circular queue that has been implemented using a fixed-length array.
[5 marks]


0 3


0 3 . 1 Describe the Halting problem.
[2 marks]


0 3 . 2 Explain the importance of the Halting problem.
[1 mark]




IB/G/Jun24/7517/1

, 3


0 4 Figure 1 shows four sets R, S, T and U. Three dots (…) means the remaining
members of the set follow the same pattern as the previous members of the set.

Figure 1

R = {a, b}
S = {a, abb, abbbb, abbbbbb, …}
T = {bb, bbbb, bbbbbb, …}
U = {c, d, bb, b}



0 4 . 1 What is meant by the cardinality of a set?
[1 mark]


0 4 . 2 Explain what is wrong with the statement:

‘The only subsets of R are the sets {a}, {b} and {a, b}’.
[1 mark]


0 4 . 3 How many members are there in the set formed by the intersection of R and U?
[1 mark]


0 4 . 4 The language defined by a regular expression can be represented as a set.

Explain the functionality of the | (vertical bar) metacharacter when it is used in a
regular expression.
[1 mark]


The members of the set V are strings that match the regular expression a?b+

Set W is formed by the union of sets S and T.

Set X is formed by the set operation V – W.
0 4
. 5 Write a regular expression that would match with all the members of the set W.
[2 marks]


0 4 . 6 Write a regular expression that would match with all the members of the set X.
[2 marks]




Turn over ►
IB/G/Jun24/7517/1

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
Cate001 Chamberlain College Nursing
View profile
Follow You need to be logged in order to follow users or courses
Sold
1398
Member since
2 year
Number of followers
909
Documents
1561
Last sold
2 hours ago
Ace Your Exams with Expertly Crafted Study Materials!

Looking to level up your revision? I offer comprehensive, easy-to-understand study materials tailored for major exam boards including AQA, OCR, Edexcel, and more, perfect for A-Level, GCSE, and other courses. ✨ What You’ll Get: 1. Concise summaries and clear explanations 2. * Past exam papers with complete official marking schemes * Whether you need quick revision notes, detailed study guides, or real past papers to test your knowledge, I’ve got you covered. These resources are designed to help you study smarter and achieve top grades.

Read more Read less
4.4

284 reviews

5
196
4
51
3
18
2
3
1
16

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions