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

9 marks · Easy difficulty · Short Answer

Define computer hardware and software, describe differences between system and application software, state advantages and types of low-level languages, and explain the role of an assembler.

Practise this question

Question

Exam question with five sub-parts labelled 06.1 to 06.5: 06.1 asks to describe what is meant by the terms computer hardware and computer software (2 marks). 06.2 asks to describe the difference between system software and application software (2 marks). 06.3 asks to state two advantages of using a low-level language to write software (2 marks). 06.4 asks to state a type of low-level language other than assembly language (1 mark). 06.5 asks to describe the role of an assembler and explain why an assembler is needed (2 marks).
Question text

06.1 Describe what is meant by the terms computer hardware and computer software.

[2 marks]

Computer hardware

Computer software

06.2 Describe the difference between system software and application software.

[2 marks]

06.3 State two advantages of using a low-level language to write software.

[2 marks]

06.4 State a type of low-level language other than assembly language.

[1 mark]

06.5 Describe the role of an assembler and explain why an assembler is needed.

[2 marks]

Mark scheme

Show the mark scheme Marking scheme for question 06 parts 1 to 5. Part 06.1 awards 1 mark for defining hardware as physical/electronic components and 1 mark for software as programs/applications/code/instructions. Part 06.2 awards 2 marks for explaining system software manages the system/hides hardware complexity, whereas application software performs user-oriented tasks. Part 06.3 awards up to 2 marks for faster execution, direct hardware control, or less memory usage. Part 06.4 awards 1 mark for Machine code (or bytecode/object code). Part 06.5 awards 2 marks for translating assembly into machine code because computers cannot execute assembly directly.

Qu Pt Marking Guidance Marks

06 1 Marks are for AO1 (knowledge) 2

Hardware is the physical/electronic components (of the system);

Software is the programs/applications/code/instructions (that are run on the

hardware);

Qu Pt Marking Guidance Marks

06 2 Marks are for AO1 (knowledge) 2

System software controls/manages the system // system software helps a

computer run // system software performs tasks that are machine-oriented;

A. Computer/hardware for system

Layer(s) of software that abstract the user from how the computer works;

A. software that hides complexity of hardware from user

A. software that provides a virtual machine

Application software performs (specific) tasks for the user/user-oriented tasks;

Qu Pt Marking Guidance Marks

06 3 Marks are for AO1 (understanding) 2

Programs written in a low-level language (usually) run/execute faster / take less

time to run/execute;

R. references to increased speed relating to faster/no translation

Programs written in machine code require no translation/can be directly executed;

Programs written in a low-level language allow more direct/precise control of

underlying hardware resources

A. by example such as can specify which registers/memory locations to use;

Programs written in a low-level language use less memory // are more memory

efficient;

Max 2 – – –

Qu Pt Marking Guidance Marks

1206 4 Mark is for AO1 (knowledge) 1

Machine code;

A. Object code/Intermediate code/byte code

Qu Pt Marking Guidance Marks

06 5 Marks are for AO1 (understanding) 2

Translates assembly code/language into machine/executable code;

Computers cannot execute assembly code/language directly // computers can only

execute machine/object code;

Max 2

How to answer it

Hardware, Software & Low-Level Languages

AQA AS Computer Science • Paper 1 / Paper 2 Fundamentals • Question 06 Walkthrough

What this question tests

This question assesses fundamental systems architecture and systems software concepts from Topic 3 (Fundamentals of Computer Systems) and Topic 7 (Software Development):

  • Accurate definitions of computer hardware and software.
  • Distinguishing functional roles between system software and application software.
  • Key execution and control benefits of low-level programming languages.
  • Classification of low-level languages (identifying machine code).
  • The precise translation role and mechanical necessity of an assembler.
Question 06.1

Hardware vs Software Definitions

Describe what is meant by the terms computer hardware and computer software. [2 marks]

✅ Mark Scheme Answers

  • Computer hardware: The physical or electronic components (of a computer system). [1 mark]
  • Computer software: The programs, applications, code, or instructions (that run on the hardware). [1 mark]

🧠 Exam Technique

  • Never use the word you are defining in your answer (e.g. do not say "hardware is hard things").
  • Use the formal syllabus keywords: physical/electronic components vs sequences of instructions/programs.
  • Stating "software tells the hardware what to do" is accepted only if you mention that it is code/instructions.

