Practice and experience with Java in education
Qusay H. Mahmoud · Science of Computer Programming · 2004
Practice and experience with Java in educationThe Java programming language has been a phenomenal success.By removing some of the syntactic absurdities of C++, Java has become the dominant language for undergraduate programming courses.Its simple object-oriented model and libraries for networking and graphical user interfaces have made it better suited to conveying object-oriented concepts and advanced computing topics such as threads and distributed objects.In addition, its platform-independent architecture has made it the language of choice for developing applications that run anywhere, from the smallest devices to the most scalable servers.No language is perfect, however, and Java is no exception.The main method signature, public static void main(String argv[]), for example, contains several constructs that are not easy to explain to first year computing students with no previous computing background.In addition, the large number of libraries may offer an intimidating feeling for students who want to master Java.The aim of this issue is to report on experiences with Java in education and provide a snapshot of its continuing evolution.The papers included in this issue, which address the challenges discussed above, reflect the broad spectrum of the Java programming language.To this end, Kenneth J. Goldman presents "An interactive environment for beginning Java programmers", that discusses JPie-an integrated development environment that supports live construction of Java programs by direct manipulation of graphical representations of class definitions.Using JPie, students can learn the Java programming language while avoiding many of the common pitfalls and distractions of textual programming.In "Educational and technical design of a Web-based interactive tutorial on programming in Java", Claudia Bieg and Stephan Diehl present JOSH-online, an interactive interpreter that allows students to learn by trial and error.They believe that this approach encourages students to consolidate and extend their newly acquired knowledge by means of experimental verification.In "A Java-based system for building animated presentations over the Web", Vincenzo Bonifaci, Benedetto A. Colombo, Camil Demetrescu, Irene Finocchi, and Luigi Laura describe Leonardo Web, which is a collection of tools for building animated presentations for teaching and e-learning.Leonardo allows such presentations to be posted and viewed over the Web using an applet.In "A Java-based approach for teaching principles of adaptive and evolvable software", Jeff Gray describes his experiences in teaching a special-topics software engineering