Teaching with NetBeans

"Rick Henderson" <[email protected]> Thu, 12 Jun 2003 11:41:52 -0400
Newsgroups gmane.comp.java.netbeans.education
Message-ID <000901c330f9$281c5040$28f0dbc0@learn>
Hello all! 

(. waits for echo to return.)

I just stumbled upon NetBeans yesterday and I must say that I am quite
impressed with the coding effort that has gone into it.

I started looking at Studio One Community Edition for use in a
university setting and I found that instead of the Community Edition
they are suggesting NetBeans. Fair enough, so I'm looking at it now.
Here's a bit of my background:

For part of my duties, I teach labs for a second year computer science
course in Advanced Data Structures, implemented in Java. In the United
States, a course like this is refered to as a CS2 course I believe
(students already learned how to design and program, so far in C and
this could be their first Java course and they most likely hadn't had
any background in Object Oriented Programming). So they work on
assignments implementing Binary Search Trees, AVL Trees, Red-Black Trees
etc. and there last assignment would be something like implementing a
Wheel of Fortune type game. We don't cover GUI programming, so chances
are most will be doing console based apps.

When looking for a Java IDE I first came upon JCreator, which is small,
functional, and extremely good all around. It has both a free and a for
fee Pro version, so it fits in the right price range for a Canadian
university with funding woes. Problem is, it only functions under
Windows, but its benefit is that it isn't written in Java (which I like
for performance reasons). Once they see it, most of my students tend to
do most of their coding in JCreator.

When I began working with this course, the prof wanted the students to
use our Sun Lab (Ultra Sparc 5s running Solaris7 I think.upgraded to 8
or 9 last year) but we didn't have any good IDE, because JCreator only
runs under windows and we found other IDEs (like Forte, and the one from
IBM) to be too powerful for what we needed. There was too much
functionality that overwhelmed a beginning Java programmer. So even
though they were expected to use the Sun lab to get more experience with
Unix, most students were still doing their coding with Jcreator. In labs
we used TextEditor (I really don't want to teach students vi) when we
could if necessary and I showed them how to compile from the command
line.

Then last year I came across BlueJ and my prayers were answered. It was
written in Java, but its small and fast. It works great for teaching
because the interface is simple, and allows students to learn
object-oriented ideas right from the start (you start by creating
objects/instantiating objects, not by writing code) but once you explain
the basics to students, they eventually get the urge to move forward (or
so I would think). BlueJ has a very simple text editor which isn't very
pretty but it does have a great debugger. There was on older post on
this list who mentioned the same thing. Starting off with BlueJ is good
but eventually you'll want something better.

NetBeans gives me the opportunity to maybe offer the students something
they can move too when they have "graduated" out of BlueJ. We still have
a lot of work to do to integrate BlueJ into the course but a few
students have said they really like it and many have stuck with it. 

I'll look at it over the next little while and see if I can configure a
simpler version. has anyone done this already? One with less options
that isn't so overwhelming, but maybe with the option to show more
features as the user develops (like an Advanced Mode).

Also, I would be very interested in seeing the work done with a way for
students to submit work or a way to catch/avoid cheating. Are their
profs out there who re-use old assignments and how do you avoid copying?

Sorry, not very coherent but I had a lot to say.

BTW:
The page at http://edu.netbeans.org/quicktour/editor.html should be
updated with the current version of the software. For example, to enable
Abbreviations it says to choose Project | Settings | Editor Settings but
its really located under Tools | Options | Editing | Editor Settings.

-----
Rick Henderson
Computing Lab Supervisor
Wilfrid Laurier University
Department of Physics & Computer Science
http://sauron.wlu.ca/physcomp/rhenders/rick_henderson.htm