In one of my previous posts I mentioned two free software packages, Karel the Robot and Greenfoot , that have been used to teach the fundamentals of computer science and programming to schoolchildren who are working at the upper elementary and middle school grade levels. Today I would like to introduce two more learning environments, both of which are appropriate for high school students.
The Alice learning environment is an ongoing, multi-institutional, project co ö rdinated by the Computer Science Department at Carnegie Mellon University
There are two “production” or “stable release” versions of the Alice environment that are available for download: Storytelling Alice , which is designed for use at the middle school grade levels, and its more more technologically-sophisticated “big sister” Alice 2.2 , which is targeted at the high school level.
My only reservations regarding either Storytelling Alice or Alice 2.2 are that these programs’ size when “unzipped “and installed can eat up a lot of space on a hard drive (Storytelling Alice weighs in at ~ 180 Mb and Alice 2.2 takes up ~ 400 Mb of disk space). While such a concern may seem trivial in light of the amount of drive space available on modern desktops and laptop/netbook machines it must be recognized that there are a large number of families, and even entire school districts, that must make do with older, less sophisticated technology.
Secondly, the amount of tutorial and classroom-quality instructional material that is freely available online for both Alice packages is limited to a few YouTube videos and scattered reproductions of individual chapters from commercially available (read as “for sale by the big publishing houses” and “not cheap”) textbooks. Although what is available online is quite good, those without sufficient financial resources could find themselves at a disadvantage and thus not able to fully exploit these programs’ potentials.
For those that were introduced to programming with the Greenfoot package, BlueJ represents the natural successor to the former environment.
BlueJ “picks up where Greenfoot left off” by continuing to use the same object-based, “drag and drop,” graphical interface but places greater emphasis on using that interface as a modeling tool and requiring that the student manually enter the appropriate Java code to implement the desired methods and functions appropriate to each object. In this respect, BlueJ is far closer to being a full fledged Java Integrated Development Environment than a mere teaching aide. There are several other features that make BlueJ a valuable resource in the study of computer science.
Unlike Alice, above, BlueJ is supported by a large number of written online tutorials and a growing number of multimedia presentations that can be accessed via YouTube, Veoh, or similar content providers. Also, there are packages that seamlessly integrate the Gridworld computer scenario that is used in the College Board’s Advanced Placement Exam in computer science . Finally, using BlueJ provides the learner with marketable skills in Java programming which, given the versatility of that language, opens the door to participation in he development of numerous projects such as mobile telephone applications and Rich Internet Applications development.
In conclusion, if I were asked to recommend a sequential, or progressive, collection of computer science teaching aids I would probably first go with the combination of Greenfoot and BlueJ because of their common programming language (Java) and the fact that their user interfaces are quite similar. However, since this same package would be far less appealing to those that would find a visual, “drag and drop,” interface to be of greater utility as learning tools I could just as easily recommend the Alice environments.
Since all the programs that I have discussed are available online and at no cost, why not take the time to do a little “product focus testing” on your own. But, as Bill Cosby always said in his introduction to the “Fat Albert” cartoon series, “… be careful. because you might accidentally learn something.”