In this age of social media, edtech, smartphones, tablets and MOOCs, software applications play a larger role than ever in the learning environment. In fact, apps have reached such a level of ubiquity and everyday integration that a number of software companies are turning out apps that can help students create apps of their own. Here’s a list of 10 software tools that can jumpstart a student’s knowledge and skill in computer programming.
Edit: Also, see HopScotch–an iPad app that teaches code by creating basic games, presumably (though we haven’t tried this one).
1. Hackety Hack is a downloadable application for Windows that walks students through the ground-floor basics of Ruby, an object-oriented programming language that can also be used to develop web applications with the help of the Rails framework. Students learn to use the Shoes toolkit to build graphical interfaces and, by logging into the Hackety Hack app, their programs can be shared with other users.
3. Scratch, a brainchild of MIT Media Lab, is its own programming language that allows students to program interactive animations, games and stories while sharpening their problem solving skills and learning important programming concepts. Although Scratch is designed for students aged 8-16, beginning programmers of all ages can use it to get an easygoing introduction to the type of mental processes that app developers use to build their programs.
4. PurposeGames is a Web-based app that allow students to create games and quizzes for their friends, family and fellow students. The games and quizzes are usually based on general knowledge and fairly simple to understand and develop, so creators on PurposeGames can get started without any previous experience in game design or programming.
5. Treehouse has an extensive library of instructional videos and training exercises and a mission to bring affordable technology education to people everywhere. Although the training available at Treehouse does seem to be tailored for career-age learners, younger students with a certain type of learning style can also benefit from the expert instruction and interactive “code challenges” used to check their progress.
6. Codea is an iPad app that allows students, parents, programmers or anyone to develop their own interactive iPad apps in a richly graphical coding environment. With a slick user interface and an intuitive, touch-and-drag method of enacting code syntax, Codea provides access to dynamic control functions like the iPad’s accelerometer and multitouch display without demanding that students understand how lines of textual code translate to colors, shapes and actions.
8. Alice is a first-step programming environment that introduces students to simple programming concepts through the creation of animated stories and simple interactive games. The interface contains graphical elements that represent standard statements in object-oriented programming languages such as C++, C# and Java, and students can drag and drop these elements into relationships with one another to see how the programming statements affect the behavior of their animation.
9. AppMakr bills itself as an app creation platform that allows students to make not only mobile apps for iPhone and Android but also HTML5 websites formatted for mobile devices. This app-making app has both free and paid versions with various levels of richness to its feature suite and includes a personal dashboard to manage updates and keep track of usage statistics.
10. Programmr is a browser-based app that functions as an online learning lab for students who learn best at their own pace. The 15 programming technologies available to learn on Programmr can be used individually or in combination to create command-line programs, web apps, mobile apps, rich media apps and more. The app even comes with an “auto-faculty” feature that can check students’ work in any of the offered languages.
If none of the above seem like the right thing for you or your student, don’t hesitate to search around for something that might be a better fit. Whether it’s working on the nuts and bolts with text code or using an app to create your apps, the exact tool set you need has got to be out there somewhere.
Justin Boyle is a writer, editor and designer who works in media production for an ecology non-profit. He is a contributor to onlineschools.com