The best way to teach programing to high school students – is to not teach them at all. This is especially true in the context of extremely well developed online tutorials and hosted interactive on line courses. If I try to teach programming, I am sure I would do a much poorer job than what is often available for free. How how best to teach ?
Why not pretend teach ?
Those who are following the great educational experiments of Sugatha Mitra may be aware of the Granny Role – to show unqualified appreciation for what the kids are able to demonstrate.This way, we help build their confidence and be part of their learning adventure. But this cannot be done in schools running on factory mode. Kids need to be able to talk freely and engage in what interest them. It works really well in situation where the kids involved have shown an interest in learning programing – so the y start with some form of commitment. One model of teaching will not fit all, but turning the model around may produce startling results.
Does the teacher teaching programming need to know programming ?
My view is no. The teacher needs to orchestrate conducive conditions for self learning. This involves, connectivity, freedom to talk, to change direction and to make choices. The presence of interested kids is boon, for it will fuel peer to peer learning. Of course kids will get stuck and teachers or tutors or better still peers can get them unstuck.But then,with online learning all means of help is readily available through examples and forums and kids are quite capable of getting unstuck themselves. In fact, in my opinion that should be the most valuable educational objective. We have found that kids who self learn end up achieving remarkable results. But then, in any class many kids wish to be helped. It would be best for teachers to be helpful without hindering their abilities to figure things out for themselves. Also, its possible for teachers to say ” I don’t;’ know”, which often triggers a co-learning opportunity.
Every School is different
I realized this in our first get together. What we learn’t about teaching programing was in a very limited context within the ASMS with students who wanted to learn programing. But this is changing as DECS is in the process mandating that programing is to be taught at all schools ? . There are also other models, lunch time clubs, after school sessions, summer camps and of course self learning @ home. We hope that the PhoneLabs community will share their learning as to how to best teach programing from their own experiences.