Taming the tiger: teaching the next version of Java

The next version of the Java language (Software Development Kit 1.5) will include generics, an enhanced for loop, boxing and unboxing of primitive types, typesafe enumerated types, static import, variable arguments, and metadata. This new version is a significant change of the language itself, adding many features that will impact the use of Java in computer science curricula. Fortunately, this new version provides several features that instructors have wanted in the language from its beginning.