I went home from school every day seeing an application in my own projects for everything I learnt, from mathematics to history, because I could include it in my software projects, or table top related games, so the text reminded me of teenager's typical complaints regarding learning mathematics.
Kids say that they don't need mathematics because it has no application in the real world, but if kids were qualified to make that comment, then they should be out working from a very young age, to gain real world experience.
"5 + X = 8" represents abstract thought, which kids find challenging, and teenagers don't like to be challenged, whereas, when kids start to read and write, they love being challenged, and yet, they comfortably learn a tool which also represents abstract thought.
I think teenagers are just learning to be sufficiently lazy and pragmatic, but that they aren't qualified to know how to stretch their brains in the long term.
My mom would take me to visit her parents, which (once the sun went down and I couldn't run around outside) was very boring. I didn't have my huge lego collection from home, but they did have a small collection from when their kids were younger.
No hinges, no spinners, no windows - basically nothing special, just bricks and long-thin-flat pieces. (I don't know the terms).
boring, boring, boring...until I discovered that you could take a thin piece and connect one dot from above and below to other pieces( "-=" ), and that piece was now free to swivel. If the two pieces you used were also long thin pieces, you could connect the other end to a single dot of a fourth piece, and you now had a double joint. ( "-=-" )
I built many "robots" top play with like this, that were basically 90 degrees from normal (the "top" of the legos would be the "front" of the robot.
I played with Legos for years in a variety of ways, but this was one of the few where I "discovered" something. Other times I learned to alter direction of the build by containing a length of joints inside a "tunnel" of bricks, so that the plane of the joints would be at 90 degrees to the plane of the bricks (the "top" of the bricks could be the "top" of the figure, while the "top" of the joints would be the "front" of the figure, or vice-versa). This allowed me to build humanoid figures with knees that faced forward but arms that bent outward or over the "chest", or scorpion-like figures with claws that closed side-to-side but legs that extended out to the sides and moved up-down.
Later I expanded the collection with more special pieces that allowed me to put such joints on hinges or spinners, but I honestly believe I'd never have gotten there if I hadn't been bored with no other options. I'm POSITIVE others knew these tricks, but I never encountered it in any of their materials and I didn't have friends to tell me.
I was excited about mindstorms, but as they became more advanced when I was just out of college and busy learning how to handle a marriage and a career I never got into them, and I wonder if they encourage their own sort of discovery like that, or if it's too specific.
The analogy would be following the Lego set instructions vs. self-directed free play with a few limited pieces is like traditional math class vs. learning math via playing with the Logo turtle.
Also the “Lego Mindstorms” product was a collaborative effort with the MIT media lab, and is named after Papert’s book.
That opens up tons of interesting possibilities. Goes to show you what a kid can think of when they want to have some fun.
> busy learning how to handle a marriage and a career I never got into them
Well, I hope your kids get a chance to do that, you may live vicariously through them.
A great quote from the foreword: "Slowly I began to formulate what I still consider the fundamental fact about learning: Anything is easy if you can assimilate it to your collection of models. If you can't, anything can be painfully difficult."
Seems reasonable enough. So what went wrong to the point that today, primary advice to parents wanting to encourage growth in their kids is to remove the computer completely?
This also is connected in my mind to the period where learning to program was connected to basic literacy but now just avoiding the computer until one is old enough to handle it is closer to a road to basic literacy.
Is there a different way we can take this.
When I was a kid and I spent hours on the computer, none of that stuff existed, and it was difficult _not_ to learn interesting things because the primitive nature of the computers forced me to figure out a lot of non-obvious things. I wanted to play computer games too, but sometimes I had to figure out pretty advanced troubleshooting processes to even launch a game (for example).
Hell, even moving foward - in the 90s using DOS - you had to be somewhat computer literate to get anything to run well (esp games those days which bundled their own hw drivers, etc). HIMEM.SYS, different system boot files per application, etc.
In some ways things are much better now... in some ways they are far far inferior.
This mini-dichotomy reminds me of Rich Hickey's "Simple and Easy" talk.
Much in favor of more Alan Kay, Bret Victor, Doug Engelbart type ideas coming to market as opposed to being "locked" (somewhat) in academia.
- string formatting (outputting song lyrics that contain predictable patterns, usually kids songs)
- calculating simple math problems like restaurant tip split between friends, or final % abv of a mixed drink of two liquids with different volumes and different %abv
- using randomness to generate simple things like images or natural language based on a variety of inputs
- producing sound via web audio APIs and reaffirming music theory (notes, harmony, scales, musical instruments like theremin and piano)
- creating very basic games with a simple event loop
- creating very basic turn-based games like hangman
- recreating a number of dead-simple mobile apps: reminder list, memo pad, clock, etc
As I learned to program, I basically went through each aspect of education I had learned as a child and teenager and not only reaffirmed and brushed up what I thought I knew, codifying it into executable code I could demonstrate and show to others - but I expanded what I knew by harnessing language + math together in an interactive environment.
Personally, I see the computer as an AMAZING tool for thinking, but that's only if you're the one writing the software.
Computers for kids are as good an idea as literacy, and numeracy - it's like the next level of literacy where your thoughts come alive.
However, just like how literacy is a huge benefit to any child, reading trash literature is bad.
I think we need to stop lumping all computer use into one category. Perhaps there's little benefit to some uses of a computer, like using software written by others, or using it for little more than a television set…but computers as a tool for mind-expansion are unbeatable with any other tool we have.
We need to teach kids how to be COMPUTER users, not SOFTWARE users. It's when you are the person writing the software that you're fully using the power of the machine.
Papert, Kay, etc, are all world-class smart, capable, and inventive people. They designed these systems in their own image, probably with a more or less conscious desire to build something they would have wanted in their own childhoods.
An average human with average abilities doesn't have the cognitive horsepower or the creativity to get much from these systems. They can play with them in a fairly superficial way, but only a relatively small proportion - I'd guess less than 25% - will get excited by the ability to imagine and build their own systems.
Without that excitement there's no motivation, and without the motivation any kind of programming becomes an exercise in pointlessness.
So - you can move a pointer around and draw lines? By typing words? Cute. But so what? Why should I care?
The real challenge - much harder than designing computer software - is working out political and educational strategies that reach the (nominal) 75% who don't find that kind of problem solving particularly interesting.
I've literally just been reading Kay's mini-book on the history of Smalltalk. Here's a quote on literacy:
"Literacy, for example, is being able to fluently read and follow the 50 page argument in Paine's Common Sense and being able (and happy) to fluently write a critique or defense of it. Another kind of 20th century literacy is being able to hear about a new fatal contagious incurable disease and instantly know that a disastrous exponential relationship holds and early action is of the highest priority. Another kind of literacy would take citizens to their personal computers where they can fluently and without pain build a systems simulation of the disease to use as a comparison against further information."
This sounds perfect, but I think the experience of almost everyone who has been to school knows that a fair proportion of their age cohort not only can't think at this level, but has absolutely no interest in being able to.
You might - possibly - be able to do something about this with a historically unique social engineering program supported by a media campaign that made abstract skills appear desirable and heroic. (A version of this happened during the Cold War, kind of.) But even then, it's not obvious from history just how far you could take that.
Either way, technology on its own is never going to be a solution. It may support policy, but it's never going to be powerful enough to enlighten the surrounding culture.
What actually happens is that economic and political pressures steer technology towards offering simple - often poor, but understandable - solutions to common problems. Worse wins out over better, and over time the possibilities shrink instead of expanding.
But one of Kay's central arguments is that literacy (meaning reading/writing media, especially print) did precisely what you are saying isn't possible. If computing is such a medium, we can't even imagine what kinds of enlightenment will be possible -- the same way oral cultures cannot imagine the ways of thinking of literate cultures.
Papert would intentionally pick the worst-performing students in a regular school, put them in his "Papertian" math class (i.e. LOGO playground with very little teacher time), and see them perform on-par or better than the top students by the end of the year.
It's all in the book. Please read the book.
The point about literacy to begin with offering this kind of leap is important.
But another thing about systems is that, designed by smart or by mediocre men, they have the problem that their difficulty increases much more rapidly with their size than does that of, say, a novel.
A literate world could exchange one essay for another. A computer programmer couldn't as easily write a rejoinder for a given system without writing much than is involved with the original system (that sounds clunky but you have to admit code-size growth is whole different situation than the grow of books).
Disheartening but true.
Turtle graphics is one Microworld, specifically based around geometry. Hence its relatively novel use of angles and lengths instead of coordinates.
Each world gives people something to explore. That they do it programmatically is interesting, and allows for different kinds of exploration, but it's the world they are exploring, not the code.
Mindstorms hints at the idea that there should be many such microworlds. Maybe they all use Logo, or maybe not.
What didn't happen is all those other Microworlds. But some have happened: Processing (https://processing.org/) is one example. And I think it's notable that "Processing", the graphical approach, is treated separately from any particular language implementation; Processing.js is another valid implementation of the same microworld.
But there could be many more! And I think it's much more interesting than yet another puzzle-based block programming language to teach coding.
1. Choose Your Own Adventure approaches to nonlinear fiction, which starts without any programming but easily opens up into all sorts of other complexity. (http://twinery.org/ is an example implementation)
2. Music generation. (e.g., http://foxdot.org/)
3. Lots of procedural generation, really. Something as simple as cartoon face generation could be interesting. But starting with primitives (like in https://happycoding.io/examples/processing/creating-variable...) hides the fun and interesting part behind graphics coding.
4. Eliza, in her original implementation, is like a very simple programming language for interaction.
5. Quiz generation. Writing a program that creates a math worksheet seems dumb, but I think a lot of kids would find it both interesting and satisfying.
6. Agent simulation (ala https://ccl.northwestern.edu/netlogo/docs/)
Of course all these things exist, but they often aren't matched up with an appropriate introduction and a humane programming environment designed to actually work for children. Working towards that – and doing so with a love not just for programming, but for the concrete (if simulated) worlds you are opening up through programming – could lead to something much more interesting than a lot of current technology-based education.
For example I like LiveCodeLab a lot, and it’s also a fun tool to intro total beginners to the pleasure of programming (“write and something happens”). It has very few primitives, but you can build some very interesting live visuals, and the language is build on interesting choices driven by its live nature 
Another great combined tool is OpenSCAD . It’s really a computational tool to explore solid, printable objects, and thus seems to fit the microworld category.
A weird, niche one is Context Free, that didn’t grow like Processing but has it’s own advantages and particularity (like how randomness is managed)