An important question that must be addressed in a coherent computing curriculum is which programming environments to use across the curriculum. For Java, currently the most widely used language in computing education, a wide variety of professional integrated development environments (IDEs) are available—including the increasingly popular, open-source Eclipse environment. Professional IDEs for Java work well in advanced courses, but they are poorly matched to introductory courses because they deluge beginning students with a complex array of features. In addition, professional IDEs fail to shield students from distracting complications like the Java command line interface and Java console I/O. For this reason, many educators favor using a “pedagogic” IDE such as BlueJ or DrJava to provide a