Series 7 - Software, Languages and Translators - Exam practice
Software exam questions
Ten multiple choice questions covering all six lessons, followed by five written questions. Complete the MCQ first, then write full answers to the written questions before revealing the mark schemes.
10 MCQ questions
5 written questions
25 written marks
All 6 lessons covered
0/10
MCQ complete. Scroll down for the written questions.
Multiple Choice Questions
Select the best answer for each question. Explanations appear after you answer.
Question 1 of 10
Lesson 1 - System Software
Which of the following is an example of system software?
A device driver is system software that allows the operating system to communicate with a specific hardware component. Microsoft Word, Chrome and a spreadsheet are all application software - they perform tasks for the user rather than managing the hardware platform.
Question 2 of 10
Lesson 2 - Operating Systems
A computer runs three applications simultaneously on a single-core CPU. Which OS function makes this possible?
Process management (scheduling) rapidly switches the CPU between processes, creating the illusion that they run simultaneously. Memory management handles RAM allocation, file management handles storage, and security management handles access control - none of these control which process gets CPU time.
Question 3 of 10
Lesson 2 - OS Functions
What is virtual memory?
When RAM is full, the OS moves less-used data onto secondary storage (the hard drive or SSD) to free up space. This section of storage acts as an extension of RAM. However, secondary storage is much slower than RAM, so heavy use of virtual memory (thrashing) significantly reduces performance.
Question 4 of 10
Lesson 3 - Utility Software
A user stores confidential data on a laptop that is subsequently stolen. Which utility software would have prevented the thief from reading the data?
Encryption scrambles data so it cannot be read without the correct decryption key. Full disk encryption means that even if a laptop is physically stolen, the data is unreadable. A defragmenter improves speed, antivirus removes malware, and backup creates copies elsewhere - none prevent a thief from reading stolen data.
Question 5 of 10
Lesson 3 - Compression
A programmer wants to compress an executable file (.exe) to share it online. Which type of compression must they use?
Lossless compression must be used for executable files because the original data must be perfectly reconstructed. A single changed byte in an executable can cause it to crash or behave unpredictably. Lossy compression permanently removes data, which is acceptable for audio and images but not for files where every byte is critical.
Question 6 of 10
Lesson 4 - Languages
Which of the following is an advantage of assembly language over a high-level language?
Assembly language gives the programmer direct control over specific hardware registers and memory addresses, making it suitable for device drivers, OS kernels and performance-critical code. It is not portable (tied to one processor architecture), is harder to read than HLL, and still requires an assembler to translate it to machine code.
Question 7 of 10
Lesson 5 - Translators
Which statement correctly describes a compiler?
A compiler translates the entire high-level language program into machine code in one pass, producing a standalone executable. An interpreter translates and executes line by line. An assembler converts assembly to machine code. Compiled programs are platform-specific - portability is an advantage of interpreters, not compilers.
Question 8 of 10
Lesson 5 - Compilers
During compilation, which stage breaks the source code into tokens?
Lexical analysis (tokenisation) is the first stage of compilation. It reads source code character by character and groups characters into tokens: keywords, identifiers, operators, numbers and punctuation. Syntax analysis checks the grammar of the token sequence. Semantic analysis checks logical meaning. Code generation produces machine code.
Question 9 of 10
Lesson 6 - IDEs
A programmer sets a breakpoint on line 15 of their code and runs the program in debug mode. What happens?
A breakpoint pauses execution at a specific line. The programmer can then inspect the values of all variables at that moment, step through subsequent lines one at a time, and observe how values change. This makes it far easier to find logical errors than inserting print statements throughout the code.
Question 10 of 10
Lesson 6 - IDEs
Which IDE feature would most directly help a programmer who mistyped a function name consistently throughout a 500-line program?
The rename/refactor tool finds every occurrence of an identifier and renames them simultaneously across the entire project. This is the most direct solution to consistently mistyped names. Syntax highlighting shows colours but does not change code. A debugger finds runtime errors. Auto-complete would have prevented the error but cannot fix existing ones retrospectively.
Written Questions
Write your full answer before revealing the mark scheme. These questions are exam-style and require complete, reasoned answers.
Written Question 1
Lesson 2 - OS Functions
State three functions of an operating system and, for each one, describe what it does. [6 marks]
6 marks

