A few years ago I taught an after school coding class to middle schoolers and used a common strategy: I started with two weeks of the Scratch programming tool to teach fundamentals with simple drag and drop instructions, then migrated to a specialized IDE, Greenfoot, to teach basic Java in the context of graphics apps, then moved to a catch-all IDE for more general programming.
The downside was a sizable stumble each time we switched tools – two steps forward, one step back. Since then I’ve been hoping for a solution to avoid this. A solution to teach each new concept in a way that prepares students for the next concept, instead of covering it up.
The current iteration of SnapCode embodies this. With a five minute lesson, I can cover the following:
- Create a controller class that uses the Model-View-Controller paradigm
- Snap together blocks of instructions to build real lines of Java code
- Build a scene for the application using a real UI builder
- Run on the desktop and in the browser using Java and Java-to-JavaScript transcompiler
Check out the video to see it in action.
If you like this, please like/retweet the blog, video, tweet (tweet is here).