← Back to subjects
0
Cambridge IGCSE Computer Science (0478) · Software
Mini-Lesson

Software

Software is the programs that tell the hardware what to do. This mini-lesson covers system vs application software, the operating system, utility programs, translators (compiler, interpreter, assembler) and high-level vs low-level languages.

application software system software (incl. the OS) hardware

Work through each screen, answer the questions, and collect ⭐ stars. Press Start when ready.

System vs application software

Two kinds of software

  • System software — manages the computer and hardware and provides a platform for other programs. Examples: the operating system, device drivers, utility programs and translators.
  • Application software — lets the user do a specific task. Examples: word processor, spreadsheet, web browser, games, photo editor.

Rule of thumb: if it helps run the computer itself, it is system software; if it helps you do a job, it is application software.

Sort it

System or application?

Tap a piece of software, then tap the group it belongs to.

⚙️ System

🧑‍💻 Application

🧰 Utility

The operating system

The operating system (OS)

The operating system is the main system software. It manages the computer so users and applications can work without controlling the hardware directly. Its tasks include:

  • Managing memory and running processes (multitasking).
  • Managing input/output devices and their drivers.
  • Managing files and the file system, and handling security (user accounts, passwords).
  • Providing a user interface (e.g. a GUI) between the user and the hardware.
Quick check

What does the OS do?

?Which of these is a task of the operating system?
Utility programs

Utility programs

Utility software helps to maintain, configure and protect the computer. Common examples:

  • Anti-virus / anti-malware — scans for and removes malicious software.
  • Backup — makes copies of files so they can be restored if lost.
  • Disk defragmenter — reorganises fragmented files on a magnetic disk so they are stored together, speeding up access.
  • File / disk management and compression tools.
Quick check

Which utility?

?A magnetic hard disk has become slow because files are scattered across it. Which utility would help?
High-level vs low-level languages

High-level vs low-level languages

  • High-level language (e.g. Python) — close to human language, easier to write and understand, and portable across machines. Must be translated before the CPU can run it.
  • Low-level language — close to the hardware. Assembly language uses short mnemonics (e.g. LDA, ADD); machine code is pure binary that the CPU runs directly. Fast and gives fine control, but hard for humans.

Key point: the CPU can only execute machine code. High-level and assembly programs must be translated into machine code first.

Translators

Translators

  • Compiler — translates a whole high-level program into machine code in one go, producing an executable file. Errors are reported together at the end; runs fast once compiled.
  • Interpreter — translates and runs high-level code one line at a time. Stops at the first error, which makes it good for developing and debugging, but it runs more slowly.
  • Assembler — translates assembly language into machine code.
Match it

Match the translator to its job

Tap a description on the left, then its matching term on the right.

Description
Term
Quick check

Compiler or interpreter?

?A student wants to run their Python program one line at a time and be told about the first error as soon as it happens, to help debugging. Which translator suits this best?
Quick check

What the CPU runs

?In which form must a program finally be for the CPU to execute it directly?
Quick check

System or application?

?Which of these is application software?
Recap

The big ideas to know

System software runs the computer (OS, drivers, utilities, translators)

Application software helps the user do a task (word processor, browser)

OS jobs: memory, processes, I/O, files, security, user interface

Utilities: anti-virus, backup, defragmenter, compression

Languages: high-level (portable, easy) vs low-level (assembly, machine code)

Translators: compiler (all at once) · interpreter (line by line) · assembler (assembly → machine code)

You’ve covered the whole of Software. Press Finish to see your score.

🏆

Mini-lesson complete!

⭐⭐⭐

You’ve worked through Software for Cambridge IGCSE Computer Science. 🎉

Your stars: 0 / 0

Next: test yourself in the Evaluate stage Confidence Quiz, then lock it in with Verify.

📣 Smashed it? Share your score

Challenge a mate to beat your stars, or show a parent how you got on.

→ Back to all subjects