Educational java IDE

  • Thread starter Alexander Cherednichenko
  • Start date
A

Alexander Cherednichenko

Hello All!
I have a question about selection of development tools for the
educational purposes. Now, students learn algorithms on Pascal. The
decision was accepted to move algorithms course to java, so i need to
select a FREE IDE acceptable for java learning. Btw, I am talking
about Kherson State University.

The requirements follow:
* this should be free lightweight IDE capable of running on Windows
machines (WinXP, Win2k, Vista)
* IDE should concentrate the attention of student on the problem
being solved. It should be as easy as possible, contain as less
buttons as possible, need as less configuration as possible, and be as
straightforward as possible
* it should not be focused on the technological aspect of java
programming - students do not learn what is classloader and
securitymanager, and how classpath is formed, on this course. They
should press RUN and get application running.
* the only one type of application types really needed is console
one.
* some kind of integrated debugger to see what's happening in
runtime.
* easy concept of projects movable from one media to other. Project
should be capable of being easily transferred from home computer to
class one.
* the focus of course is on algorithms; the OOD is used in reduced
form - students work with data structures (mostly arrays) and
algorithms over them (sorting, search, etc...), so there is no need in
powerful modelling tools in IDE.

I have tried to strip Eclipse to easy form, but after asking the
newcomers found that Eclipse is really not so easy to understand for
them.

What IDE would you recommend for academic purposes, which would cover
at least some of these requirements?

Thank a lot for reading all i have written so far :) and sorry for the
big post, but I need to fugure out at least candidates.

Maybe, some of All is still studying at university, or teaching, so
could recommend an ide from their experience?
 
L

Lord Zoltar

When I took algorithms courses, vim (although there are many other
good text editors out there) and the command line were enough. The
programs were rarely large enough (in terms of lines of code, or
number of classes/files) to warrant a full-blown IDE, as most of the
hard work was done with pencil and paper. Since you don't need
powerful modelling capabilities or database integration, I think MOST
IDEs (NetBeans, Eclipse, etc...) would be overkill.
I've heard BlueJ is a good "educational" IDE. I have never used it,
but it's the only "simple" IDE that I know of for Java.
 
A

Alexander Cherednichenko

When I took algorithms courses, vim (although there are many other
good text editors out there) and the command line were enough. The
programs were rarely large enough (in terms of lines of code, or
number of classes/files) to warrant a full-blown IDE, as most of the
hard work was done with pencil and paper. Since you don't need
powerful modelling capabilities or database integration, I think MOST
IDEs (NetBeans, Eclipse, etc...) would be overkill.
I've heard BlueJ is a good "educational" IDE. I have never used it,
but it's the only "simple" IDE that I know of for Java.

As of my experience using Vim, it is not much less easier than rich
IDEs like mentioned Eclipses etc... nor less powerful.
This is a question of comfort - and about the pencil w/paper - yes,
you are right, this is needed indeed. :)

Thanks for BlueJ link, it seems to me I have heard something about it
in past.
I'll try one.

Thanks!
alex
 
L

Lew

Alexander said:
As of my experience using Vim, it is not much less easier than rich
IDEs like mentioned Eclipses etc... nor less powerful.
This is a question of comfort - and about the pencil w/paper - yes,
you are right, this is needed indeed. :)

Thanks for BlueJ link, it seems to me I have heard something about it
in past.
I'll try one.

Many of the commercial IDEs have free or significantly reduced-price versions
for the educational market.

Eclipse and NetBeans are two of the best IDEs out there, and are open source.
They are roughly equivalent in features. Both form the basis of commercial
offerings, but I have seen a lot more derivatives of Eclipse in the commercial
world (everything from Rational). Both support plugins to extend
capabilities. Both have vibrant developer and user communities. Both play
well with all major frameworks, servers, databases, XML and other acronym
farms. Both are also highly capable rich-client platforms (RCP).

Advocacy between the two is an Editor War [1]. Personally I prefer NetBeans
over Eclipse. I prefer Eclipse, the free one, over its commercial offspring.
I've used both for years, often on the same projects, and I never complain
about having to use Eclipse (and family). Much. Too often. Where folks can
hear me. I don't hold the preference for Eclipse against those benighted
folks afflicted with it, either.

[1] <http://en.wikipedia.org/wiki/Editor_war>
<http://stallman.org/saintignucius.jpg>
<http://www.dina.dk/~abraham/religion/>
<http://www.splange.freeserve.co.uk/misc/vi.html>
 
D

David Segall

Alexander Cherednichenko said:
Hello All!
I have a question about selection of development tools for the
educational purposes. Now, students learn algorithms on Pascal. The
decision was accepted to move algorithms course to java, so i need to
select a FREE IDE acceptable for java learning. Btw, I am talking
about Kherson State University.

