I will start with a quotation from chapter 2, about computational thinking:
Once you learn these computational-thinking strategies, they can be useful in all types of
problem-solving and design activities, not just in coding and computer science. By learning to
debug computer programs, you’ll be better prepared to figure out what went wrong when a
recipe doesn’t work out in the kitchen or when you get lost following someone’s directions.
This is my starting point in education, and I fell pleased to have found it here.
In my past year experience with 10-11yo children, I started asking them how they would describe a simple activity like opening a door to a friend of mine just come to visit from space, living in a planet with no doors (Whitman would have liked it for sure…). I performed the actions they were saying, and it took a while (letting them to refine the steps to the result) before they understood the right way (to say to someone who knows nothing about door how ho deal with). Obviously the first answer was: 1) press the handle, and 2) push the door, which I did: press the handle, [release the handle], push the door. They were very amused that I did not understand, and when I replied “But YOU said so!” they answered together “You have to keep the handle pressed while pushing”, and I said “But you had to tell!”
This is the way for me to let them understand how to divide a complex problem into simpler steps, and that the complexity of steps depends on who’s going to perform these steps (i.e. they must be understandable to the performer); this is computational thinking.
When we moved to Scratch, I emphasized the fact that instructions to perform must be correct and understandable. The simplest action is to draw a square, and before doing, I divided them into small groups told them to design an algorithm to draw a square by moving. I let them experiment for a while with their bodies moving, and watching it was one of the most gratifying experiences of the whole year. The first result was much like as in the door algorithm: they performed the steps themselves, but when I did, it didn’t work (they told me to move and then turn 4 times, without specifying how much to move and how much to turn, so obviously I moved a little step, turned right say 15 degrees, then moved a greater step, turned left say 100°, and so on).
When we agreed on moving 4 times the same amount of space, turn 4 times the same angle (amplitude and direction), I told them to look among the commands Scratch can understand trying to find some suitable for the task, and put them together and watch the result.
At this point some noticed there were repeating commands, and so I told them to look for a command suitable for repetition. At last we came out to the result: repeat 4 [move 100, turn left 90] (LOGO style).
Now for me comes in the other part in the process of problem solving; I mediated this from George Polya, which suggests, when dealing with a new problem, to subdivide it into smaller parts (algorithmic approach), and then look if some of these subproblems could be similar to something previously dealt with (I would like to stress the word: similar, not equal). So I said to the children. “Hey, have you noticed that Scratch cat has turned for 4 times 90 degrees, and now he is back in the starting position? How can we use this observation to draw a triangle, a pentagon?” I drove them to discover that in going back to the starting position, Scratch cat made a complete turn which is 360° which is 4 times 90°, and so if I wanted a triangle (3 times) what should I do?
They learned (apart from some useful cases for the use of multiplying and dividing tecniques), how to use a similar already solved problem (the square) in the solution of a new problem (the triangle).
This approach for me fits better in the school system than the playground approach. This does not mean that we have to have a fixed goal and drive the students to it, but that we must have some kind of goal, decided together, that interests the group (at least most of them), and then work to its attainment, using computational thinking tecniques and analogy. And analogy is the part in which comes into play creativity. Leonardo, Newton, Einstein all have had a highest degree of creativity, but anyone deserves his own degree.
I don’t know what result this could have in children, but this is what I feel now to be task of teaching: teach them to learn to solve, not to solve, much in the tradition of what Papert calls Mathetics, much in the tradition of the old saying: if you meet someone hungry, don’t give him a fish, but teach him to fish.
Sorry for having been so prolix.
Let me end with a quotation from chapter 5:
In contrast, a playground provides children with more room to move, explore, experiment,
and collaborate. Watch children on a playground, and you’ll inevitably see them making up their
own activities and games. In the process, children develop as creative thinkers.
This seems to me as a huge Skinner box, where the difference between playground and playpen is only quantitative, but not qualitative.
If you see children use the swing, the slide, the bike, is because they have learned how to before, not because they are simply exposed to them. If for something the technique is straightforward, for other activities is more difficult. If some child is fearful to try, couldn’t it be useful to force him (within certain limits, of course) to try? When a child can ride a bike and wants to learn to skate, wouldn’t it be useful to (drive him to) find an analogy with bike riding (a balance issue).
I had an exchange of views with @JoshThompson on the concept of scaffolding, in which I expressed the idea that scaffolding is necessary, but it has to be removed when the building is done, and that the main challenge is to teach people to build (and then destroy) their own scaffolding. To build is to teach them to find their own way of thinking, seeking help from others by themselves, and to destroy is to teach them to use critically what they have learnt, and not to pick the learning verbatim: this also is creative thinking.