Monday, February 18, 2008

BlueJ way of learning Object Oriented programming

BlueJ is a tool to teach and learn Object Oriented programming. I fell in love with this tool as soon as I saw it, so indeed this is love at first site. I exclaimed hey! this is what I was searching for so many days.

The BlueJ site describes it like follows:

The BlueJ environment was developed as part of a university research project about teaching object-orientation to beginners. The system is being developed and maintained by a joint research group at Deakin University, Melbourne, Australia, and the University of Kent in Canterbury, UK. The project is supported by Sun Microsystems.

The aim of BlueJ is to provide an easy-to-use teaching environment for the Java language that facilitates the teaching of Java to first year students. Special emphasis has been placed on visualisation and interaction techniques to create a highly interactive environment that encourages experimentation and exploration.

BlueJ is based on the Blue system. Blue is an integrated teaching environment and language, developed at the University of Sydney and Monash University, Australia. BlueJ provides a Blue-like environment for the Java language.

I have started using this tool in my Java course as it is available for teaching Java. I believe my students will love this tool and will be able to learn OO concepts fast.

Tushar Joshi, Nagpur


  1. I'm not sold on the use of BlueJ as a teaching tool at University level.

    I've got some experience in programming, and recently went back to Uni to complete a degree (or one similar to the one) I started 15 years ago. I wasn't able to get status for a lot of stuff I have done since then, as nowadays it's all in Java.

    And the first thing they taught us was OO using BlueJ. I skipped through until we got to the meaty bits. Which didn't come, really.

    I think teaching OO first is a dangerous step. I am currently tutoring some second-year students who cannot work with for loops, don't know anything about arrays, and are really struggling to grasp concepts like recursion.

    And these students are not alone. More than 60% of the students who learned last year using BlueJ, and are still continuing, are at this stage failing the topic.

    OO is a useful programming tool, but without having the procedural knowledge to (and I'm talking procedural like imperative here, in the programming language concept, not the psychological/knowledge based meaning) back it up, these students are hopeless at programming.

    I think there was actually a lot for learning in a restricted environment, but I think that BASIC and LOGO were better. Why? Because they had the constructs like looping and selection, but not the OO stuff to think about. It's still possible to make exciting graphical stuff, or was back in the 80s when I first learned.

    This has been bugging me, and I'll be blogging about it again soon.

    Don't be fooled by the supposed simplicity of BlueJ. There is just a very real danger you'll be setting up your students for future failure.

  2. Oh, and I live at, if you want.

  3. Thanks schinckel for the detailed comment.

    I teach a professional Java course where the students are usually coming after getting their basic Engineering degree. They already know the C and C++ languages. I choose BlueJ to demonstrate them the object oriented features as they already know procedural language.

    I can understand different people will have different experience and opinion about the same tool. BlueJ is becoming handy to me here in India while teaching Java to my students. These students have prior experience or PHP, C or Visual Basic all the time as these languages are taught to them in their junior college courses.

    Thanks again for the comment, I will surely visit your blog

    with regards

  4. Okay, the fact that they already /know/ how to program makes a difference, I agree.


Thanks for visiting the blog and reading my blog post. Please post your opinion / suggestion for me here.