Hardware is the physical, tangible equipment in a computer system, while software is the set of instructions and data that tells the hardware what tasks to perform. This distinction is part of IB Digital Society topic 3.3 Computers and is shared by SL and HL.
A computer automatically executes instructions to perform specific tasks. Hardware provides the physical capacity for input, processing, storage and output, but it cannot perform useful tasks without software directing its operations.
Software is stored digitally and executed by hardware. For example, when a student types in a word processor, the keyboard supplies input, the processor executes the software's instructions, memory temporarily holds data, storage preserves the document, and the screen displays the output.
| Feature | Hardware | Software |
|---|---|---|
| Meaning | Physical components of a computer system | Programs, instructions and associated data |
| Tangibility | Can be physically touched | Exists in digital form |
| Examples | Processor, keyboard, screen, memory and storage drive | Operating system, word processor, browser and mobile application |
| Main role | Receives, processes, stores or outputs data | Directs hardware and enables particular tasks |
| Typical problem | Physical damage or component failure | Bugs, corruption, incompatibility or malicious software |
The two are interdependent. An operating system manages hardware resources, while application software uses those resources to perform user-focused tasks. The same hardware can perform different tasks when different software is installed, and the same software may behave differently depending on available processing power, memory or connected devices.
A common misconception is that software includes only applications. Software also includes system software, such as operating systems and device drivers, which manages the computer and supports application software.
In an IB exam, a command term such as distinguish requires clear differences with reference to both categories. Define each term, contrast physical components with digital instructions, and add a linked example showing how hardware and software interact within a computer system.