Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Educators embrace Java

High marks in college signal long-term, real-world success of new programming language

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Page 2 of 5

"Java seems to correct some of these flaws, and we are now coming to believe that Java can be made to work as a first programming language," said Dobkin.

Roger Whitney, a professor in San Diego State University's Mathematical Science Department, already has seen the benefits of using Java in his client-server computing course. He taught the course using C/C++ and then taught it again using Java. The pedagogical results were striking.

"Java is a higher-level language," Whitney said. "In particular there are no pointers, only references, and Java has a standard library that students have on all platforms. The higher-level language makes it possible to cover more material and have a realistic hope that students understand. With C/C++ they had a very hard time getting beyond pointers."

With Java, Whitney was much more successful in getting students to write good code, while C/C++ required him to spend half of the semester "beating on students to make the code modular." Whitney also hopes Java's GUI classes will increase his success in getting students to build applications with GUI interfaces. GUI interfaces are not required in the course.

Whitney notes that with C/C++ he never succeeded in getting students to do the extra work.

"I can't think of any good pedagogical reason not to [use Java]," said SUNY's Lea. Among its obvious advantages:

  • Java is small, object-oriented, and easier to learn than most other plausible introductory programming languages.
  • Most students find it enjoyable, sometimes even fun.
  • Students believe that learning Java is a valuable real-world skill in itself, and they are probably right.
  • Because it is easy to learn the basics, instructors can introduce more about programming, design, and problem-solving than they could using languages like C++.
  • With Java it is easier for students to become familiar with some of the conventions of languages in the syntactic tradition of C (C++, Objective C, CORBA-IDL, etc.).


The University of Wisconsin's graduate CS course, Introduction to Operating Systems, recognizes that most students are familiar with C++ but not Java, said Professor Marvin Solomon. Even so, he chose to use Java for three main reasons -- Java is a more congenial programming environment, Java-literate programmers are quite marketable, and Java has built in some operating-systems features.

Runtime errors such as bad subscripts, null pointers, and uninitialized variables cause exceptions that are caught by the language at runtime rather than mysterious crashes or random behavior. Java Strings are much easier to use than char * arrays. Garbage-collected storage management is extremely handy, and many more features make it a developer-friendly language, Solomon contends.

Specific to his operating-system course, Solomon said Java is the first widely used programming language with language-level support for concurrency (threads) and synchronization (monitors), which he considers a big advantage.

The bottom line for San Diego State's Whitney is that Java clearly empowers him to better prepare students for the real world.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources