Every program runs on something — and “something” covers an enormous range, from a few dollars of shared web hosting to a chip the size of a fingernail soldered into a sensor. This path is a guided tour of that range. For each kind of hardware a developer is likely to use, you’ll learn what it’s for, the programming languages that run on it, and its honest strengths and drawbacks — then how to weigh all of that to pick the right platform for a project.
Who this is for. Complete newcomers are welcome — no electronics or sysadmin background required. If you already write code, use the module list to jump to the parts you’re missing: servers and hosting, single-board computers, microcontrollers, or the decision framework at the end. Every lesson is self-contained and cross-linked, so you can read straight through or hop around.
How the path works. Seven modules move from foundations to decision. We start with the ideas every later module leans on — what hardware is, the parts inside every computer, and the trade-offs that drive every choice. Then we walk the whole spectrum: servers and hosting, personal computers, mobile devices, single-board computers like the Raspberry Pi, and microcontrollers like the Arduino and ESP32. The final module turns it all into a practical, repeatable way to choose — usually a combination of platforms — for a real project. Examples lean on GopherTrunk, software-defined-radio software that can live on anything from a laptop to a Raspberry Pi by the antenna, so abstract trade-offs stay concrete. Mark lessons complete as you go; your progress is saved in your browser. New here? Start with lesson 1: What is computer hardware?