Thinking in steps, then in code.
Programming languages look very different, but they share a small set of ideas. A program stores values, makes decisions, repeats steps, groups steps into reusable pieces and keeps collections of data. Learn these ideas once and a new language mostly means learning new spelling.
This area explains each idea in plain words with short, language-neutral examples. It also covers the habits that separate working code from broken code: describing a solution as an algorithm, debugging in small steps and writing tests.
Who it helps: Start here if you want to learn to code but do not know what to study first, or if you can copy code and want to understand why it works.