Tech 101: The Visual Cheat Sheet Guide to Hardware, Software, and the Web
Eighteen single-page cheat sheets, each a standalone map for one topic. Every sheet follows the same anatomy: a core concept in one sentence, a defining diagram, plain-English vocabulary, exactly what to type, and the classic beginner mistakes. Flip straight to what you need — no cramming required.
The physical parts of a computer, and what each one actually does.
Exploded view: every component connects through the motherboard.
Vocabulary
CPU (Processor) — the chip that executes instructions; every calculation your computer does happens here.
RAM (Memory) — fast, temporary workspace. Wiped clean when the power goes off.
Motherboard — the main circuit board that connects every component together.
SSD / HDD (Storage) — permanent storage for files and programs. Survives power-off.
GPU (Graphics) — a specialist chip for drawing pixels and doing many small calculations at once.
Rule of Thumb
No commands on this sheet — just remember the metaphor:
RAM = your desk (fast, small, cleared every night). SSD = your filing cabinet (slower, huge, permanent). CPU = you, doing the work. GPU = a hundred interns doing tiny tasks in parallel.
The core software that manages the hardware and provides services to every app you run.
Hardware → Kernel → OS → User Applications. Apps never touch hardware directly.
Vocabulary
Operating System (OS) — the manager software that runs everything else: Windows, macOS, or Linux.
Kernel — the innermost core of the OS. Talks directly to hardware and shares it out fairly.
Process Management — the OS juggling dozens of running programs so each gets a turn on the CPU.
UI / GUI — the visual layer (windows, icons, cursor). Just one part of the OS, not the whole thing.
The Big Three
Windows — most common on desktops; software runs everywhere. macOS — Apple hardware only; Unix underneath, which developers like. Linux — free and open source; runs most of the world's servers.
All three do the same core job: manage hardware, run processes, organize files.
Common Mistakes
Thinking the OS is the visual interface. The desktop is the skin — the OS is the manager of all hardware resources.
Believing an app "crashed the computer." Usually the OS killed the app to protect everything else.
Assuming software written for one OS runs on another — programs are built per-OS unless designed otherwise.
How data is organized on a drive, and how to write an address that points to any file.
Everything hangs off the root. A path is just directions through the tree.
Vocabulary
Directory — a folder. A container that holds files and other directories.
Root — the very top of the tree: / on macOS/Linux, C:\ on Windows.
Absolute Path — full directions from the root: /home/ada/notes.txt. Works from anywhere.
Relative Path — directions from where you are now: ./notes.txt or ../other/file.txt.
File Extension — the suffix (.txt, .py, .html) that hints at what's inside.
Path Shorthand
# the special path symbols
/ # root of the whole drive
~ # your home directory
. # the directory you are in now
.. # one directory up
./x # x, inside the current dir
../x # x, in the parent dir
Common Mistakes
Using spaces in file names — my file.txt breaks commands. Use my-file.txt or my_file.txt.
Mixing up relative (./folder) and absolute (/usr/folder) paths — the leading / changes everything.
Forgetting that macOS/Linux paths are case-sensitive: Notes.txt and notes.txt are different files.
Navigating and controlling your computer purely through text commands.
Anatomy of a terminal: prompt → command → flags/arguments → output.
Vocabulary
Terminal — the window/app where you type commands.
CLI — Command Line Interface: controlling the computer with text instead of clicks.
Prompt — the text (often ending in $ or %) that means "type your next command."
Flags / Arguments — extras after a command: flags change behavior (-la), arguments say what to act on (cd projects).
Commands
pwd # where am I?
ls # list files here
cd projects # move into a folder
cd .. # move up one level
mkdir site # make a new folder
cp a.txt b.txt # copy a file
rm old.txt # delete — permanently!
Common Mistakes
rm deletes permanently — there is no recycle bin on the command line.
Typing paths with the wrong case on Linux/macOS — the shell is case-sensitive.
Panicking at a blank screen. No output after a command usually means success.
Dedicated computers that hold files and hand them to any client that asks.
Client asks, server answers. That's the whole web in one picture.
Vocabulary
Server — a computer whose job is to answer requests. Physical, not magical.
Client — any device asking for something: your browser, your phone, another server.
Web Host — a company that rents you space on their servers so your site is always online.
Port — a numbered door on a server: 80 for HTTP, 443 for HTTPS, 22 for SSH.
Localhost — your own machine acting as a server, reachable at 127.0.0.1.
Hosting Flavors
Static hosting# pre-made files served as-is# (GitHub Pages, Netlify, Vercel)Dynamic hosting# a program builds each response# (Railway, a VPS, the cloud)
python3 -m http.server 8000
# your laptop is now a web server# visit http://localhost:8000
Common Mistakes
Thinking servers are magical clouds — they're physical computers sitting in racks in a data center.
Sharing a localhost link with a friend. Localhost means your machine; it only works for you.
Forgetting the port — if a server listens on 8000, plain http://localhost won't reach it.
The building blocks used to write instructions in any programming language.
Python
def greet(name):
if len(name) > 0:
return"Hi, " + name
return"Hi, stranger"for n in ["Ada", "Lin"]:
print(greet(n))
JavaScript
function greet(name) {
if (name.length > 0) {
return"Hi, " + name;
}
return"Hi, stranger";
}
for (const n of ["Ada", "Lin"]) {
console.log(greet(n));
}
Same logic, two languages. The ideas transfer; only the punctuation changes.
Vocabulary
Variable — a named box that holds a value: score = 10.
Function — a reusable, named block of instructions you can call with inputs.
Loop — "repeat this block" — for each item, or while a condition holds.
Conditional (if/else) — "do this only when that is true; otherwise do something else."
Syntax — the grammar rules of the language. Break them and the code won't even start.
The Universal Pattern
if (x > 5) { doSomething(); }
# every language has some form of:# store data → variables# make decisions → if / else# repeat work → loops# name and reuse → functions
Common Mistakes
Syntax errors: a missing semicolon, quote, bracket, or (in Python) wrong indentation stops everything.
Infinite loops — a while whose condition never becomes false runs forever.
Confusing = (assign a value) with == (compare two values).
The specialized software developers use to write, inspect, and fix code.
One window, three panels: files on the left, code in the middle, terminal below.
Vocabulary
IDE — Integrated Development Environment (like VS Code): editor + terminal + debugger in one app.
Text Editor — a plain-text writing tool. Code must be plain text — no fonts, no formatting.
Debugger — a tool that pauses your program mid-run so you can inspect variables line by line.
Syntax Highlighting — coloring code by meaning so mistakes jump out visually.
Starter Kit
Editor: VS Code (free, everywhere). Extensions: add language support, linters, and themes from the built-in marketplace. Terminal: use the one inside the IDE — same folder as your code. Try one online first: the Hi Bot editor runs in your browser, nothing to install.
Common Mistakes
Writing code in rich-text editors like MS Word — smart quotes and hidden formatting break code.
Forgetting to save the file before running it — you keep running the old version.
Debugging with a wall of print statements when the debugger could show you everything in one pause.
The split between what users see and the server-side logic that makes it work.
Frontend = dining room and menu. Backend = kitchen and pantry.
Vocabulary
Frontend — everything rendered in the user's browser: layout, styling, interactivity.
Backend — the code running on servers: business logic, databases, authentication.
Full-Stack — a developer (or app) that spans both sides.
Client-Side — code that executes on the visitor's device.
Server-Side — code that executes on the server before a response is sent.
Who Does What
Frontend
HTML # structure (the skeleton)
CSS # style (the outfit)
JS # behavior (the muscles)Backend
Python/Node # the logic
Database # the memory
Server # the venue
Common Mistakes
Calling HTML and CSS "programming languages" — they're markup and styling languages (no logic, no loops).
Putting secrets (API keys, passwords) in frontend code — anyone can read client-side source.
Trusting client-side validation alone — the backend must re-check everything users send.
The rules and endpoints that let different software systems talk to each other.
One app asks an endpoint a question; the other answers with a JSON package.
Vocabulary
API — a published contract for how one program can ask another for things.
Endpoint — one specific URL you can call, like /v1/weather.
JSON — the standard package format: readable text of keys and values.
REST — the most common API style: URLs name things, HTTP methods say what to do to them.
HTTP Methods — GET read · POST create · PUT update · DELETE remove.
Code
// call an API from JavaScript
fetch('https://api.example.com/data')
.then(r => r.json())
.then(data => console.log(data))
.catch(err => showError(err));
# or from the command line
curl https://api.example.com/data
Common Mistakes
Not handling failures — networks are slow and flaky; code must plan for errors and timeouts.
Ignoring status codes: 200 OK, 404 not found, 500 server error — they tell you what went wrong.
Putting an API key in frontend code where anyone can copy it.
Working on several features at once without breaking the main project.
A branch splits off, collects commits, and merges back — like a subway line rejoining the trunk.
Vocabulary
Branch — a parallel line of development; changes there don't touch anything else.
Main / Master — the trunk line: the version that should always work.
Merge — folding one branch's commits into another.
Merge Conflict — two branches edited the same lines; Git asks a human to choose.
Commands
git branch feature/login # create
git checkout feature/login # switch to it# ...commit your work...
git checkout main # back to trunk
git merge feature/login # fold it in
Common Mistakes
Working directly on main instead of a feature branch — one bad commit breaks everyone.
Fearing merge conflicts — they're normal. Git marks the disputed lines; you pick, save, commit.
Letting a branch live for weeks — the longer it drifts from main, the uglier the merge.
Syncing your local Git history to the cloud so a team can build together.
Push your commits up; teammates pull them down. GitHub is the meeting point.
Vocabulary
Remote — a copy of the repo hosted elsewhere (usually GitHub), nicknamed origin.
Clone — download a full copy of a remote repo, history and all.
Push / Pull — send your commits up / fetch everyone else's down.
Pull Request (PR) — "please review and merge my branch" — where code review happens.
Fork — your own copy of someone else's repo, to change freely.
Commands
git clone https://github.com/user/repo.git
git pull # get latest first
git push origin main # share your commits# then open a Pull Request on github.com
Common Mistakes
Confusing Git (the local engine on your machine) with GitHub (the cloud hosting platform).
Pushing without pulling first — if the remote moved on, your push is rejected.
Committing secrets (API keys, passwords) — once pushed, treat them as leaked and rotate them.
The structured phases of planning, building, and maintaining software — forever.
Not a line — a loop. Shipping isn't the end; it's the start of the next lap.
Vocabulary
SDLC — the six-phase cycle: plan → design → develop → test → deploy → maintain.
Agile — working in short loops (sprints), shipping small pieces and adjusting.
Waterfall — the older style: finish each phase completely before the next begins.
Sprint — one short Agile cycle, usually 1–2 weeks.
Requirements — the agreed list of what the software must do, written before building.
What Each Phase Asks
Plan — what problem, for whom, why? Design — what will it look like and how will it be structured? Develop — write the code. Test — does it actually work? Deploy — put it in front of real users. Maintain — fix, improve, repeat.
Common Mistakes
Skipping planning and design and jumping straight into code — you build the wrong thing faster.
Treating "deployed" as "done" — maintenance is most of a real product's life.
Testing only at the very end, when bugs are the most expensive to fix.
Renting computing power and infrastructure over the internet instead of owning it.
The higher up the pyramid, the more the provider manages for you.
Vocabulary
Cloud — someone else's data center, rented by the minute over the internet.
IaaS — Infrastructure as a Service: raw virtual machines; you install and manage everything.
PaaS — Platform as a Service: you push code; the platform handles servers, scaling, and TLS.
SaaS — Software as a Service: finished apps you just use in the browser.
Scaling — adding capacity when traffic grows: a bigger machine (up) or more machines (out).
The Pizza Analogy
On-premises — make pizza at home from scratch. IaaS — rent a kitchen; you still cook. PaaS — delivery; you just pick toppings (your code). SaaS — eat at the restaurant.
Big three providers: AWS, Google Cloud, Azure.
Common Mistakes
Leaving cloud resources running unnecessarily and receiving a massive bill — always shut down what you're not using.
Choosing IaaS for a hobby project when a PaaS free tier does the job with zero server management.
Assuming the cloud provider handles your security and backups — responsibility is shared, and your data is your job.
Want to go deeper on any of these? The Learn path turns these maps into hands-on projects, the Glossary defines every term, and the Editor lets you try the code right in your browser.