Over a million developers have joined DZone.

Tushar Joshi: Why NetBeans IDE is Great for Teaching Java

DZone 's Guide to

Tushar Joshi: Why NetBeans IDE is Great for Teaching Java

· Java Zone ·
Free Resource

We've now met Michiel Noback from Hanze University of Applied Sciences, in Groningen, the Netherlands, Zoran Sevarac from the University of Belgrade in Serbia, and Pieter van den Hombergh from Fontys University of Applied Sciences in Venlo, the Netherlands. They're all teachers who make use of NetBeans IDE in the classroom to teach Java. Now let's travel to India and meet Tushar Joshi in Nagpur! -- NetBeans Team

My name is Tushar Joshi and I work as a Senior Architect at Persistent Systems, in Nagpur, India. I've been involved in teaching Java and software development to graduates for 8 years and also conducted courses related to professional software development using Java.

My focus had always been on teaching students tools which will make them proficient in the language and also make them industry-ready with concepts such as working in teams.

In this article I’ll share my experiences about why I find NetBeans IDE to be great for teaching Java.

NetBeans IDE Acts As Catalyst

NetBeans IDE provides enough support to make the life of a student easier and with that it does not impose any specific way of working. Projects created in NetBeans IDE can also be run headless with very little effort and I always make students explore ways to build and run projects from outside the IDE. 

NetBeans IDE has different ways of managing projects, such as Ant based or free-form Ant based, where your own external Ant build file can be used directly, as well as Maven based projects.

Excellent Tool for Teaching Source Control Techniques

I insist on my students learning source code control early in their learning stage, as soon as they start creating their own small projects. NetBeans IDE provides out of the box support for major version control systems Git, Subversion, and Mercurial.  

I motivate students to create their own GitHub account or java.net account and host their projects on these sites. NetBeans IDE provides support to use code from these sites directly as they use Git and Subversion tools.

Out of the Box Bundling of Standard Frameworks

NetBeans IDE comes with bundled frameworks like Spring, Hibernate, Struts, and JSF. NetBeans IDE also provides samples for these frameworks, which are well worth exploring. Usually they have a document on Wiki per sample project, which is very easy to follow and hence related frameworks can be learned. NetBeans IDE includes many standard frameworks and if it is available with NetBeans IDE, we can assume that the framework will be popular and in demand by many users, hence for a student it becomes an objective to learn those frameworks, to make them ready to work in the software development world when they start their career.

Out of the Box Support for Latest Java Features

As students, they want to learn "state of the art technology" and to make themselves ready for the latest versions of the Java platform. NetBeans IDE helps them learn features of new JDK versions early. 

For example, NetBeans IDE 7.4 has support for JDK 7 as well as Java EE 7, while support for JDK 8 is also becoming available, officially with NetBeans IDE 8. Early support for JDK 8 has already started appearing in NetBeans IDE 7.4 and in the latest development builds of NetBeans IDE and as a student they want to access those bits early.

Centralized Support for Multiple Technologies

NetBeans IDE provides support for multiple technologies in one place. This helps while developing Web applications which need files to support many different technologies, such as Java, XML, CSS, JavaScript, etc. 

NetBeans IDE provides color coding as well as autocomplete features for making the development of software quick and error free.

Out of the Box Profiler

NetBeans IDE has a built-in Profiler, which I use to teach profiling concepts and in introductions to performance optimization to my students:


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}