Archive for April, 2017

Secretly teach advanced programming to beginners

April 21, 2017

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).