foundations

The First Ten Concepts Every Beginner Meets

Almost every first programming course, in any language, walks through the same handful of ideas. Knowing the map in advance makes each lesson less surprising.

Why the list matters more than the language

People spend weeks choosing a first language and very little time looking at what they will actually be asked to learn. The truth is that the opening chapters of nearly every beginner course cover the same ground. If you recognise the ideas below, switching languages later is mostly a matter of new spelling.

The ten

  1. Values and types. Numbers, text and true/false values behave differently. Adding two numbers and joining two pieces of text may use the same symbol and produce very different results.
  2. Variables. A variable is a named storage location that holds a value. The name lets you refer to the value later without repeating it.
  3. Expressions. Small combinations of values and operators that the computer evaluates down to a single value.
  4. Conditionals. "If this is true, do that; otherwise do something else." This is the first form of control flow, the order in which statements are executed.
  5. Loops. Repeating a block of code, either a set number of times or until a condition changes.
  6. Functions. A named, reusable block that takes inputs and usually hands back a result.
  7. Collections. Lists, arrays, dictionaries or maps: ways to hold many values under one name.
  8. Input and output. Reading from a keyboard or file, and printing or saving a result.
  9. Errors. What the language does when something goes wrong, and how to read the message it gives you.
  10. Importing other people's code. Libraries and modules, so you are not writing everything from nothing.

How to use the map

Before starting a course, skim its table of contents and tick off which of the ten each chapter covers. Two useful things happen. First, you notice when a course skips something, most often error handling, and can fill the gap elsewhere. Second, you stop treating each chapter as an isolated trick and start seeing how they stack: loops need conditionals, functions need variables, collections need loops to be useful.

A small self-test

After each concept, close the tutorial and write three lines from memory that use it. Not the tutorial's example; your own. A shopping total for variables, a countdown for loops, a greeting that changes with the hour for conditionals. If you cannot write three lines without peeking, you have read about the concept but not learned it yet. That is normal, and it is much cheaper to find out now than four chapters later.

What is deliberately not on the list

Classes and objects, recursion, asynchronous code, frameworks and databases all matter. They are also all built from the ten ideas above. Beginners who jump to a web framework in the first week usually end up copying code they cannot change. There is no shame in a slow start: a learner who is solid on functions and collections will move through the later material faster than one who rushed past them.

A practical rule: if you can explain a concept aloud to someone who does not program, using an everyday example, you are ready for the next one.

// revised 2026-11-12 by Ilya Kessler