Skip to main content

Young Developer Learning Path

Posted by dnourie on July 30, 2008 at 12:57 PM PDT

by Dana Nourie

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.

Greenfoot Lunarlander

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:

Learning Path for new developers

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.

Download Quick Intro Tutorial

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:

RingsDataListIcon.gif

Fully Integrated Environment

RingsDataListIcon.gif

Graphical Class Structure Display

RingsDataListIcon.gif

Graphical and Textual Editing

RingsDataListIcon.gif

Built-in Editor, Compiler, Virtual Machine, Debugger, etc.

RingsDataListIcon.gif

Easy-to-use Interface, deal for beginners

RingsDataListIcon.gif

Interactive Object Creation

RingsDataListIcon.gif

Interactive Object Calls

RingsDataListIcon.gif

Interactive Testing

RingsDataListIcon.gif

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

  • An extended tutorial by Dana Nourie.
  • A video on NetBeans/BlueJ from the Sun Developer Network.
  • 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.
  • If you really want to see how far you can take the Zuul-for-NetBeans project, check out Brian Leonard's excellent Zuul everywhere tutorial.
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. Young Developers is designed specifically for people 13 years old and up.

Additionally, you can subscribe to Java Technology Fundamentals
through convenient RSS feeds. Articles aimed at beginners to
intermediate programmers go out in the feed several times a month. Some
of these are articles that were published on java.sun.com, some are lessons from the Java Tutorial, and some are specifically written for Java Technology Fundamentals and the New to Java Programming Center. All are designed to help you learn the Java platform.

If you have a Facebook account, be sure to Become a Fan of the Getting Started with Java Programming page and visit it regularly, as new content is added automatically through RSS feeds.

When your programming skills are more intermediate, then also consider subscribing to Core Tech Tips. Like Java Technology Fundamentals, Core Tech Tips go out several times a month, but these programming tips are aimed at intermediate to advanced Java developers.

Summary

Choose your learning tool, use the resources, start programming, and have fun!

Also see the Young Developers page.

Related Topics >>

Comments

A neat site that lets students practice with basic Java loop/logic/recursion code right in the browser is: http://javabat.com

Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience. http://www.alice.org/ Randy Pausch, the professor at Carnegie Mellon University who inspired countless students in the classroom and others worldwide through his highly acclaimed last lecture, was a key member of the Carnegie Mellon Human-Computer Interaction Institute and co-founder of the Entertainment Technology Center. His love of teaching, his sense of fun and his brilliance came together in the Alice project, which teaches students computer programming while enabling them to do something fun — making animated movies and games. Carnegie Mellon — and the world — are better places for having had Randy Pausch in them."