AQA A-Level Computer Science Paper 2, June 2025: Question 1

8 marks · Medium difficulty · Short Answer

Identify software classifications in a hierarchy diagram, describe functions of an operating system, and describe advantages of high-level programming languages.

Practise this question

Question

The question contains three sub-questions. Part 01.1 shows Figure 1, a hierarchical classification chart of software with empty boxes labelled 1, 2, 3, and 4, accompanied by Table 1 to fill in the correct software types. Position 1 leads to Word Processor and Photo Editor; under System Software, position 2 leads to Virus Checker and Compression Program, position 3 stands alone, and Translators leads to Assembler, Compiler, and position 4. Part 01.2 asks to describe two other functions of an operating system besides allocating I/O devices. Part 01.3 asks to describe the advantages of writing programs using a high-level language compared to a low-level language.
Question text

01.1 Figure 1 shows the classification of various types of software and some examples of

these types.

Figure 1

Complete Table 1 by naming the correct types of software that should be placed at

positions 1 to 4 in Figure 1.

[2 marks]

Table 1

Number Correct label

01.2 One function of the operating system is to allocate I/O devices to competing

processes.

Describe two other functions of an operating system.

[2 marks]

Function 1

Function 2

01.3 Software can be developed using a low-level language or a high-level language.

Describe the advantages of writing programs using a high-level language.

[4 marks]

Mark scheme

Show the mark scheme The mark scheme details the answers for parts 01.1, 01.2, and 01.3. For 01.1: 1 is Application (software), 2 is Utilities/utility (software), 3 is Libraries/library programs, 4 is Interpreter (4 correct = 2 marks, 2 or 3 correct = 1 mark). For 01.2: 2 marks for any two functions such as allocating processor/scheduling, memory management, hiding hardware complexity, interrupt handling, or file/storage management with descriptions. For 01.3: 4 marks for points including easier to understand/debug, faster development, portable across hardware, availability of built-in data structures and control flows, and supporting modularity.

Total

Qu Pt Marking guidance

marks

01 1 Marks are AO1 (knowledge) 2

0 marks: 1 or fewer rows correct

1 mark: 2 or 3 rows correct

2 marks: 4 rows correct

If the same label is used multiple times mark as correct in the row that it is

correct in, if any.

Number Correct label

Application (software)

A. applications as BOD NE. apps

2 Utilities / utility (software)

3 Libraries / library programs

4 Interpreter

Total

Qu Pt Marking guidance

marks

01 2 Marks are AO1 (knowledge) 2

To allocate processors/cores to processes // schedule processes // decide which

process to carry out when // manage the execution of multiple processes //

allocating ‘time slices’ to processes;

NE. processor management

NE. multitasking without further explanation

To allocate memory/RAM to processes // to determine what areas of memory are

used for what purpose // moving data into and out of RAM / to a paging file for

virtual memory;

NE. memory management

To hide the complexities of the hardware from the user;

A. provision of virtual machine

NE. user interface

NE. hide complexities of computer

To handle interrupts // to call appropriate interrupt handler (A. ISR) when an

interrupt occurs;

Automatic installation of drivers for new I/O devices;

NE. manages I/O devices

R. allocation of I/O devices to processes

– A-LEVEL COMPUTER SCIENCE – –

6 To allocate space on a storage device to files // organising files into directories //

determines where on a device to save a file // managing file allocation table //

recognising storage devices when they are connected;

A. defragmentation of disks

NE. file management

NE. saving a file

NE. manage storage devices

Installation of new software // automatic / managing updating of software;

NE. application management

Manage power consumption / use of battery;

A. examples of this eg controlling clock speed, brightness of screen

Authenticating users // managing file permissions // preventing processes

accessing memory/resources not allocated to them // provision of sandbox //

maintaining logs;

A. login with username and password (or alternative described system such as

credentials, biometrics)

NE. security management

Students must describe – phrases such as ‘processor management’,

‘allocating memory’ etc are not enough.

Accept ‘programs’ or ‘tasks’ for ‘processes’ throughout

– A-LEVEL COMPUTER SCIENCE – –

Max 2

Total

Qu Pt Marking guidance

marks

01 3 Marks are AO1 (understanding) 4

Program code is easier to understand/maintain/debug;

A. easier to read/write as BOD

Faster development time // programmers can be more productive // one line of

HLL code can do the same job as many lines of assembly language;

Facilitates collaborative working;

Programs are (more) portable (to other hardware platforms) // programs are

(more) machine-independent;

Availability of flow control structures; A. example(s) eg loops, selection

Built-in support for data structures; A. example(s) eg arrays, records

Language can be problem-oriented;

Support for different paradigms; A. examples eg functional programming

Improved features for supporting modularity; A. ability to use subroutines, classes

NE. implied support of modularity by use of libraries

Availability of libraries of (wider range of) pre-defined functions // availability of

built-in functions;

Max 4

How to answer it

Classification of Software, OS Roles & High-Level Languages

🧠 What this question tests

This question evaluates foundational knowledge from Topic 4.5 (Software and Software Development):

  • Taxonomy of software: Distinguishing application vs system software, utilities, libraries, and translators (assemblers, compilers, interpreters).
  • Roles of the Operating System: Explaining exact operational mechanisms (processor scheduling, memory allocation, hiding hardware complexities) rather than generic headings.
  • Programming paradigms: Evaluating the practical and structural benefits of high-level languages (HLLs) over low-level languages (assembly and machine code).
