Computer Science

I use BlueJ in my courses.
I like it for pedagogical reasons
(see and interact with your objects/classes, run JUnit tests, integrate with JAMtester).
JCreator is also nice - I've used it in class and I use it personally. Recently I've started to
use Eclipse - and like that a lot as well - I'll use it in class as well.


Free IDE! Great for viewing object relationships and performing unit/regression testing.
Detailed instructions and useful configuration tips.

Reasons to use BlueJ in an academic environment

  • The object diagrams you are referring to while teaching are drawn for you in BlueJ. As you teach, you are showing them the hierarchies over and over again - and you're interacting with the objects (which is what oop is all about).
  • Getting your students setup and running at home is much easier than the other environments.
  • It works on a pc and a mac.
  • The environment is simple; there aren't a lot of buttons, options, etc. to get in the way of the beginning student. You can keep them focused on what they should be focused on.
  • Allows you to perform unit testing - this is a huge benefit not to be overlooked. Please check out Jamtester to read about unit testing and another tool I created to help you auto-grade labs and help your students write better code - this is a must read.
  • Allows you to test a class or method of a class without having to write a "main program". You can instantiate one instance of the object and then call a method (sending it any parameters) and it'll give you the result.