There has been an explosion in the number of companies offering coding and technology camps and courses for children. Add to that broader STEM courses and it's becoming a minefield for parents to work out if the course actually meets their expectations. So how should I choose a good kids' coding course?
Our own experience is often led by the 'Scratch vs. Any proper coding language' debate. Scratch, as some of you may know, is a specific to children platform designed to introduce some of the very basic concepts in coding. It's great for pre-school kids and very young primary school students, but beyond that we're not fans. We often cite the analogy of learning a human language. At younger ages you adapt the way you teach; you don't teach a different language with a view to swapping over at some future point, the same is true of programming.
The easy way to ascertain what curriculum is being followed is often by the way the session is described. Is it a coding course, a camp or simply a club? Very often, clubs have a more fluid curriculum that lack specific milestones used to indicate student progress. Camps often describe what a student should be able to do at the end of the camp and a kids' coding course would likely follow a mapped out curriculum with the ability to measure student progress.
A good coding course should help students to become independent coders. Are they able to write their own programs when they return home at the end of a course, or have they merely spent time copying code the instructor wrote?
The codetoday curriculum is designed to be delivered to children as young as 7 with specific attainment steps along the way. This enables us to provide parents with detailed progress reports during the course and at completion.
Another question to ask is whether the focus is on learning the key fundamentals of coding or simply teaching children how to use technology, such as interacting with robots, or software to make apps, which is not quite what coding is.
As per the Scratch debate mentioned above we advocate learning a coding language that is widely used and has many practical and commercial applications. Python is considered to be one of the best languages to use when learning how to code as it allows the student to focus on the key aspects of programming without the steep learning curve associated with other, lower-level, languages. The concepts will be similar across most coding languages and once programming is learnt in one language, learning another one is much easier. Always choose a course that is rooted in a real world coding language.
Quality of instructors
It goes without saying that a knowledgable and engaging teacher makes any subject more interesting. Not only does it ensure sessions are enjoyable but enthusiasm is infectious. Students should feed off this and hopefully become passionate about what is being taught.
We place great emphasis on both the ability to teach and to code. All our instructors have both, following a thorough training programme before they can deliver ou coding courses.
Support beyond the session
A lot of tech extra-curricular activities seem to be riding a wave of interest whipped up by the government, media and at the school gates. The downside is that many activities have been put together quickly with little thought as to what happens outside of the session. What's the follow on, what's the follow up? How does the provider help to encourage using skills learnt outside of the sessions?
These are all key questions to ask.
Codetoday pay special attention to encouraging students to code outside of lessons and courses. It's how the skill is developed. We have a series of projects and individually tailored activities for students to dip in and out of when not in a session with us. And of course every student who attends one of our courses has access to support even after the course has finished.
Building rounded skills
We recognised early on how coding benefits the development of a raft of skills beyond learning to use a coding language. Coding teaches you how to think. It's vital that these skills are considered when creating a coding course. For example, we can highlight how specific activities undertaken on our courses emphasise development of skills such as problem solving and critical thinking. It is always worth asking your course provider about this.
Flexibility of delivery
More of a practical consideration, flexibility is often most valued by busy parents. Locations and timings all matter. For our part we have term-time, holiday and private courses available for students. We're not stopping there though. 2020 will see us build increased flexibility into our programme, watch this space!