Sunday, February 14, 2010

Using Computer Programming to Develop Thinking Skills

Children deserve to have fun when learning computers. SPARK Institute of Technology  promises just that: a series of innovative and "full-of-fun" courses and class activities. Recently I talked to Abhay Joshi, their founder, who is a technology entrepreneur and educator. Abhay has two passions: getting computer programs to work flawlessly, and educating children. So, when he combined the two passions in a unique experiment to develop thinking skills amongst children using computer programming, I was intrigued.

Q: What's unique about SPARK's new program?
A: The main point is that "programming" is a medium of learning. It makes you think, it unleashes your creativity, it helps hone your problem-solving skills, it helps you apply your math and reasoning skills, and finally it is a lot of fun.

Q: What motivated you to do this experiment?
A: I learnt programming for a living, and that too when I was far past the school age. Even so, I realized the addictive nature of programming, because it was so much fun, so conducive to creativity, and so limitless in possibilities. The connection of programming with learning has already been established firmly by eminent folks like Seymour Papert of MIT and Randy Pausch of CMU! I just had put two and two together to see the great value I could offer to our school children.

Q: So, which programming language do you use?
A: The choice of language is critical. We use Logo. The language must be such that it has a low barrier for learning, that it facilitates learning by providing embedded learning objects (like the Turtle in Logo), and that it does not snare the user in a complex process of edit-compile-run cycle of industry-standard languages. The other obvious (but still not understood by many) important point is that the goal is not to teach programming, but to use it as a medium of learning.

Q: Tell us more about Logo.
A: Logo works great with children. It is easy to befriend (no complex syntax) and has an entertaining paradigm.It gives instant response to your commands, thus creating a direct connection with the computer. It offers the full power of programming (i.e. semantic capabilities offered by the best languages). It does not enforce "structured programming" methodology that industry quality languages do, and encourages free thinking and exploration. It has embedded learning metaphors/objects that children can easily relate to. The Logo Turtle embeds geometry and motion and allows children to bring their bodily experiences/knowledge to the learning process. Logo allows the teacher/instructor to continue adding such learning metaphors through interesting challenges and problems.

Q: What was your Ah-ha moment?
A: There were several Phew moments as we worked our way setting up the whole thing. But once we got into the act of teaching, it was great fun. Finally when the children got it, they loved it. Here are some quotes.
  • I loved the class ... It was an unforgettable experience ... I want to learn a lot more ...
  • Now I know computer is not just for games and movies ... I can actually talk with it ...
  • Besides programming I learnt Math and techniques of solving problems ...
  • Logo is fun ... The Turtle is cool ...
  • I learnt how to think systematically ...

Q: Show us some of the stuff your children built using Logo.
A: Check out the interactive below. It's all their work. It is important to note that every line, curve, and object you see in these images has been drawn through programming effort (which in turn involved thinking, planning, design, geometry, and calculations).

Q: Do you see Programming as an inherently interactive learning medium which helps people learn how to think and solve problems?
A: Absolutely. Programming envisages a child sitting at the computer and communicating with it continuously. Interactive languages like Logo create a direct link with the computer. The child types a command and the computer responds instantly. Through error messages the child discovers errors in his/her thinking. It is a most pleasant conversation in which infinite patience, immense power, and untiring servitude are offered by the computer to the learner.

1 comment:

  1. This blog captures beautifully the essence of the idea of learning through programming. Another popular language that is used in this manner is ALICE (co-invented by Randy Pausch), which is a 3-D animation language. The innovation in this space, in fact, continues even today. Scratch is the latest example - it's the newest supereasy programming language invented at MIT, which allows children to create 2-D animation, play with multi-media, and learn a great deal in the process. Programming is partly science (e.g. the syntax and the methodology) and largely an art. Teachers who want to try this new medium must be willing to do a lot of hand-holding and guiding to help children debug their problems, save them from getting stuck in some rat-hole, and to just prod them to discover the infinite possibilities. Children will take care of the learning!