Course progress0%
Course content
15 min

Understanding What Software Really Is

Build a clear mental model of computers, programs, applications and software systems.

By the end of this lesson

  • Distinguish hardware and software
  • Explain program, application and system
  • Identify the parts required beyond source code

Begin with the computer

A computer is a machine that receives information, follows instructions, produces results and may store information for later.

Input → Processing → Output
              ↓
            Storage

When you type a message, the keyboard provides input. The computer processes the characters, the screen displays output and the messaging application stores the conversation.

Hardware and software

Hardware is the physical equipment: processor, memory, disk, keyboard and screen.

Software is the organized collection of instructions, data, configuration and supporting components that makes the hardware perform useful work.

Term Simple meaning Example
Code Instructions written by a person A rule that calculates a total
Program Instructions prepared for execution A command-line calculator
Application Software designed for users A mobile banking application
System Connected software, data, infrastructure and people A university information system

Essential vocabulary

These words will appear throughout the course:

  • Source code: instructions written by people in a programming language and saved in files
  • Runtime: the environment that executes a program and provides what it needs while running
  • Configuration: settings that change how software behaves without changing its main instructions
  • Infrastructure: the computers, networks and services that allow software to operate
  • Interface: the place where a person or another system interacts with software

You do not need to memorize these definitions now. Return to them whenever a term appears later.

Code is only one part

Imagine an attendance application. A button labeled “Absent” is not the whole software.

The system must also know:

  • which teacher is connected
  • which class is active
  • which students belong to it
  • when attendance may be changed
  • where the records are stored
  • who can see or correct them
  • what happens if the network fails

Those rules, data, permissions and operating conditions are part of the software system.

Activity: see the complete system

Choose an application you use. Complete this table on paper:

Question Your answer
Who uses it?
What information enters the system?
What result does it produce?
What information does it store?
What could go wrong?
Who maintains it?

Check your understanding

Statement: “If the code works on the developer’s computer, the software is finished.”

False. The software may still fail for real users because of missing data, unclear rules, security problems, different environments or unavailable infrastructure. Working code is necessary, but it is not enough.

Key idea

Software engineering is the work of understanding a problem and building a complete, reliable system that solves it. Programming is one part of that work.

What you learned

  • A computer transforms inputs into outputs by following instructions.
  • Hardware is physical equipment, while software organizes useful behavior.
  • Code, programs, applications and systems describe different levels of a solution.
  • Working code alone does not guarantee useful or reliable software.

Knowledge check

  1. Is a source-code file already a complete software system?
  2. Name the four elements in the input-processing-output model.
  3. Why does an attendance system need rules in addition to an interface?
  1. No. It becomes part of a system when combined with execution, data, rules, interfaces and operational support.
  2. Input, processing, output and storage.
  3. The interface captures actions, but rules decide who may act, which data is valid and how exceptional cases are handled.

Lesson complete?

Your progress is saved on this device.