jIDEE :: Java IDE for Education
Context
Broadly speaking, there are two approaches taken toward programming environments in education. The first involves having students use professional-grade, highly integrated development environments such as Eclipse, NetBeans, or Microsoft Visual Studio. The second approach eschews integrated development environments entirely and has students use general-purpose text editors for developing code and command-line tools for compiling, linking, and debugging programs. Each approach has its pros and cons.
Professional IDEs: pros and cons
A primary benefit of using professional-grade integrated development environments is the tight coupling of the write->compile->link->execute/debug cycle. This tight coupling results in greater coding convenience and productivity.
Arguably, the biggest problem associated with this convenience from a pedagogical point of view is that it masks important details of the code building process. The ever-present "Build-and-debug" button used to automatically compile, link, and debug applications effectively shields the developer from the stages between writing and execution. While this can be a tremendous convenience for the experienced programmer, it tends to leave new programmers with misunderstandings regarding the structure of the program building process.
Another problem typically associated with professional IDEs for new programmers is the complexity involved in configuring and maintaining projects. The learning curve can be long, frustrating, and a distraction from the process of programming education. In addition, the requirements of a given IDE's project management are sometimes confused with the programming language's code management requirements. Finally, most professional IDEs are highly featured and very configurable, which leads to interfaces that are at best distracting to a new programmer and at worst to "Oops, what happened?" experiences from which the programmer cannot find a return path.
Non-integrated tools: pros and cons
The biggest benefit of using the "text editor plus command-line tool" approach is the clear delineation of the individual phases of the write->compile->link->execute/debug cycle.
However, this clarity comes at a cost. For most, typing commands on the command line is far less convenient than pointing to and clicking on GUI entities, and errors in command-line syntax or semantics are very common, especially for new programmers. Both of these lead to significant frustration, discouragement, and loss of time and motivation on the part of the student.
Pedagogical alternatives
jIDEE attempts to provide a development environment that combines the best of both worlds for first year computing courses. It has been designed to be an easy to use IDE that reveals the underlying structure of the code development process. The heart of jIDEE is a file and tool manager serving as a wrapper around third-party programmer's text editors, the Java Development Kit, and the Java Runtime Environment. We envision that after a developing programmer uses jIDEE for one or two semesters, the fundamentals of code development and project management will have taken root, and she or he will be ready for a full-fledged IDE.
Other Java IDEs often used in introductory programming education include BlueJ and JGrasp. Each represent and support different pedagogical approaches and priorities.