Award 1 mark for naming each function + 1 mark for a correct description. Accept any three of the following:

Memory management - allocates RAM to processes and ensures programs do not access each other's memory space [1+1]
Process management - controls which processes receive CPU time, switching between them rapidly to create multitasking [1+1]
File management - organises files in a hierarchical directory structure and controls read/write/execute permissions [1+1]
User interface - provides a GUI or CLI for the user to interact with the computer [1+1]
Peripheral/driver management - communicates with hardware devices via device drivers [1+1]
Security management - handles user authentication and controls access rights to files and resources [1+1]
Do not accept "it manages the computer" as a description without further detail.
Written Question 2
Lesson 2 - CLI vs GUI
A university server administrator uses a command line interface (CLI) rather than a graphical user interface (GUI). Explain two reasons why a CLI might be more suitable than a GUI in this context. [4 marks]
4 marks

Award 1 mark per reason + 1 mark per explanation/development. Two reasons required:

Uses fewer system resources - a GUI requires processing power and RAM to render windows and graphics; a CLI uses minimal resources, leaving more for the server's actual work [1+1]
Can be automated/scripted - CLI commands can be combined into scripts to perform repetitive tasks automatically; GUIs cannot be scripted as easily [1+1]
Faster for experienced users - once commands are memorised, they can be entered more quickly than navigating through GUI menus [1+1]
Remote access - CLIs can be used over low-bandwidth connections (e.g. SSH); GUIs require more data transfer [1+1]
Must give an explanation, not just state the advantage, to receive both marks.
Written Question 3
Lesson 4 + 5 - Languages and Translators
Compare high-level languages and low-level languages. In your answer, refer to: portability, ease of development, and the type of translator required for each. [6 marks]
6 marks

Award marks for each comparative point with development. Maximum 6 marks:

Portability: HLL programs are portable - the same source code can be compiled for different hardware/OS; low-level languages are tied to a specific processor architecture and must be rewritten for different hardware [1+1]
Ease of development: HLLs use English-like syntax and abstract away hardware details, making programs faster to write, read and debug; low-level languages require detailed knowledge of the specific processor and are tedious to write for large programs [1+1]
Translator: HLL programs require a compiler (translates whole program to machine code) or interpreter (translates line by line at runtime); assembly language requires an assembler; machine code requires no translator as the CPU executes it directly [1+1]
For full marks, each point must be developed with a reason or comparison, not just stated.
Written Question 4
Lesson 5 - Compilers vs Interpreters
Give three differences between a compiler and an interpreter. [6 marks]
6 marks

Award 1 mark per difference + 1 mark for development. Three differences required:

Translation method: a compiler translates the entire program before execution; an interpreter translates and executes one line at a time [1+1]
Execution speed: compiled programs run faster because there is no translation overhead at runtime; interpreted programs are slower because translation happens every time the program runs [1+1]
Error reporting: a compiler reports all errors at once after analysing the whole program; an interpreter stops at the first error, making it easier to identify individual bugs [1+1]
Output: a compiler produces a standalone executable file that can run without the compiler; an interpreter produces no executable - the source code must be interpreted every time it runs [1+1]
Source code: compiled programs can be distributed without revealing source code; interpreted programs require the source code to be distributed [1+1]
Any three of the above differences, with development, for full marks.
Written Question 5
Lesson 6 - IDEs
Describe three features of an Integrated Development Environment (IDE) and explain how each feature helps a programmer. [3 marks]
3 marks

Award 1 mark per feature with a correct explanation of how it helps. Three features required:

Syntax highlighting - displays code elements in different colours so the programmer can quickly identify keywords, variables and errors such as mismatched quotes [1]
Debugger / breakpoints - allows the programmer to pause execution at a chosen line and inspect variable values, making it easier to locate logic errors [1]
Auto-complete - suggests function names and variable names as the programmer types, reducing spelling errors and speeding up development [1]
Error highlighting - underlines suspected errors before the program is run, reducing compilation time during development [1]
Version control integration - connects to tools like Git so the programmer can track changes and revert to earlier versions if bugs are introduced [1]
Each mark requires both the feature name and a clear explanation of how it helps. Accept any three.