These computer software notes cover the Computer Software topic in the UACE Subsidiary ICT (Sub ICT) syllabus for S5 and S6, and are also useful for O Level ICT learners. You will learn what software is, the difference between system software and application software, the functions of an operating system, utility programs, programming languages, ways of acquiring software and software licensing, with revision questions at the end.

What Is Computer Software?

Computer software is a set of instructions (programs) that tells the computer hardware what to do and how to do it. Hardware is the physical part of a computer that you can touch; software is the logical part that makes the hardware useful. Without software, a computer cannot perform any task.

A program is a sequence of instructions written to perform a specific task. Software is usually a collection of programs together with their data and documentation.

Characteristics of Good Software

  • Reliability: it works correctly every time.
  • User-friendliness: it is easy to learn and use.
  • Efficiency: it uses memory, storage and processing time well.
  • Compatibility: it works with the user’s hardware and other software.
  • Security: it protects data from unauthorised access.
  • Maintainability: it can be updated and corrected easily.

Classification of Computer Software

Computer software is mainly classified into two groups: system software and application software.

System Software

System software is software that manages and controls the computer hardware and provides a platform on which application software runs. It works mostly in the background.

System software includes:

  1. Operating systems
  2. Utility programs
  3. Programming language translators
  4. Device drivers and firmware

1. Operating System (OS)

An operating system is the main system software that manages all the hardware and software resources of a computer and provides an interface between the user and the computer. Examples include Microsoft Windows, macOS, Linux (such as Ubuntu), Android and iOS.

Functions of an Operating System

  • Booting: it loads and starts the computer. See computer booting notes.
  • Processor (CPU) management: it schedules tasks and shares processor time among programs.
  • Memory management: it allocates main memory to programs and frees it when they close.
  • File management: it organises files and folders, and controls creating, saving, copying and deleting.
  • Device management: it controls input, output and storage devices through drivers.
  • User interface: it lets the user communicate with the computer.
  • Security: it controls access through user accounts and passwords.
  • Error handling: it detects errors and displays messages to the user.

Types of User Interface

  • Command Line Interface (CLI): the user types commands, for example MS-DOS. It is fast for experts but hard for beginners.
  • Graphical User Interface (GUI): the user interacts with icons, windows and menus using a mouse or touch, for example Windows and Android. It is easy to learn but uses more memory.
  • Menu-driven interface: the user selects options from a list, as on an ATM.

Types of Operating Systems

  • Single-user, single-tasking: one user runs one program at a time.
  • Single-user, multitasking: one user runs several programs at the same time, as on most personal computers.
  • Multi-user: many users share the computer’s resources at the same time, as on servers.
  • Real-time: responds to input immediately, used in machines like traffic control and medical equipment.
  • Mobile operating systems: designed for smartphones and tablets, such as Android and iOS.

2. Utility Programs

Utility programs are system programs that help to maintain, protect and improve the performance of the computer. Examples include:

  • Antivirus software: detects and removes malicious programs.
  • Disk defragmenter: rearranges scattered file parts on a hard disk to improve speed.
  • Disk cleanup: removes unnecessary files to free storage space.
  • Backup utility: makes copies of files to protect against loss.
  • File compression: reduces file size, for example WinZip or 7-Zip.
  • Disk formatting: prepares a storage device for use.
  • Screen saver: displays moving images when the computer is idle.

3. Programming Language Translators

Computers only understand machine code (binary). Translators convert programs written in programming languages into machine code:

  • Compiler: translates the whole program at once into machine code before it runs.
  • Interpreter: translates and runs the program one line at a time.
  • Assembler: translates assembly language into machine code.

4. Device Drivers and Firmware

A device driver is a program that allows the operating system to communicate with a hardware device such as a printer. Firmware is software permanently stored in hardware, such as the BIOS stored in ROM.

Application Software

Application software is software designed to help the user perform specific tasks, such as typing a letter, calculating marks or designing a poster.

Types of Application Software

  • General purpose (off-the-shelf) software: designed for many users to perform common tasks. Examples: word processors, spreadsheets, databases, presentation software and web browsers.
  • Special purpose software: designed for one specific task, such as accounting or school management software.
  • Bespoke (custom-made / tailor-made) software: written for one particular organisation’s needs.

Common Examples of Application Software

Advantages and Disadvantages of Off-the-Shelf Software

  • Advantages: cheaper, readily available, well tested, has user support and training materials.
  • Disadvantages: may contain features you do not need, may not meet specific needs exactly.

Advantages and Disadvantages of Custom-Made Software

  • Advantages: meets the user’s exact needs, can be changed as needs change.
  • Disadvantages: expensive, takes a long time to develop, may have more errors at first.

Ways of Acquiring Software

  • Buying off-the-shelf software from vendors.
  • Downloading from the Internet (freeware, shareware or paid software).
  • Developing in-house using the organisation’s own programmers.
  • Contracting a software company to develop custom software.
  • Subscribing to cloud software (Software as a Service), such as Microsoft 365 or Google Docs.

Software Licensing

A software licence is a legal agreement that defines how software may be used and shared.

  • Proprietary (commercial) software: owned by a company; users pay to use it and cannot view or change the source code.
  • Open source software: its source code is freely available to view, change and share, for example Linux and LibreOffice.
  • Freeware: free to use but the source code is not shared.
  • Shareware: free for a trial period, then you must pay to keep using it.
  • Public domain software: has no copyright and can be used freely by anyone.

Software piracy is the illegal copying, distribution or use of software. It is wrong because it violates copyright, can spread malware, and denies developers their income.

Factors to Consider When Choosing Software

  • The user’s needs and the task to be done
  • Compatibility with the hardware and operating system
  • Cost of the software and licence
  • User-friendliness and available training or support
  • Security and reliability
  • Availability of updates

Revision Questions on Computer Software

  1. Define computer software and give two examples.
  2. Distinguish between system software and application software.
  3. Explain five functions of an operating system.
  4. State three advantages of a graphical user interface over a command line interface.
  5. Explain the purpose of any four utility programs.
  6. Differentiate between a compiler and an interpreter.
  7. Give two advantages and two disadvantages of custom-made software.
  8. Explain three types of software licences.
  9. Why should schools avoid using pirated software?

Test yourself further with UACE Sub ICT past papers and read our other Sub ICT notes: computer and computer systems, the Internet and computer servicing and maintenance. More resources are on our A Level notes page.