Question bank › A-level Computer Science › Fundamentals of computer systems

Software classification, programming languages and translators

Answer on paper first, then reveal the mark scheme one mark at a time.

1Core3 marks

A school's computer technician lists some of the software installed on a student laptop:

  • a spreadsheet package
  • a disk defragmenter
  • a C++ compiler
  • a photo-editing app
  • Linux

(a) Complete the classification by stating whether each item is system software or application software. [2]

(b) Explain what is meant by software, distinguishing it from hardware. [1]

2Core3 marks

System software includes utility programs and libraries.

(a) Give two examples of a task carried out by a utility program. [1]

(b) A programmer writing a mapping app uses a library that provides routines for calculating the distance between two GPS coordinates. Explain two benefits to the programmer of using this library rather than writing the routines herself. [2]

3Standard4 marks

A user's laptop is streaming music, running a word processor and sending a long document to a printer, all at the same time.

(a) Explain what is meant by the statement that an operating system hides the complexities of the hardware from the user and from application programs. [2]

(b) Describe two ways in which the operating system manages the laptop's resources in this situation. [2]

Stuck on Software classification, programming languages and translators?

Get it sorted in a free 30-minute session

We work through your weakest questions on this topic on Zoom. I reply the same day.

4Standard5 marks

A simple processor uses 16-bit machine code instructions. The first 6 bits of each instruction hold the opcode and the remaining 10 bits hold the operand.

(a) State the maximum number of different opcodes that this instruction format allows. [1]

(b) One instruction in a program is stored as the hexadecimal value 1C2F. Write this instruction in binary, and give the opcode and the operand as denary values. [2]

(c) Programs for this processor can be written in assembly language. State the relationship between an assembly language instruction and a machine code instruction. [1]

(d) Give one reason why a programmer would find writing in assembly language easier than writing in machine code. [1]

5Standard4 marks

A firm is writing the control software for a small battery-powered sensor that has a very slow processor and only 2 KB of RAM. One developer wants to use assembly language; another wants to use an imperative high-level language such as C.

(a) Explain two advantages of using assembly language for this device. [2]

(b) Explain two advantages of using a high-level language instead. [2]

6Standard3 marks

Describe how a compiler and an interpreter differ in the way they translate and execute a high-level language program. [3]

7Hard4 marks

The diagram shows how a games company distributes one of its games. The source code is translated by Translator X into bytecode, which is then distributed to three different types of device.

(a) Translator X is a type of compiler. State what is meant by bytecode. [1]

(b) Explain how the bytecode is executed on each device. [2]

(c) Explain one reason why the company distributes bytecode rather than compiling the game directly to machine code. [1]

Source code(game.src) Translator X Bytecode(game.bc) Virtual machineWindows PC (x86) Virtual machinePhone (ARM) Virtual machineGames console
8Hard4 marks

A developer times one version of a data-processing program. The source code does not change between runs.

Translation time (once)Execution time per run
Compiled40 s2 s
Interpreted0 s (translated as it runs)9 s

(a) Calculate the smallest number of runs for which the total time taken using the compiler is less than the total time taken using the interpreter. Show your working. [2]

(b) Explain why each run of the interpreted program takes longer than a run of the compiled program. [1]

(c) Despite this, the developer uses the interpreter while writing and testing the program. Give one reason why. [1]

9Standard3 marks

A software company sells a spreadsheet application. It distributes the object (executable) code to customers but keeps the source code private.

(a) State the difference between source code and object code. [1]

(b) Explain two reasons why the company distributes object code rather than source code. [2]

10Stretch6 marks

A start-up is developing a fitness-tracking system with three parts:

  • firmware for a wristband with a small, specialised processor, where battery life and speed matter most;
  • a mobile app that must run on phones with different processor architectures;
  • short data-analysis scripts that its scientists edit and rerun many times a day.

Discuss the choice of programming language level and translator (assembler, compiler, interpreter, or compilation to bytecode) that would be most suitable for each part. Justify your choices. [6]

Stuck on this topic?

Book a free 30-minute session on WhatsApp and we'll find exactly which step is costing you the marks. Or build a timed paper on it.

Free 30-minute session