How today’s programming education can shape the future of computer science

Pal Kerecsenyi
CodeDragon
Published in
4 min readMay 30, 2018

Why CodeDragon fills in a gap between ‘real’ programming and Scratch.

Nowadays, children have become accustomed to experimenting with a variety of extremely easy-to-use programming interfaces such as Scratch. These applications are genuinely amazing.

As Steve Jobs famously said:

Everyone should learn how to code, it teaches you how to think.

That’s precisely what Scratch and similar websites do. They teach children how to think like a programmer, how to solve increasingly complicated logical issues by abstracting the problem and writing it into computer code. Or at least, they try to.

Why Scratch is amazing

Scratch strips down all the complicated bits of programming like syntax, compiling and crazy IDEs. It makes code be simple and fun by replacing all this with a friendly graphical representation of what your code does. Everything snaps together in blocks, which makes it be perfect for children who do not have the amount of commitment or expertise necessary to learn ‘real’ programming.

The Scratch editor. Nice and simple, but maybe too much so.

Kids experience the fun part of it. The ability to create whatever they want, without any limitations. As they use it, they keep finding ways to improve. Most of the time, they don’t even notice that they’re learning extremely important concepts in computer programming. But they are. They learn to use the lateral thinking needed for complex projects and their basic components (if/elif/else statements, loops, events, etc…).

Why Scratch isn’t amazing

Despite its apparent perfection, there is a notable issue with the educational logic behind Scratch.

From personal experience, many children who get into Scratch feel intimidated by any technology slightly more complicated than it and aren’t willing to go beyond Scratch. They stick to Scratch forever, until they grow too old to be interested and move on to a different hobby. For many, Scratch creates a sort of trap that they can’t get out of, and eventually lose interest entirely. Another potential programmer lost.

Scratch can also make children think that they are amazing at programming everything. They don’t progress, because they think they’ve mastered the world of computers. However, if they were to turn up at a job interview, their Scratch profile page wouldn’t be sufficient evidence to convince the employer.

We need to find a way to get children past Scratch. It’s a great starting point and should come before anything else, but it shouldn’t stop users from progressing.

Enter CodeDragon

CodeDragon is the perfect solution. It’s a brand new, completely unused, exciting platform. It’s one step up from Scratch, but still way easier than using IntelliJ to write a Java program that controls a rocket’s navigation system.

You can try it out at https://codedragon.org/.

CodeDragon uses drag-and-drop blocks (powered by a heavily customised version of Blockly) like Scratch, except fills them in with real HTML, CSS and JS syntax. Instead of ‘header size 1’, you literally get ‘<h1>’. It’s still fun, it’s still creative and most importantly it’s not too complicated. It’s packed full of tutorials and is made to get children into more ‘realistic’ programming. Real(-ish) web development.

The main block editor of CodeDragon. This is a simple demo project with some CSS, text and a video.

Just like Scratch, it has a full user base. You can share project, like them, comment on them and even clone (‘remix’ in Scratch terms) them.

The project page of ‘Welcome to CodeDragon!’, the code of which is shown above.

Users can follow each other and add a bio to their account. They can have their projects nominated by a member of the team, or it can get onto the trending page if it’s popular enough. A powerful search engine by Algolia (who kindly gave us a plan for free) enhances user communication, too.

The whole thing runs on a server donated to us for two years by Linode, and uses NodeJS with MongoDB. However, this is for a later article.

Conclusion

We love Scratch. We think it’s an amazing tool for getting kids into the exciting field of computing. However, there is a gap between text-based ‘real’ programming languages and Scratch. CodeDragon aims to fill that gap. It’s owned by a non-profit called ‘CodeDdraig’ and developed by three people, all under 16 years of age (including me).

So if that was enough to persuade you, check out CodeDragon at https://codedragon.org. If you have any children, don’t hesitate to sign them up and show them our platform. We’d love it if you’d help us grow our userbase.

--

--