philosophy

a few principles, fixed before any exercise was written. they account for most of the decisions made everywhere else.

in command of what you know

at any moment the machine is exactly the set of commands you've learned. it is your own universe, and you discover it at your own pace.

you can only experiment freely if you can't break it

whatever you type, turning the machine off and on brings back a known starting state. being certain that nothing can break is what makes fearless experimentation possible.

it must feel like the real thing

a plastic screwdriver is an insult. if the tools that draw a shape are visibly not the tools that could build a game, you feel the condescension. compy gives real tools.

what matters is the observable world

there's no need to expose the lowest layer — how machine code runs, say. what matters is that you feel in control at the layer you're working in. a virtual machine built in layers on top of an operating system is fine, as long as that holds.

neurodivergence is the norm, not the exception

designed for a range of minds from the start, not bolted on afterwards. hence: few lines and columns, no scrolling, every program small enough to fit one screen — functions capped at about fourteen lines. limits like these tend to help everyone. the palette can be toned down too, for anyone bothered by bright colors.

more than one way in

nothing rests on a single sense or a single pass. an idea is shown on the screen, said aloud, and put in your hands as a real object — then it comes back later from a different angle. miss it one way, and you meet it another.

play is the activity, not an addition

we learn by playing. the whole thing is meant to feel like play, where solving an exercise is as much an act of making as drawing with a crayon — never a sweetener bolted onto a lesson.

integrative, not siloed

math, science, programming and robotics aren't held apart, because they aren't separable. how a number relates to a length, or to a span of time, is as much physics as it is math. what you learn in one, you put straight to use in the next.

round and round, deeper each time

ideas come back from the beginning, a little deeper on each pass. almost nothing is learned in one go — the good things are learned in circles. nobody is left behind by slowing down; they're caught by coming round again.

all of it is open source — github.com/compy-toys.