This reading was interesting, because to me it brought up the difference between programmers, and non-programmers. It seems to me that people who are programmers, computer scientists, or people who are just knowledgeable computers have accepted certain limitations of computers, and choose, perhaps subconsciously, not to challenge them. One problem with programming languages, which was mentioned in the article, is their degree of linearity. Simple tasks can be difficult to achieve in an iterative language. For example, how to you make a program think about two things at once? It is no easy feat - you have to have threads, or fork processes, and then resynchronize them into one process again. But this seems like something that a computer should be able to do, and do easily, right? My point is that non-programmers seem to say, 'Well we will just have the cricket solve this problem, and this one at the same time', while the programmer will say, 'That won't work, the cricket would have to solve two things at once.' The programmer would say this because they have preconceived notions about the difficulty of the task. So this creates a situation which is surprising: the programmer, who you would think would champion the ability of computers to solve problems, acts as if the computer is more constrained than the non-programmer does. So perhaps it is good to have non-programmers on a programming team, because of their ability to 'think outside the box.'
The comment Resnick makes about Rocky's Boots and Robot Odyssey struck home for me. I remember using both of these programs as an elementary school student. They allowed me to begin to learn about logic circuits early in my life. This skill probably helped me when I moved into computer programming. One of the goals of both of these programs was to "go inside" a robot and wire up the sensors to the motor ports to make the robot accomplish the particular goal of the room. You could even take circuits that you had constructed that worked well for certain tasks to the "chip making" room where you could burn them into a single IC to make them easy to incorporate into later Robot circuits. I think that at the age for which the game was targeted (or at least the age at which I used the game), however, much of the cleverness of this design was lost. It was fun to just put things together and see what happened (like is encouraged in Vehicles), but I think one of the goals was to have the user really learn what was going on inside the robot and why it worked. I could follow the easy constructions with simple AND and OR gates, but it was difficult for me to go much beyond this. I imagine that Resnick had similar problems with young children trying to use the electronic bricks to accomplish complicated goals. While it is easy to hook one sensor to one motor to make a robot that is "indecisive", much more than that goes way over the heads of children and doesn't really teach them much. They may be amazed, but they are not likely to learn much of the workings of the circuits.
This artical hits upon something that has been disappearing from education since the industrial revolution. We know that children's education used to include the parent's chosen trade (especially since agriculture was a much smaller operation than it is now, many more families required children to help in the work). Since the break of the family structure education has seemlessly slipped more and more toward the theoretical and abstract.
This article suggests some interesting ideas about how to bring back some "hands-on" learning into academia. Programmable "bricks" provide a child with some basic programming skills by which to create some physical result through a car, conveyor belt, or even a spiffed up alarm clock.
The one difficulty I foresee with this type of education is to go overboard with it and neglete some of the great benefits that abstract learning still has to offer. You might say "Yah, yah, I know," but to strike a balance in learning is not simple. It is awful tempting to go overboard on something that has been missing from education. Hands-on learing will be new and refreshing and the old stuff will seem boring and uninteresting.
However, I think that it may take a little going overboard in the areas that have been missing from education to strike that balance. Otherwise, I fear education will always emphasize abstraction too much. It always seems that when anything has been out of balance too much in any way the easiest way and most natural way to regain a balance is to venture to the other extreme until a balance is reached.
One point which made me question the creative limitations of the Lego/Logo toy, is discussed on page 66 at the end of the first column. "...the child might build a garage and program the garage door to open whenever a car approaches".At first thought, the idea of taking Legos and adding that fourth dimension of movement in order to make a moving world of your own sounds great. Although this seems exciting at first, I question how limiting the product is. Why not produce the technology to offer the idea of an object opening and closing but not have it directly connect to something which is already in everyday use, like a garage door opener? What if the program learned or taught itself when the garage door should be opened based on the users daily routines? Based on learned habits, the door would open for the owner without the owner ever having to push the remote control. What about furthering technology with the Lego/Logo product that allows more possibilities than the Lego which can only open the garage? Much like tinker toys, there is no direction to what should be made allowing endless creative possibilities.