What coding is and how software works
By the end of this lesson
Explain what code is, how software runs, and what a programmer actually does.
Last reviewed: October 3, 2026 General information, not legal or tax advice.
Every app on your phone, every website and every till at a supermarket runs on code: instructions written by people, in a language a computer can follow. Coding is not magic or genius. It is writing very clear, very precise instructions, then testing and fixing them until they work.
A program is a recipe
Think of a recipe for vetkoek: ingredients, then steps in order, with decisions ("if the oil is not hot enough, wait") and repetition ("fry each one until golden"). A program has the same parts:
- Data: the ingredients. Numbers, words, lists, prices, names.
- Steps: instructions carried out in order.
- Decisions: "if this, do that".
- Repetition: "do this for every item".
The difference is that a computer follows the recipe exactly as written. It never guesses what you meant, so the instructions must be precise.
How software runs
- A programmer writes source code in a programming language, such as Python, JavaScript or Java.
- A program called an interpreter or compiler turns that code into instructions the computer's processor can run.
- The program takes input (a tap, a typed price, a file), processes it, and produces output (a total on screen, a message, a saved file).
The languages in this course
- Python (lessons 3 to 7 and 9): a clear, readable language used for automation, data, websites and AI. A good first language.
- HTML and CSS (lesson 8): the languages of web pages. HTML describes the content; CSS describes how it looks.
What programmers really do
Most of a programmer's day is not typing new code. It is:
- understanding the problem and the people who have it,
- breaking it into small steps,
- reading and fixing existing code (debugging),
- testing that it works for normal and unusual inputs,
- searching documentation and asking for help.
Making mistakes is normal. Error messages are clues, not failures.
Here is a first taste
This is a complete Python program. You will run one like it in the next lesson.
name = "Thandi"
print("Sawubona, " + name + "!")
It stores the word "Thandi" in a variable called name, then prints a greeting. Change the name, run it again, and the output changes. That is the core idea of programming.
A South African example
Sello works at a hardware store in Thohoyandou. Every Friday he spent two hours adding up sales from a spreadsheet export by hand. After learning basic Python, he wrote a 15-line program that reads the file, adds the sales per product and prints the top ten. The two-hour job now takes ten seconds, and he spends the time on customers instead.
Do it now
Pick one repetitive task in your work or business. Write it as a recipe: the data it uses, the steps in order, any decisions ("if…"), and anything repeated ("for every…").
Track your progress
Log in or create a free account to take the knowledge check and save your progress.
Log in