Assign meaning to patterns of bits, then flip the problem around and turn those patterns into numbers.
01 · ENCODE not yet
Say you want to store a list of things — dog breeds, groceries, directions a character can move. Pick a category, then drag the bit slider and watch how many things that many bits can hold. Find the smallest number of bits that fits your whole list, then it's your job to decide what each pattern means. Complete all 5 categories to finish this section.
02 · COMPARE not yet
Here are 8 switches — think of them as 8 hash marks. If you just count how many are flipped on, that's one way to use them. Reading the exact same switches as place values is a completely different, far more powerful way to use them.
03 · CONVERT not yet
You just saw place value beat a plain tally — now play with it directly. Every switch is a bit — fully on, or fully off, nothing in between. Set how many bits you have, then flip switches and watch the decimal value update.
04 · SCALE not yet
That efficiency comes from place value, and place value scales in a very specific way: every single bit you add doubles the number of things you can represent.
Each little box is one representable value. Click +1 bit and watch it double, every single time — all the way up to 32 bits.
05 · APPLY not yet
Phone and computer storage only ever comes in specific sizes — 64GB, 128GB, 256GB — because memory chips are built on the exact doubling pattern you just explored. But "GB" doesn't always mean the same number of bytes, which is why a 128GB phone never quite shows 128GB of free space.
While storage capacity has been doubling, the price of each gigabyte has been doing the opposite — cut roughly in half every year or two, for decades. That's the same exponential curve from module 04, just running downhill.
06 · PRACTICE not yet
Binary counting works exactly like decimal counting — when a place fills up, it rolls over and carries into the next place. Uses the bit count set in the Bit Playground above.
Click +1 repeatedly and watch which bit flips each time. Notice how often the rightmost bit changes compared to the leftmost one.
07 · INVESTIGATE not yet
Base 10 has ten digits (0–9) because we happen to have ten fingers. Base 2 has two digits because a bit only has two states. Pick a decimal number and see how it looks written in other bases.
DAY 2 · PRACTICE
Grab your paper flippy-do chart. Below is your own personal set of 24 conversions — half binary → decimal, half decimal → binary, nobody else in the room has the exact same set. Work through them with the chart, type in your answers, then check your work. Your answers are saved automatically, so it's safe to close the tab and come back later. Click "New Set" only if you want a fresh batch of numbers.
DAY 3 · BUILD
Bits can represent anything we assign them to — including letters. Let's invent a code for text from scratch, hit the problem with it ourselves, then see how the real ASCII standard actually solves it.
DAY 3 · SHIFT
Look at the codes you just uncovered: 'A' is 65, and 'a' is 97. Those aren't random — the difference is exactly 32, which in binary is 100000. Flip that single bit and a capital letter becomes lowercase.
DAY 3 · SPELL
Type anything — your name, a word, a short sentence — and watch it turn into ASCII, letter by letter.
DAY 3 · PRACTICE
Here are your words. For every letter, write its 8-bit ASCII binary code — use the reference table below if you need it. Your answers save automatically.
DAY 3 · EXPAND
ASCII works great — if you only ever write in English. It wasn't built to, and it shows. Here's how that problem got fixed.
American and European engineers meet to standardize how computers represent text. They build ASCII around the alphabet they use every day: English. 128 codes cover every English letter, digit, and punctuation mark. Problem solved — or so it seems.
European languages need letters ASCII never planned for — é, ñ, ü, ç. Countries start inventing their own "extended" versions using the unused codes 128–255. But everyone's extension is different: a French computer and a German computer can't agree on what byte 200 means.
Computing explodes across Asia. Japanese, Chinese, and Korean writing systems use thousands of characters — Chinese alone has tens of thousands. A single byte (256 possible values) isn't even close to enough. Japan, China, and Korea each build their own multi-byte encoding systems, all incompatible with each other. Text files start arriving corrupted — garbled nonsense text, later nicknamed "mojibake" — whenever they cross between systems that don't agree on the code.
An international group of companies and engineers proposes Unicode: one single standard, one number for every character in every writing system on Earth — plus math symbols, historic scripts, and eventually thousands of emoji. One code. No more mismatched translations.
Unicode was built to include ASCII exactly as-is — code point U+0041 is capital 'A', just like ASCII's 65. Everything past that is new territory:
A code point like U+1F600 (😀) is way too big to fit in one byte. UTF-8 — the encoding used on most of the web — solves this with a clever trick: the first few bits of the leading byte announce how many bytes the character takes, so a program can tell instantly where one character ends and the next begins.
DAY 4 · LEARN
Everything you've been reading as switches and grids, you can wear. Two bead colors, eight beads, one letter — the exact same ASCII binary from Day 3, just strung on a string instead of drawn on a screen.
'A' is 65 in ASCII, which is 01000001 in 8-bit binary. Read left to right, each digit becomes one bead:
DAY 4 · BUILD
Pick your bead colors, type your name (or anything else), and see exactly which beads you'd need to string for every letter.
CERTIFICATE
Finish every section across all four days for full credit — but you can save a certificate at any point. It'll show exactly what's done and what's still open, no matter which day you're on.