❌ Common Errors & Misconceptions

  • Giving examples instead of definitions: Writing "Hardware is a keyboard and CPU; software is Word" scores 0 marks. You must define the category.
  • Informal language: Defining software purely as "the stuff you cannot touch" is considered imprecise at AS level and risks zero credit.
AO1 (Knowledge): 1 mark per accurate definition Max 2 Marks
Question 06.2

System Software vs Application Software

Describe the difference between system software and application software. [2 marks]

✅ Model Contrast

  • System software: Controls/manages the hardware and system resources // performs machine-oriented tasks // provides an abstract layer/virtual machine that hides hardware complexity. [1 mark]
  • Application software: Performs user-oriented tasks // enables the user to perform specific non-computer tasks (e.g., writing a letter, browsing the web). [1 mark]

💡 Key Knowledge

Remember the fundamental divide in purpose:

  • System-oriented: Works for the machine (OS, device drivers, utilities).
  • User-oriented: Works for the human (word processors, spreadsheets, games).

❌ Common Errors

  • One-sided answers: Describing system software well but forgetting to clearly contrast it with what application software does.
  • Vague utility definitions: Saying "application software is downloaded by the user" is not universally true (pre-installed apps exist) and misses the functional purpose.
AO1 (Knowledge): 1 mark for role of system software + 1 mark for role of application software Max 2 Marks
Question 06.3

Advantages of Low-Level Languages

State two advantages of using a low-level language to write software. [2 marks]

✅ Any Two Distinct Advantages

  • Programs usually run/execute faster (take less execution time). [1 mark]
  • Allows direct/precise control of underlying hardware (e.g., directly addressing specific CPU registers or memory addresses). [1 mark]
  • Programs use less primary memory (RAM) / are more memory efficient. [1 mark]
  • Programs written directly in machine code require no translation. [1 mark]

❌ Examiner Pitfalls (Beware the Reject Rule!)

  • The "Fast Translation" Trap: The mark scheme explicitly states: "R. references to increased speed relating to faster/no translation" for assembly. Assembly still needs translation! Execution speed comes from optimal machine instructions, not translation speed.
  • Vague claims: Stating just "It is smaller" or "It is faster" without qualifying (e.g. execution time or file/memory size).

🧠 Examiner Tip: Typical Embedded Use Cases

When asked why someone writes in low-level languages (like assembly), think about device drivers or embedded microcontrollers: every clock cycle and every byte of memory counts, and you need to talk straight to hardware pins and registers.

AO1 (Understanding): 1 mark per valid advantage Max 2 Marks
Question 06.4

Low-Level Language Classification

State a type of low-level language other than assembly language. [1 mark]

✅ Primary Accepted Answer

Machine code

Also allowed: Object code, Intermediate code, Bytecode.

❌ What Will Score Zero

  • Naming high-level languages like C, Python, or Java (C is high-level despite offering pointer access!).
  • Repeating Assembly (the question explicitly asks for a type other than assembly).
  • Naming translator types (e.g., compiler).
AO1 (Knowledge): 1 mark for correct identification Max 1 Mark
Question 06.5

The Role & Purpose of an Assembler

Describe the role of an assembler and explain why an assembler is needed. [2 marks]

✅ Complete Two-Part Answer

  • Role: Translates assembly language (mnemonics / source code) into machine code / object code / executable binary. [1 mark]
  • Why it is needed: The CPU/hardware cannot execute assembly code directly // processors can only execute binary machine code instructions. [1 mark]

🧠 Exam Technique: Two-Part Command

Notice the question asks to describe the role AND explain why it is needed:

  1. Point 1: What does it convert from and to? ( Assembly → Machine Code ).
  2. Point 2: Why can't the computer run it without this? (CPUs only understand 1s and 0s / machine code).

❌ Common Misconceptions

  • Confusing Assembler with Compiler/Interpreter: Saying it converts "high-level source code" to machine code loses the first mark. High-level is for compilers/interpreters; assemblers are strictly for assembly code.
  • Vague execution points: Writing "so the computer understands it" without specifying that the CPU can only execute machine code.
AO1 (Understanding): 1 mark for translation role + 1 mark for processor execution constraint Max 2 Marks

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, AS Paper 2, June 2025. QuestionVault is an independent revision resource; questions remain the copyright of the awarding body.