4. Other Advantages of Java
Besides those mentioned in Sections 2 and 3, Java has some other advantages
as a teaching language:
-
Low cost. The tools needed to build and test Java programs are
available
without charge. Sun makes the Java Development Kit (JDK) available over the
Internet (at www.javasoft.com),
where faculty and students alike can
download it. The JDK--which includes the Java compiler and interpreter,
among other tools--is admittedly spartan, but students should find it
adequate for most programming assignments. Those willing to spend a little
money will find nicer program development environments (such as Symantec
Café and Microsoft J++) available at moderate prices.
-
Easy to test. Students can put their programs--written as
applets--on their
Web pages for instructors to test and critique. Instructors can monitor a
student's progress at any stage by simply visiting the student's Web page.
-
Student enthusiasm. Java has gotten so much publicity that
students are bound to be excited about learning it. By harnessing that
enthusiasm, instructors can use Java as a vehicle to teach students a
tremendous amount about modern-day computing. Students will be motivated
by Java's growing importance in the ``real world.'' Moreover, students
will be thrilled by the ease with which they can build sophisticated GUI
programs.
-
Suitable for advanced courses. After students gain familiarity
with the basic features of Java in CS1, they can use its advanced features in
later courses. For example, a course on operating systems can take
advantage of Java's support for threads. The network classes that come
with Java make it ideal for a networking course.
-
Easy transition to C++ and other languages. Java's syntactic
similarity to C and C++ should ease the transition to those languages.
We'll return to this point in Section 6.
-
International appeal. The Unicode character set is an integral
part of Java, allowing students to learn about the issues of developing
software for the international market.
Next section
Permission to make digital or hard copies of part or all of this work for
personal or classroom use is granted without fee provided that copies are not
made or distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page. Copyrights for components
of this work owned by others than ACM must be honored. Abstracting with credit
is permitted. To copy otherwise, to republish, to post on servers or to
redistribute to lists, requires prior specific permission and/or a fee.
© 1997 ACM