Question 01.1 • [2 Marks]

Software Hierarchy Classification (Figure 1)

Completing Table 1 to identify missing categories in the software taxonomy tree

✅ Correct Labels

PositionCorrect Label
1Application (software) / Applications
2Utility software / Utilities / Utility
3Libraries / Library programs
4Interpreter
Marking criteria:
• 4 correct = 2 marks
• 2 or 3 correct = 1 mark
• 0 or 1 correct = 0 marks

💡 Key Knowledge

  • Software Tree Split: Top tier divides into Application Software (carries out user-oriented tasks) and System Software (manages and operates computer hardware).
  • System Software: Composed of Operating Systems, Utility Programs (system maintenance tasks like compression, anti-virus), Library Programs (pre-compiled routines), and Translators.
  • The 3 Translators: Assembler (assembly to machine code), Compiler (source code to machine code in one go), and Interpreter (translates and executes line by line).

❌ Common Errors & Lost Marks

  • Informal terms: Writing apps for position 1 is strictly marked as Not Enough (NE). Use the formal academic term: Application software.
  • Mixing up levels: Confusing Translators with Utilities (e.g. putting "Compilers" under utility programs).

🧠 Exam Technique

Trace the tree branches: Look at the children nodes to deduce the parent!
• Children are Word Processor and Photo Editor → Parent must be Application Software.
• Siblings under Translators are Assembler and Compiler → The missing 3rd translator is Interpreter.

Question 01.2 • [2 Marks]

Functions of an Operating System

Describing two distinct functions other than allocating I/O devices

✅ Any Two Distinct Descriptions (1 mark each)

  • Processor scheduling: Allocates processor time/cores to competing processes using time-slices to decide which process executes and when.
  • Memory management: Allocates RAM/primary memory to active processes and manages moving inactive data/pages between RAM and virtual memory/paging file.
  • Hardware abstraction / Virtual Machine: Hides the physical complexities of hardware components from applications and users.
  • Interrupt handling: Detects hardware/software interrupts and invokes the appropriate Interrupt Service Routine (ISR).
  • File / Secondary Storage management: Allocates space on storage devices for files, maintains directory structures, and manages the file allocation table (FAT/file system).
  • User authentication & security: Manages access rights and permissions, authenticates user credentials (passwords/biometrics), and isolates processes into sandboxes so they cannot access unauthorised memory.

❌ Examiner Pitfalls — Where Students Failed

  • Giving vague 2-word labels: The question asks to describe. Simply writing "Memory management" , "Processor management" , or "File management" earned 0 marks. You must state what the OS actually does (e.g. allocating RAM to processes).
  • Repeating the prompt: Repeating "Allocates I/O devices" or "Manages I/O devices" is rejected as it is already given in the question stem.
  • Vague interface statements: Stating merely "Provides a user interface" or "Hides complexities of computer" is Not Enough.

🧠 Exam Technique: The "Action + Resource" Formula

Always use the structure: [Verb / Action] + [Hardware / System Resource] + [Purpose].

Example: "Allocates (action) time slices of the CPU (resource) to competing processes (purpose)." This guarantees full marks.

Question 01.3 • [4 Marks]

Advantages of High-Level Languages (HLL)

Describing advantages of writing programs in a high-level language over low-level languages

✅ Any 4 Valid Points (1 mark each, Max 4)

  • Readability & Maintenance: Code is much easier to understand, maintain, read, and debug because it uses English-like keywords and mathematical syntax.
  • Portability (Machine Independence): Source code is portable across different processor architectures (different instruction sets) since compiler/interpreter handles machine translation.
  • Higher Productivity: Faster development time; one statement in an HLL often equates to many lines of low-level assembly/machine code.
  • Control & Data Structures: Availability of structured flow control (such as while loops, if-else branching) and complex built-in data structures (such as arrays, records, lists, dictionaries).
  • Modularity & Abstraction: Built-in support for modular code via functions, procedures, subroutines, and object-oriented classes.
  • Rich Standard Libraries: Access to extensive built-in libraries and pre-tested functions, reducing the need to reinvent low-level algorithms.
  • Problem-Oriented & Multi-Paradigm: Allows programmer to focus on solving the logic of the problem rather than managing hardware registers and memory addresses.

❌ Common Misconceptions

  • "HLL runs faster": INCORRECT! Low-level languages typically execute faster and require less memory overhead because they map 1:1 to machine architecture. HLL code is faster to write, not faster to run.
  • "No translation needed": INCORRECT! HLL requires a compiler or interpreter to run, whereas machine code runs directly.
  • Vague answers: Just writing "It is easier" without qualifying what is easier (e.g. easier to read, write, debug, maintain) loses marks.

🧠 Exam Technique: Structure Your 4 Marks

For a 4-mark descriptive question, write 4 distinct, well-developed sentences covering different aspects:

  1. Human perspective: Easier to read/debug due to English-like syntax.
  2. Hardware perspective: Portable/machine-independent (runs on different CPUs without rewriting).
  3. Productivity: One line of HLL replaces multiple assembly instructions, speeding up development.
  4. Language features: Offers high-level control structures (loops/selection) and built-in complex data structures.

Topics

4.6 Fundamentals of computer systems · 4.6.1 Hardware and software · 4.6.2 Classification of programming languages · 4.6.3 Types of program translator

Question and mark scheme from the AQA A-Level Computer Science examination, Paper 2, June 2025. QuestionVault is an independent revision resource; questions remain the copyright of the awarding body.