In a 2020 from an alternative universe, we would have been putting our final touches on our Live Online Coding in Python courses launch campaign right now. A couple of days ago I was looking at our project timeline from January and the launch target date was set to mid-September.
Back in the real 2020 we are in the 6th month of running these Live Online courses with sessions running almost every day since Easter. Our after school coding courses have now restarted for the Autumn term and October half term courses are not that far away.
So, do online courses teaching coding to kids work? And how do they compare with in-person courses?
There are Online Courses and there are Live Online Courses
What's the Difference?
Until recently an online course usually meant recorded videos that students can watch in their own time. By themselves, these courses are pointless. Coding is a subject that needs students to experiment and try things out, and if you do that you are going to have questions. A coding course for children that does not include a live element at its core is not going to achieve much.
A Live Online course includes sessions delivered live by an instructor. But having a live component is not enough. What makes a Live Online session effective is:
An excellent instructor, experienced in both coding and teaching, who can explain clearly the coding concepts that can be a bit abstract at times.
Students and instructor able to see each other, not just hear each other's voices
Interaction between students and instructors during the session, so that students can ask questions and instructors can attend to the whole group and to individual students one by one, as a teacher would in a classroom.
Unlike in-person lessons, remote lessons become less effective if they're too long. Anything longer than hour makes it hard to keep focus without the physical presence of a teacher and other students in the same room.
At codetoday we have opted to limit remote sessions to one hour, even during school holidays when students have more time available. However, in addition to the live sessions we also give students access to pre-recorded videos, notes and quizzes on a bespoke learning platform. This hybrid approach means that students get the best of both worlds: live, interactive sessions and additional content they can view whenever they want, as often as they want.
Ever since we started teaching coding in 2016, we also believed in ongoing support for students during and after the course, and this is an essential part of any good coding course, online or not.
How do Live Online Lessons Compare with In-Person Sessions?
We put in a lot of research and planning to make the remote live sessions works well, but even then we were surprised at how well they have worked. I would go as far as saying that for coding specifically, remote lessons can actually work better than in-person ones. Here are some reasons why:
Coding is done almost entirely on a computer, so using a computer for a whole hour is not a distraction for kids and teenagers, in this case the computer is a key tool for what they are learning.
During segments of a lesson when an instructor is teaching new material, students need to be able to see both the instructor and the instructor's screen. This is much easier to do when using remote meeting software such as Zoom compared to being in a physical classroom since the students' screens will show the instructor's coding screen and the instructor side-by-side on the same screen. This requirement is less relevant in other subjects when the computer screen is less of a focus of the lesson.
A key part of live lessons is the part when students are coding independently and the instructor is "walking around the room" observing them code and helping those who need assistance. Once again, software such as Zoom provide a solution that is in many ways superior to being physically present in a class. Students all share their screens with the instructor and the instructor can, with a simple click of a mouse button, move from one student screen to the next, observing their coding and giving feedback. In coding, observing and giving feedback to students can only be done by looking at the students' screens. In-person sessions require moving around the room which is not only time consuming (although admittedly good exercise for our instructors) but also makes the students a bit more self-aware when an instructor is standing behind them observing their screen. This process is a lot less intrusive in remote lessons.
And finally, coding is in part a subject related to technology (even though it goes a lot beyond tech) and therefore the use of hardware and software to learn coding is more natural than for most other subjects.
We've had plenty of review sessions with our instructors to monitor and improve these live sessions and every one of our instructors found that teaching online had more advantages than disadvantages. We noticed that we cover material more efficiently in online sessions and, just as importantly, our students are achieving their learning objectives and enjoying the sessions just as much as when they were physically present in the same room.
One of our senior instructors, Jana, felt that "Some students who may usually be a bit shy to ask questions are more likely to ask in an online format." Anthony, another one of our senior instructors, commented that he "found that instructing online better focuses the attention of the students than in the classroom as they are less easily distracted by others, and allows instructors to spread their time equally between all students, rather than focusing on the more attention seeking members of a class."
Of course there are advantages to in-person teaching as well, especially in instances when a particular student needs more support. And we are certainly not advocating for all teaching to move to online. Most of the benefits we see when teaching coding which I outlined above are very specific to a subject such as coding and would not translate to other subjects in the same way.