This year I have taught both offline and online programming classes to 5th-12th graders. My conclusion as I look back over this year is that the online classes were far more effective than the ones I taught in a physical classroom.
I bet you are wondering why! Here are my reasons (please remember these relate specifically to teaching programming – not to lessons in general)
1. Every child goes at their own speed
In a classroom I explain how to do something and then ask if everyone has understood. There is always at least one person who doesn’t and the others have to wait while I explain again before we can continue to the next concept. In an online environment, students can just replay the video again. And again. And again if they need to. They can also pause me – and try it out for themselves and then come back to the video.
2. Students can work when they want to
My class this year was right at the end of the day and the students were already zoning out. If my lectures had been available online, they could do it when they were more focused.
3. No student has to wait on the teacher
Ok – now this may sound backwards, but let me explain. In the classroom I would go to each student to check their homework and help them with problems. The others could work on something else till I got to them, but it was always disruptive and sometimes they really needed me to help them before they could continue. In an online environment they could send me their problem and go off and something else – and return later to see what I answered.
4. The teacher can solve problems at his/her leisure
Sometimes I just wouldn’t be able to see what the problem was and I would feel the pressure as I knew other students were also waiting for me. In online environment it is much less stressful to debug programs. You don’t have any students looking expectantly at you as your brain tries desperately to figure it out.
5. It is easy for students to help each other
Again this may sound like I am confused, but it is true. In a classroom students would sometimes help the students near them, but online everyone is near you. I always make sure to provide a “chat room” where students can go to post problems or just to chat. Students will visit the chat room before or after they start there own work – so helping someone isn’t as intrusive as it is in a classroom.
6. Everything is in one place
Grades and feedback and assignments and lectures are all in the same place. It is very easy to interact with students and grade them. In an offline situation you have to look at a program and assess it, then go to your laptop / tablet and enter a grade. And I found I had to post assignments even for my physical students as they could never remember what I had told them to do. Doing everything online helped keep me and the students organized.
7. It is less distracting
In class, someone was always making a funny comment, or using some strange sound in the game or getting up to go to the bathroom. As a result far less got accomplished than could have been. Online this doesn’t happen. Interaction between classmates still does occur in the chat room, but this isn’t distracting.
Have I piqued anyone’s curiosity as to whether it does work as well as I say? Well you can give it a try. I have a number of online programming classes available this summer and one is even free!
And I am giving away one Intro to Game Programming Classes (Full Version) worth $9.95 to two readers. Just enter the giveaway below and if you win one you can choose between the two different ones offered. If you have already signed up and then you win, I will refund you the money. Use the comments if you have any questions or input.