As a fun aside to the previous post, there is a story my parents like to tell from my childhood, which generalizes the kind of permissive learning objects learning computers are an instance of. When I was very little, I had a log into which I drove vast numbers of random fasteners – nails and bolts and screws and things of that sort. The log was just a piece of scrap wood, and the fasteners were leftovers and foundlings and other unimportant bits given to me, but it was undoubtedly good for my hand-eye coordination in general and tool use in particular. It also probably contributed to my now fairly developed mechanical intuition. At some point the ridiculous fastener-studded log came to be referred to as “the porcupine,” and for some years it was mined for fasteners whenever something odd was needed, until it began to rust and crumble and was thrown away.
To learn anything well, you need to do the thing repeatedly, you need to experience the variation in the thing, and you need to be free to experiment without worrying about how messing up this thing will affect other things. There is nothing better than a pile of scrap material to learn from.