Mar 4, 2014

Why NetBeans IDE is Great for Teaching Java

Why NetBeans IDE is Great for Teaching Java

I am a senior lecturer in Software Engineering at the University of Applied Sciences in Rosenheim, Germany
The university is heavily influenced by enterprises in Munich, such as BMW, Allianz, and Siemens. Most students are already contracted by a major company and have done a lot of practical work by the time they come to me. 

Over the last 14 years, I have given several courses, such as "Advanced Programming (Programming III)", "Distributed Computing" and "Graphical User Interface Development". Up until 2006, I used commercial versions of IntelliJ IDEA for my lessons. But then I switched to NetBeans IDE and I've been quite happy with it. Here are my personal thoughts about why NetBeans IDE is a good choice for teaching.

  • NetBeans IDE Is Free, Open, Extensible, And Well Documented.

    It is important that students can use the IDE for free and that every student gets a personal licence. When I used IntelliJ IDEA, most students worked with Eclipse at home. That leads to serious problems. Some of my solutions did not work because of classpath issues or JDK version problems. That can be avoided with a consistent image that bundles the JDK, Scene Builder, Maven, and NetBeans IDE in one virtual disk, for which I use VHD files.

    Solutions are updated by using Subversion or Git. This can be easily done with NetBeans IDE. There is no installation process or license setup necessary. There are so many blogs and tutorials available.

    As a result, students never get stuck anymore.
  • NetBeans IDE Is Consistent.

    Sure, NetBeans IDE may not have all the plugins that Eclipse provides. But for teaching purposes that isn't important. Also note that NetBeans IDE has more plugins than you might think:

    On the other hand, a real problem is all the annoying warnings that most IDEs provide. If your IDE reports too many or inconsistent warnings that students cannot avoid, the warnings become useless. I had problems with many other IDEs with warnings that I could not get rid of. Problems often come from plugins. With NetBeans IDE, everything works without separate plugins, including Java EE development, and you can get rid of false positives in warnings in most cases.
  •  NetBeans IDE Has Strong Maven Support.

    For teaching, it is very important to separate the development process from the build process. For the last few years, I've used Maven to automate the build process. In NetBeans IDE, Maven integration is great. It is much better than Eclipse.

  • The NetBeans Platform Rocks.

    With the NetBeans Platform, you can write you own application with an installer, plugin support, and multiple window support in seconds.

    That helps to teach how valuable a rich-client platform is and what its important parts are. Students can also look at the source code of the NetBeans Platform and its design patterns, as a non trivial example of a real application, which is valuable too.

More information about the above application that we work on is here.

In conclusion, for me and my students, using NetBeans IDE is fun and I can strongly recommend using NetBeans IDE instead of Eclipse or IntelliJ IDEA for teaching.