The requirements follow:
* this should be free lightweight IDE capable of running on Windows
machines (WinXP, Win2k, Vista)
* IDE should concentrate the attention of student on the problem
being solved. It should be as easy as possible, contain as less
buttons as possible, need as less configuration as possible, and be as
straightforward as possible
* it should not be focused on the technological aspect of java
programming - students do not learn what is classloader and
securitymanager, and how classpath is formed, on this course. They
should press RUN and get application running.
* the only one type of application types really needed is console
one.
* some kind of integrated debugger to see what's happening in
runtime.
* easy concept of projects movable from one media to other. Project
should be capable of being easily transferred from home computer to
class one.
* the focus of course is on algorithms; the OOD is used in reduced
form - students work with data structures (mostly arrays) and
algorithms over them (sorting, search, etc...), so there is no need in
powerful modelling tools in IDE.

I have tried to strip Eclipse to easy form, but after asking the
newcomers found that Eclipse is really not so easy to understand for
them.

What IDE would you recommend for academic purposes, which would cover
at least some of these requirements?
"BlueJ is an integrated Java environment specifically designed for
introductory teaching" http://www.bluej.org/about/what.html.

Because of that it can be confusing for beginners particularly if they
are accustomed to another IDE but it is well worth a look. It is
supported by Sun and NetBeans has a version that provides easy
migration for advanced students.
 
H

Hal Rosser

Alexander Cherednichenko said:
Hello All!
I have a question about selection of development tools for the
educational purposes. Now, students learn algorithms on Pascal. The
decision was accepted to move algorithms course to java, so i need to
select a FREE IDE acceptable for java learning. Btw, I am talking
about Kherson State University.

Everyone has their favorite.
We use "JGrasp" at our school.
http://www.jgrasp.org/
You enter source code - one-click to compile - then one-click to run.
It also lets you debug -line by line, highlights the next line to be run.
It happens to also be a Java App.

Quick learning curve to use it, too.
 
N

nebulous99

As of my experience using Vim, it is not much less easier than rich
IDEs like mentioned Eclipses etc... nor less powerful.

This seems to be confused, probably because the poster is not a native
English speaker.

The facts of the matter are that the vi family of editors are rather
archaic and have quite-primitive user interfaces and are certainly
both much harder and much less powerful than modern IDEs like Eclipse
to use.

Use of a rudimentary tool set such as a text editor and command prompt
may have some educational value as to the underlying compilation
process; a course may wish to require such (but not a specific text
editor) for compiling an initial "Hello, World" so the students
understand the basic process. However, students would benefit from
learning state of the art modern tools like NetBeans or Eclipse that
will scale well to large projects and serve them well in the workplace
and should probably be introduced to the use of a modern IDE by mid-
course and use it for their subsequent coursework.

Benefits of a modern IDE include ready integration with CVS/SVN/other
source repositories (which might be desirable to use in a later-year
software development course on campus, so that they have experience
with such tools before entering the workforce) and semantic-aware
refactoring support, along with an actual user interface to such
functionality. Such features are sometimes available in a kludgy form
for text editors but are tacked-on functionality not well integrated
into the UI and require memorizing awkward command sequences or
hotkeys to activate and use instead of having a modern menu-driven
interface. In particular, you can just set up Eclipse to access a
repository for a given project once and then just work on the
project's source files almost as one would local source files not in
source control. With less modern tools, at minimum you'd need to hand-
hack some configuration file adding a script of some sort to it to
make it do something similar, if it were possible at all. Your
students are presumably there to learn to program Java, not their text
editor's idiosyncratic and everywhere-else-useless scripting language.
In the middle you might need to do something weird for every file open
and file save, instead of just browse your class hierarchy and edit
away. In the worst case you'd have to manually check out and check in
files from a command prompt on either side of editing a local
temporary copy. In summary: at best a lot of extra training is needed
to use a more primitive user-interface to the same functionality; at
worst the functionality just plain isn't even there.


So the recommended tool set (for Java) would be:

- first few assignments, Notepad and javac and javadoc, and perhaps
ant
for the last one or two of these.
- remainder, Eclipse with ant integration. In more advanced courses,
Eclipse and SVN or CVS.
- NetBeans is as good as Eclipse here. A commercial IDE is no better
but more expensive and .edus need to save money when they can.
- A "for education purposes" IDE might not be all it's cracked up to
be.
The students will gain by learning their way around a full-strength
IDE such as they will likely encounter (or just plain want or need)
once in the workforce.

An IDE pre-loaded with some projects in its workspace, e.g. as a
result of starting students off with a standard drive image and basing
these example projects on some of the examples in Sun's Java Tutorial,
might be useful. These projects could be referenced, built, and
experimented with by the students to learn how to use the IDE and the
language and to learn things from Sun's tutorial, acting as
supplementary course material. Their assignments might also involve
directed modifications of existing projects.

One thing that might be useful is a *maintenance*-oriented assignment:
take this project full of bad code and add a feature. Bonus points the
better the code gets refactored in the process of sorting out how to
add the feature. Adding a similar feature to already-nicely-factored
code might be an adjacent assignment, so the student notes the
contrast between how hard it was to do the one and how easy the other.
That might help them realize the benefits of coding cleanly from the
outset! So might requiring them to revisit an early assignment late in
the course to add something to it -- how easily can they maintain
their own code from a few months earlier?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top