Selecting the Java IDE for the core courses
IDE Selection Criteria
Draft, 10/12/99
- A straight-forward user interface for compiling, link,
executing and execute
Java programs at the level of the core courses. Programs at this
level are examplified by:
- Company.java, example show in Figure 6.5 of the "Problem
Solving with Java" text by Koffman and Wolz, Addison Wesley;
- DoubleArray.java example
presented in Figure 5.18 of the
"Java How to Program" text by Deitel and Deitel, Prentice Hall;
- AVLTree.java example presented on pps.307-8 in the
text "An Introduction to Data Structures and Algorithms
with Java" aby Rowe, Prentice Hall.
- A sizable program which entails a number
(on the order of 6) user-defined classes. An example is the
program presented in the "Java case study: an adventure game"
in the appendix of the Rowe text.
By straight-forward is meant that the complexity of the environment should
be commensurate with core course student who may not have any programming
background. In particular, we are looking for the followings:
- A clear, intuitive menu and submenus for compiling (linking) and
executing a program.
- A clear screen layout to allow concurrent viewing of the source
code, the execution outcomes, debugging display, and, optionally,
the class and file hierarchy of the project.
- The environment should support the building of
a project and multiple source files for a project.
-
It should allow for easy reconstruction of a project from files
stored on portable disks or downloaded from a centralized system.
It is not necessary for files to be shared among projects, and it
is not necessary to support subprojects.
- It should allow program listings, preferably line-numbered, to
be saved in a file and to be printed.
- It should allow program output to be captured and printed.
- Debugging should provide:
-
setting breakpoints
-
stepping through a program statement-by-statement;
-
stepping into a member function
-
stepping over a function
-
displaying the contents of selected data items at break points.
The debugging interface should be intuitive and not unnecessarily
complicated.
- Ease of installation; in particular, the Java JDK should be easily
incorporated into the installation.
- Availability: The IDE should be available to students on and off
campus at a modest cost, if any.
- The IDE should not be depended upon proprietary (platform/vendor
specific) class libraries.
- Intangibles such as instructor and student acceptance.