Using computers to present flash cards of math/reading problems and standardized assessment are incredibly common, yet awful ways to use a computer in education. Learning by experience with the topics is far superior. Let them play, provide feedback loops, and encourage "debugging."
"Debugging" (troubleshooting) is a critical thinking skill which is practically ignored by society.
"Externalizing" something you are doing on the computer is a valuable way to "debug" and/or "design" things within the computer ("playing Turtle" is an example from this book).
For example, when kids associate "the turtle" (on the screen) to their own physical body instead of a digital cursor makes it easier for them to "act out" what "the turtle needs to do," as if they were the turtle.
The language you use when interacting with a computer is important to how you think about and approach concepts. This is an important thing to consider when developing something for children to interface with, particularly when in the nascent stages of learning a concept. Limit syntax as much as possible without reducing the depth of what is possible.
For example, you can start a person off in the LOGO environment basically saying that "The turtle understands 3 commands: forward, left, right. But, you can teach him new commands if you like"...which takes us to...
Abstraction is a critical thinking skill.
Learning to take a set of complex tasks and wrap them in a higher-level concept that is easy to understand and re-use is invaluable in both computing and in problem-solving in general. This is a concept you naturally develop when programming, and one which is hard to learn "naturally" in many other settings.
An example of this would be taking the idea of "going forward some number of steps, then turning right 90-degrees...and repeating that four times to make a square" and wrapping it up in a new "command" (function) named "square" which takes an argument of how many steps forward to "walk" (ie: "square 20"). When this happens, the person no longer thinks about the "implementation details" of a square unless they find a bug later. Instead, they think only of a square and how large it should be. If they need to refresh their memory or fix a bug they have found in their implementation, this is easy: they refer to the "square" command they defined and fix it there. This is what Bret Victor refers to as "moving up and down the ladder of abstraction."
Papert disagreed with the details of Piaget's definitions of these two stages of cognitive development, but not to a degree he wished to point out at great lengths. However, he felt the computer was capable of "concretizing" cognitive skills which were traditionally thought to be only possible when an individual was in the "formal" stage of cognitive development. He gives two examples of situations he felt proved his point in the book: combinatorial thinking (figuring out possible states in a system) and self-referential thinking (thinking about thinking itself). Often in the book Papert refers to "turning children into epistemologists." Doing so seemed to be something he considered an ideal, and something the computer could absolutely have an influence on.
Imprecise models are important in learning.
Although we tend to shy away from "inaccurate models" of new concepts, they are actually critically important to the learning process.
An example of how this happens naturally is how children learn to speak: they get it wrong over and over, saying partial words only their parents understand. They realize it isn't quite right when other people do not understand them, and they keep refining how they speak until the message is consistently understood. In this process we praise and encourage improperly pronunciated "dads" and "moms" (and every other word), yet we seem to forget this approach when a child is learning more "serious" topics such as math or physics.