The College Board has decided to switch to Java to test for programming skills in advanced-placement (AP) computer science tests. The change from the current programming language, C++, will be made in the 2003-2004 academic year, the board said.
The AP program allows high school students to get credit for college-level courses by passing standardized tests.
The move both reflects and boosts the popularity of Java. On the one hand, the programming language is widely used and has potential to spread even farther. On the other hand, it will require that numerous teachers learn the language, buy new textbooks, and update lesson plans.
The change doesn't mean computer science courses designed for AP credit will be full-fledged Java courses, though. The primary purpose of AP courses is to teach basic programming concepts, and only a fraction of the Java language will be taught.
AP testing won't dwell on many of the other components of Java beyond the programming language--for example, the virtual machine software that is a central part of why Sun invented Java. But the board said it expects teachers will likely cover such subjects.
"We expect courses to cover language features that go well beyond this subset. For example, many instructors will choose to cover applets, graphics or user interfaces," the board said.
One teacher posted a note to a mailing list that he is happy with Java because software, once written in the language, works on Windows, Mac and other operating systems.
Sun has been working hard to use Java to undermine the dominance of Microsoft by fostering programming that works on all types of computers. The company says there are 2.5 million Java programmers.
Microsoft has countered with its own language, called C# (pronounced "see sharp").
Posting of the news at Slashdot, a discussion site popular among programmers, spurred debate.
One commenter summarized teacher discussion he heard on the subject after news of the change cropped up on AP mailing lists. "By the time we get all the Java syllabus and course materials together and proofed, some other language will be on the horizon," the teachers said.
"Why does a computer science test have to be confined to a language?" one commenter asked. "Regardless of the arguments that the language could die or changes too fast, it seems a little restrictive." He suggested testing on more general programming concepts instead.
Some are likely happy with the change, though. When the College Board moved from Pascal to C++ in the mid-1990s, Kim Bruce of Williams College suggested skipping straight to Java.
"I think that the weight of evidence no longer supports the belief in the eventual dominance of C++," Bruce wrote in 1996. "The advantages of Java over C++ at this point seem overwhelming."