First Impression: Programming from Scratch
MIT's Scratch program, available for free at http://scratch.mit.edu/, was designed to introduce young children to the world of computer programming. The software, which features familiar coding commands like if/else statements in oddly shaped characters which must be fitted together to function, makes programming feel like a puzzle. If the user has any previous coding experience, the learning curve for Scratch is minimal, but experienced coders could easily spend hours with the software coming up with some impressive programs. Users who are completely new to the programming world can just as easily spend time "playing" with the different puzzle pieces the software offers and eventually learn how to create a successful program. There is also an entire community, based out of the Scratch website, in which users can upload their programs, download others' programs and their source codes and comment on one another's projects. This community can nurture a great learning environment.
For my project using Scratch, I decided to create a Pong-style game in which the user plays against the "computer". I first looked at a number of Pong games that had been uploaded to the Scratch website and found that most of the programs were buggy. Sometimes the ball would slip through a paddle or the controls were just not responsive enough so I decided that I was going to create the quintessential Pong experience... at least, as quintessential a Pong experience that one could create using Scratch. I wanted a user-friendly interface, simple controls that work well and, most importantly, very little or no bugs in the program.
I have spent roughly 2 weeks working on the project off and on and I now feel ready to run some usability tests to see how well people respond to the game. What did I spend 2 weeks doing, you ask? Well, perfection is a lofty goal for which to strive. I was able to get a basic skeleton of a program going based on my limited knowledge of programming from the C++ (now a VERY outdated programming language) class I took in high school. The ball "bounced" off of both paddles. However, it was extremely glitchy. After tweaking the program for days and days (often only to have to go back to something I had originally done because what I had been "fixing" wasn't really a problem) I finally got the bright idea to decrease the size of the ball and what a WORLD of difference that made! The game now functions great and these usability tests should let me know what I still need to improve and/or change in the program.
Want to know what others are creating using Scratch? Check it out here.