Something needs solving.
Count supplies, automate a calculation, or send a signal. The story gives an abstract concept a concrete purpose.
Someone needed to count. Someone wanted a machine to remember. Someone needed to send a message.
CodeStory turns those needs into stories you can step inside — and experiments that help the ideas click.
A short interactive preview. No signup needed.
A definition tells you what a bit is. A problem gives you a reason to invent one.
You arrive on an island. Inside an abandoned workshop, you find a damaged radio and a notebook full of unfinished ideas. To ask for help, you will need to understand the tools around you.
The first question is simple: how could these switches record your supplies? Later, the questions grow. How could a circuit add? How could a machine remember? How could a message travel beyond the shore?
Each discovery becomes a tool for the next problem. You learn the name of an idea after you have a reason to care about it.
Understanding grows when you can connect an idea to a purpose, test it yourself, and see where it leads.
Count supplies, automate a calculation, or send a signal. The story gives an abstract concept a concrete purpose.
Flip a switch. Test a prediction. Watch the result. Build your understanding by doing something with the idea.
Each chapter builds on what you discovered, connecting small concepts into an understanding of computing.
The radio is silent. A note on the desk reads: “Start small. A machine can only work with the distinctions you give it.” Your first three discoveries begin here.
You find a battery, a lamp, and a switch already wired together. Close the switch. For the first time, something in the workshop responds.
Your task: turn on the lamp.
A switch gives us two distinguishable states. We can agree to call off “0” and on “1”. That is enough to represent one bit of information.
The circuit is open. The lamp is off.
There are five battery cells on the shelf. You want a panel of switches to record how many you have. One switch has only two states. What could four switches do?
Give the positions values of 8, 4, 2, and 1. A position contributes its value when its switch is on. Add the contributions to read the number.
Your task: represent five battery cells.
Five is four plus one. Turn on those two positions and leave the others off.
0000 in binary. Every position is off.
You find a ready-made logic board labelled “half adder”. It adds two one-bit inputs. Test it with one battery arriving from each of two supply boxes.
With one input on, the sum bit is 1. With both on, the answer is two. Binary writes two as 10: a carry worth 2 and a sum bit worth 1.
Your task: turn on both inputs to discover the carry.
Set A and B to 1. The sum bit turns off and the carry turns on. Read the output as carry followed by sum: 10.
0 + 0 = 0. Try changing an input.
You represented a state, encoded a number, and explored a circuit that adds.
A half adder uses XOR logic for the sum bit: it is on when exactly one input is on. It uses AND logic for the carry: it is on when both inputs are on.
Combining logic circuits lets us build more capable arithmetic systems. There is still a long journey from this desk to a programmable computer — and from a computer to a working radio.
That journey is the idea behind CodeStory. Every chapter leaves you with a new tool and a new question.
This preview uses simplified simulations and prebuilt components. The island is a fictional learning setting, not a reconstruction of computing history. The full platform is in development.
The island is one way in. We also want to follow the real motivations behind computing: calculating reliably, automating instructions, storing information, and sharing it over distance.
Numbers, bits, and logic. How can physical states stand for an idea?
Memory and stored information. How can a machine hold something for later?
Algorithms and instructions. How do simple steps produce useful behavior?
Networks and communication. How do machines exchange a message?
Zoheyeb · Founder
I graduated in computer science, but I still struggled to understand what it all really meant. Learning became urgent when I needed it for my job.
Harvard’s CS50, taught by David J. Malan, and other thoughtful courses helped the ideas click. That experience changed how I thought about education. The way an idea is introduced can make all the difference.
I bought codestory.in because I wanted to explore a different beginning: a story that makes you curious, a problem that makes a concept useful, and an experiment that lets you discover it yourself.
CodeStory is an early-stage project growing from that belief. This preview is a first step toward a more connected, interactive way to learn computer science from the ground up.
If you have ever memorized a concept without understanding it, I would love to hear your story. Learners, educators, and potential collaborators are welcome.
Write to Zoheyeb ↗