So, how do you take the pain out of learning to program? Minimizing lectures is always a good idea. And pushing 'hand-on' time with the keyboard is really the best way to make the learning happen. But how do you keep students engaged and motivated?
Here are a few great tips from the following blog (Infinigons) on how to make learning to program fun. The background is Python based, but the advice really applies to any development platform:
- I learned to minimize lectures. Kids (and all people) learn programming by doing. Giving them a few examples to follow and execute on their own is much more effective than parsing code as a class in lecture format (at least with my group, which tended to get squirrelly really quickly).
- When I did lecture, I used PowerPoints that the students could upload onto their laptops so they could follow along at their own pace. I also tried to include as many opportunities as possible for them to try out commands along the way. I finally started getting the hang of this when we were doing Visual Python; see my lecture notes here if you are interested.
- Tiered programming assignments rock. There are easy, medium, and hard programs in a single assignment. Students choose whichever ones they want and aim for a certain total point value. Harder programs are worth more points. See my programming assignments here if you are interested.
Read the full discussion here:
http://infinigons.blogspot.com/2011/01/is-programming-new-math.html