Things we learned from teaching 25,000 kids how to code

Nov 13, 2017 karen's Blog

This is a guest blog by Philipp Knodel of App Camps Germany

With our non-profit App Camps we provide teaching resources for teachers and schools to teach coding. Teaching resources means: short videos and tutorials. Our goal is to give all young people the chance to experience how much fun programming can be. The content of the course Basics of App development is the result of many offline workshops we did with students aged 10+ years. Over the last 12 months more than 25,000 kids learned how to develop Apps with our teaching resources. Heres what we learned.

1. Build Products. Fast.

For young people (and probably also for adults) it is crucial to build real products. And you need to quickly see the results. In our course on App development, it takes 15 minutes until the kids can test the first version of the app. Ok, its pretty simple - you click on a cat picture, a sound plays (guess what: miauuu) and the text on a label changes. But thats already something you can show our friends and parents. You can use it right away and be proud of what you did.

2. Team Work

Students benefit strongly if they work together in teams. In our workshops two students share one computer. In real software development, this is called pair programming: one person controls the keyboard, but the pairs constantly discuss how the coding challenges are solved. About every 15 minutes they change who controls the keyboard. In doing so they learn how to solve and discuss problems in teams.

3. Address everyone

In every group there are learners with different experience levels. Especially in school classes there is usually high variance with regards to prior knowledge and performance. To guarantee a great experience for everyone it is necessary to address different levels of difficulty. This means: breaking down challenges into small bits that can be solved step by step. So everyone can participate and work on the tasks at their own pace. When we first tested our teaching resources we didnt consider this - the result was a mess. Slow learners were frustrated because they werent able to finish a single app, fast learners because it was way too slow for them.

4. No yellow triangles

This one is simple: if you want to show how much fun coding can be, let them build something real. In many coding courses the challenges are like this: let the monster walk to the left, program yellow triangles that spin, program a chess field just for the purpose of programming a chess field. Sorry, but this gets boring pretty quickly. We always let students build products. This can be an app or a website, even if the app is super simple and the website is just some HTML. But you can use it. Or in other words - the results are cool enough to proudly show friends and family.

5. Reduce barriers

The less problems the better. With teaching resources its the same as with new devices: you will love them if you turn them on and they simply work without a long installation process. Thats why we use the MIT App Inventor - you login and start coding in the web browser. There is no need to install an IDE, all you need is an Android device or emulator to test the apps. In our course on app development we use so-called learning cards. This means that teachers need to print out those materials before the course. We learned that printing so and so many pages (color!) at a school is quite challenging. So we are currently testing ways to let students access the learning cards online.

6. Learn together

Coding is not about knowing everything. It is about finding creative ways to solve problems together with others. As a teacher (in a coding class) there is no need to pretend that you know everything. There is not a single programmer in the world who knows everything. Programmers use platforms like Stackoverflow or Google a lot - because they want to know how others solved a similar or identical problem. When we organize coding workshops - both for kids and adults - we make this point clear at the very beginning of each workshop: there are many, many things that we dont know. But ask us, and well find an answer together.

Only for kids?

While writing this article we realized that our learning can be applied to any subject in any context...not only to coding classes in schools. We believe, however, that they are especially important when kids write their first line of code because they need a good experience. Thats exactly why we started our non-profit App Camps: we believe that every kid should get the chance to try coding. Because only if you try something, you can decide if you like it or not. Having a basic understanding of programming and algorithms is crucial to understand the world around you. And todays kids build tomorrow's future, so its about us all to prepare them. Philipp Knodel, CEO & Founder App Camps