What coding is and how software works

  • 8 min read
  • Free preview

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

  1. A programmer writes source code in a programming language, such as Python, JavaScript or Java.
  2. A program called an interpreter or compiler turns that code into instructions the computer's processor can run.
  3. 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