Table of Contents
Understanding Computer Programs
A computer program is a set of precise instructions that a computer can follow to do something.
You can think of it like:
- A recipe the computer follows step by step.
- A to-do list for the computer, written in a language it understands.
- A set of rules that tells the computer how to react to different situations.
Programs can be tiny (a few lines) or huge (millions of lines), but they all have the same basic purpose: to tell the computer exactly what to do.
Programs vs. Apps vs. Scripts
You might hear different words:
- Program – a general term for any set of instructions a computer follows.
- Application (app) – usually a larger, user-facing program (like a web browser, game, or text editor).
- Script – often a smaller program that automates tasks or glues other programs together.
All of these are, at their core, computer programs.
What Does a Program Actually Do?
Most computer programs do some version of the same basic things:
- Receive input
- From the keyboard, mouse, files, the internet, sensors, etc.
- Example: A login form receives your username and password.
- Process data
- Apply rules, calculations, or decisions to the input.
- Example: Check if the password is correct.
- Store or retrieve data
- Save information for later, or load previously saved data.
- Example: Load your saved game, save a document, update a database.
- Produce output
- Show text, images, sound, or send data elsewhere.
- Example: Show “Login successful”, display a web page, play a song.
You can picture it like a simple flow:
$$\text{Input} \rightarrow \text{Processing} \rightarrow \text{Output}$$
Many real programs repeat this cycle over and over.
Programs Are Written in Programming Languages
Computers only understand very simple, low-level instructions (often called machine code). These are hard for humans to read and write, so we use programming languages instead.
A programming language is:
- A formal way of writing instructions for a computer.
- Designed to be readable by humans, but also strict and unambiguous.
Examples: Python, JavaScript, C, Java, etc.
A computer program is the result of writing instructions in one of these languages.
You’ll learn the details of Python itself later; for now, just keep in mind:
- A Python file (like
hello.py) is a program written in the Python language.
How Programs Run
When you write a program, it doesn’t do anything until it is run (or executed). Running a program means:
- The computer reads your instructions, one by one.
- It follows each instruction in order (unless your code tells it to jump, repeat, or choose between paths).
Conceptually:
- You write the program.
- The computer reads and executes it.
- You see the result (output, changed files, etc.).
Behind the scenes, there may be an interpreter (like Python) or a compiler translating your code into something the computer can work with, but the big picture is: your instructions get turned into actions.
Simple Examples of Programs
Here are some different kinds of computer programs you might recognize:
- Calculator app
- Input: numbers and operations (like
2 + 3) - Processing: does the math
- Output:
5 - Music player
- Input: user clicks “play”, chooses a song
- Processing: decodes audio data
- Output: sound through speakers
- Chat application
- Input: text you type
- Processing: sends text over the internet, receives messages from others
- Output: displays messages on the screen
- Small script to rename files
- Input: a folder of files
- Processing: changes names according to rules
- Output: updated file names on your computer
Even though these look very different, they are all computer programs: they receive input, process it, and produce output based on rules written by a programmer.
Programs Follow Rules Exactly
Computers do not “guess” what you meant. A key property of computer programs is that they are:
- Precise – every step must be clearly defined.
- Literal – the computer does exactly what the instructions say, not what you intended.
If instructions are:
- Incomplete – the computer doesn’t know what to do.
- Contradictory – the computer can’t follow them consistently.
- Ambiguous – the computer can’t choose a meaning.
…then the program will fail, crash, or behave unexpectedly.
This is why programming requires careful thinking about the steps and rules you give to the computer.
Where Do Programs Live?
Programs can exist in several forms:
- As files on your computer (like
game.exe,script.py,app.dmg). - As code on a server that runs websites and online services.
- As apps on your phone, tablets, or smart devices.
When you double-click an icon, tap an app, or visit a web page that runs code, you are causing a computer program to run somewhere (on your device, on a remote server, or both).
Why Understanding Programs Matters
Before you start writing code, it helps to be clear about what a program is:
- It’s not “magic” – it’s a sequence of steps.
- It doesn’t think for itself – it follows your instructions.
- If you can describe a task as a clear series of steps, you are already thinking like a programmer.
In the rest of this course, you’ll learn how to use Python to write your own computer programs: small, precise sets of instructions that tell a computer exactly what to do.