Young Developer Learning Path

Updated 2010

Learning the Java platform is an adventure. There is so much you can do with Java technologies. Yet, figuring out what you want to do and where to start is the first hurdle you need to clear. This article describes the tools you can use to learn Java programming. You decide which tool to start with based on what you currently know. After reading about the tools, you'll discover resources to learn about the technologies, and the details of the Java programming language.


Figure 1. Greenfoot Lunarlander

The adventure of learning the Java platform should be fun, clear, and exciting. Start with one of the tools listed below, work your way into the next tool, and include the resources as you feel ready. Before you know it, you'll be creating exciting Java applications.

Before You Begin

Before you read about the tools and resources, you need the Java Standard Edition (Java SE) for any of the tools listed below to work.

Download Java SE

Once Java SE is installed on your computer, you are ready to consider the various teaching tools.

Tools Overview

Which tool you decide to use depends on what you already know about programming, and specifically Java programming. All of the tools listed here are designed to show you programming visually instead of just a bunch of confusing lines of code. The tools demonstrate the relationships between objects (you'll learn about objects within the tools), and how to make those objects interact and do things. Yet, each tool has been designed with a certain audience in mind.

If you start with no programming experience and move from one tool to the next, the basic learning path is: Greenfoot > BlueJ > the NetBeans IDE BlueJ Edition, as shown in Figure 2:


Figure 2. Tools Learning Path

Many of you, however, may know some programming, or you may know a little of another programming language, or maybe you've taken a class or two but need greater understanding. The descriptions of each tool below will help you decide which tool is best for you based on where are you are starting on your learning path now.

The Learning Tools

Each of the tools helps you visualize what is happening when you create a program. They help you see the objects and interactions so you can better understand the abstract concepts. All are intended to help you learn Java programming in a fun, clear way.

Greenfoot [Download]

Greenfoot is aimed at high school level (13+), but that doesn't mean someone younger or older won't benefit from it. Basically, Greenfoot is aimed at school level programming. The emphasis is to get something exciting and fun on screen very quickly. It's an easy entry into programming, for people who want to see what programming is like. It's great for people who have had no prior interest in programming. Greenfoot is fun, it's exciting, and it generates interest because it's specialized for building graphical 2D applications. This makes what you create visually fun. It's intended to draw you in to programming. Once you're hooked, you can graduate on to BlueJ, and then later to the NetBeans IDE BlueJ Edition.

BlueJ [ Download]

BlueJ is aimed more at intro university level. It assumes that you know that you are interested in learning programming, and you want to do it in an organized way. BlueJ is generic. It can be used to develop any kind of application. BlueJ teaches the fundamentals of objects, methods, and fields, and shows you visually the relationships between everything you create. You learn the nuts and bolts of the Java programming language, and can also see what is happening visually. Special emphasis is placed on visualization and interaction techniques to create a highly interactive environment that encourages experimentation and exploration.

BlueJ Supports:

  • Fully Integrated Environment
  • Graphical Class Structure Display
  • Graphical and Textual Editing
  • Built-in Editor, Compiler, Virtual Machine, Debugger, etc.
  • Easy-to-use Interface, deal for beginners
  • Interactive Object Creation
  • Interactive Object Calls
  • Interactive Testing
  • Incremental Application Development

Download The BlueJ Tutorial

NetBeans IDE BlueJ Edition [ Download]

BlueJ is an environment specifically aimed at beginning programmers. It offers educational tools, such as visualization and interaction facilities that greatly aid the learning of object-oriented concepts. While BlueJ covers the introductory phase of learning to program, and NetBeans offers powerful tools for professional developers, the inevitable step from one into the other has been a difficult barrier for students - until now.

This tool offers a seamless migration path for students that supports the switch from educational tools into a full-featured, professional IDE. The BlueJ plug-in adds two significant features to the NetBeans IDE:

  • It allows NetBeans to open, work with, and create BlueJ projects in the BlueJ-native format (without converting them to-and-from the NetBeans IDE standard projects), so that you can do some of your work in the NetBeans IDE,and some back in BlueJ, wherever you feel comfortable working.
  • It adds a BlueJ View tab to the NetBeans Project Window, which gives a familiar view of your BlueJ projects.

Download The Netbeans BlueJ Plug-in Tutorial
A set of Lab Notes to help in the transition from BlueJ, and show a few of the facilities that the NetBeans IDE offers to programmers.  

Tutorials for Learning the Java Programming Language

Once you are using BlueJ or the NetBeans BlueJ Edition, you'll also need to learn the basics of the Java programming language. Your best resource for this is The Java Tutorial. Don't let these online tutorials overwhelm you. Take it little by little as you work through projects in the tool you are using. The Java Tutorial teaches the syntax of the Java programming language as well as how to use the thousands of classes available to you.

Bookmark the New to Java Programming Center. Articles and tutorials posted in the center are aimed at learning developers, and are updated often. The level of programming covered varies from beginning to intermediate. The Learning Tab in the center also has a list of articles and tutorials to get you started that should be helpful in the beginning of your learning path.