31 - 45 of 48 « previous next »
|
BlueJ 3.1.5 released!
02 Apr 2015
A new release of BlueJ is available.
The BlueJ team have released BlueJ version 3.1.5. This release includes support for the Raspberry Pi 2, and several bugfixes and improvements.
|
BlueJ 3.1.4 released!
02 Oct 2014
A new release of BlueJ is available.
The BlueJ team have released BlueJ version 3.1.4. This release includes support for Java 8 language features, performance improvements for running on the Raspberry Pi, and several usability improvements and bugfixes.
|
BlueJ 3.0.9 released!
22 Feb 2013
A new release of BlueJ is now available.
The BlueJ team have released BlueJ 3.0.9. This is mainly a bug-fix release, but it does add the ability to select the interface language from the preferences dialog, and for Mac OS X 10.7+ users allows using BlueJ with Java 7.
Download it now!
|
The BlueJ Team Are Hiring
23 Nov 2012
The BlueJ/Greenfoot team are currently looking to hire new two team members. We are inviting applications until the 19th December. You can view the official job description and apply online, while one of our existing team members, Neil Brown, has written a more informal description of the job and the team.
The job is an interesting mixture of software development and academic research into computer education. BlueJ is used by several million users worldwide, and has an interesting web-scale data collection project being developed, while Greenfoot is a fast-growing fun visual educational system for kids with new ideas in the pipeline. Not to mention our teacher community websites, such as this one!
If you have any questions about the position then please feel free to contact any of the BlueJ team – Michael can be reached at mik@kent.ac.uk.
|
Live map of BlueJ use
24 Sep 2012
Is there life out there, other than myself? Find out on this map.
The semester has started again in many places int he world (especially in the northern hemisphere), and BlueJ use is picking up with it.
Have you ever wondered where BlueJ is being used, other than on your own machine? Find out with this map. Here, you can see invocations of BlueJ in other places – live, in real time!
|
BlueJ at SIGCSE
17 Jan 2012
Some members of the BlueJ team will be at the SIGCSE 2012 conference this year, presenting opportunities to use BlueJ for your Computing Education research.
At the SIGCSE 2012 conference in Raleigh, North Carolina (USA), Ian and Michael from the BlueJ team will host a special session titled Building an Open, Large-Scale Research Data Repository of Initial Programming Student Behaviour (Fri, March 2, 1:45-3:00).
In this session, we will present and seek input into a new project that aims to use BlueJ do gather large scale data for computing education research. If you are interested in CompEd research, and you have an idea of what data you’d like to collect, come along and tell us. Or if you just want to find out what this is about – now’s your chance.
Ian, Michael and Neil from the BlueJ team will also be at the Oracle booth in the exhibit area much of the time (doing Greenfoot demos), so come along and say hello if you are in the area.
|
Objects First With Java - Fifth Edition
13 Dec 2011
A new edition of the BlueJ book “Objects First With Java” is now available.
The fifth edition of the “Objects First With Java” book — the BlueJ book by David Barnes and Michael Kölling from the University of Kent — has now finally been released.
David and Michael worked on this edition for about a year, and it’s good to see the book finally available in the shops. This edition is a substantial update of previous editions of the book. Many examples have been updated with newer, more relevant projects, and additional explanations have been added where experience has shown students find things difficult. A new addition are “video notes” to accompany the book, which will be released over the next couple of months.
The new edition now covers Java 7 constructs, while remaining fully usable with Java 6 as well.
The book is out now in the US, and should become available in Europe and the rest of the world within the next few weeks.
|
BlueJ 3.0.6 is out now
10 Nov 2011
The next release of BlueJ is now available.
BlueJ 3.0.6 has been released. This is a maintenance release which fixes some small bugs and problems.
In particular, a fix for an issue with the display of class documentation when running with Java 7 has been resolved, various problems in the codepad have been fixed, and some problems with method call result dialogs not displaying have been rectified.
All users of BlueJ 3.0+ are encouraged to upgrade to this new version.
Download it now!
|
10 Million Downloads of BlueJ
29 Oct 2011
The BlueJ environment, a system to learn and teach object-oriented programming in Java, has been downloaded 10 million times.
BlueJ was developed in the Programming Education Tools Group, part of the Computing Education research group at the School of Computing, University of Kent, and is being distributed and used worldwide. BlueJ is currently in use by thousands of teaching institutions, including universities and high schools in 18 natural languages, and has changed the way introductory programming is taught for millions of students.
While downloads numbered in the tens of thousands in the first year, they now run at about 2.5 million per year, hitting a total of 10 million this week, since records began in 2001.
|
Java 7 for introductory programming — does it make a difference?
31 Aug 2011
The recently released BlueJ 3.0.5 brought full support for Java 7. While it is always good to be up-to-date with the latest versions — what does that actually mean for introductory programming teaching?
Java 7 brought a considerable list of new features to the Java system. Most of them deal with fairly advanced or specialised topics, and will have no influence on introductory teaching with Java. Some, however, will become visible even close to the beginning of programming. Here, we give a short overview of what’s new, and what you — as a teacher of introductory programming — should be aware of.
Java 7 - What’s new
Most of the new features in Java 7 are under the hood or in specialised libraries. These are very unlikely to affect an introductory programming course.
Improvements to the internals of the JDK include changes to the VM to support dynamically typed languages and improvements to the class loader architecture. On the library side, there are new frameworks for concurrency, cryptography and new versions of JDBC and Unicode. All these will not be relevant for most introductory courses.
The two areas that are relevant are “Project Coin”, the code name given to a project defining several small language enhancements, and NIO.2, a new library for I/O. We’ll discuss these in more detail in a moment.
Equally important, what’s not included in this release includes support for closures (known as “Project Lambda”). This would have been the most significant change to Java since the introduction of generics in Java 5 or, arguably, since the original definition of the Java language in 1995. Project Lambda has, however, been deferred to JDK 8 in what’s known as Plan B. JDK 8 is currently scheduled for release in late 2012.
So, which of the new Java 7 features are actually relevant for our intro programming course?
NIO.2
The I/O classes in Java have been improved several times over the years. The release of JDK 1.4 in 2002 brought some significant improvements in the somewhat short-sightedly named NIO library. The naming is rather less than ideal, since it stands for “New I/O”, and the passing of time dictates that everything new will eventually get old.
Which brings us to Java 7 and the New New I/O. So what will this be called now — NNIO? Well, the designers settled on NIO.2.
NIO.2 brings a number of new classes and interface, some with very useful methods. If you are doing any programming that accesses the file system, it’s worth familiarising yourself with these. Particularly interesting are the Files and Paths classes, and the Path interface, which you can find in the java.nio.file package.
All other relevant new features are part of Project coin. They are diamond notation, strings-in-switch and improved exception handling.
Project Coin
Diamond notation
Generic type details on the right hand side of an assignment can now be inferred. For example, where in Java 6 we had to write
HashSet<String, Monster> monsters = new HashSet<String, Monster>();
to declare a HashSet variable and initialise it with a fresh HashSet object, in Java 7 we can write
HashSet<String, Monster> monsters = new HashSet<>();
In other words: We do not have to repeat the generic types of the HashSet on the right hand side, and can instead just write <>. (This syntax is the reason that this construct is known as the “diamond notation”). The effect of this is exactly as the Java 6 version above. It is a purely syntactic shortcut. The compiler will fill in the generic types by copying them from the variable declaration on the left, and all behaves just as before. Of course, the old notation is still allowed.
Strings in switch statements
The variable used in switch statements can now be of type String. For example
switch (command) {
case "go" :
goForward();
break;
case "help" :
showHelp();
break;
default :
unknownCommand();
break;
}
Before Java 7, strings could not be used in switch statements.
Improved exception handling 1: multi-catch
It is now possible to catch multiple exceptions in a single exception handler. For example:
try {
file = new File("readme.txt");
process(file);
}
catch (FileNotFoundException | UnsupportedEncodingException ex) {
...
}
As you can see in this example, the catch clause can list multiple types of exception in it’s header, separated with an OR symbol, to catch any of these types of exception.
Improved exception handling 2: try-with-resources
The second new feature relating to exceptions is called try-with-resources. It solves a hard problem: It was previously surprisingly hard to correctly guarantee that resources (such as files or network connections) were correctly closed in the case of an exception.
The new construct solves this. Look at this example:
try (FileWriter writer = new FileWriter(filename)) {
...
}
catch (IOException e) {
....
}
Before Java 7, the standard way to close a resource (a FileWriter in this example) would have been in a finally block, which followed the catch block. In Java 7, the FileWriter is opened in round brackets following the try keyword, marking it as a resource to be auto-closed. Once the try/catch block is completed, the resource will automatically be closed by the Java runtime system.
For classes to be used with the auto-close mechanism, they must implement the new AutoCloseable interface. All the relevant classes in the Java library have been retrofitted to implement this interface.
That already sums up the relevant Java 7 changes. As we can see — not much to worry about here. (This will be different next year, when JDK 8 will bring us closures. I expect we will have to have a lively discussion then about how to treat these in a first-year course. But we can leave that for a while.)
To find out more about the new constructs in Java 7, see this summary. The next version of the Object First book (5th edition, to be released in late October) includes discussion of these new features.
If you have any questions or comments, please use the discussion forum here in the Blueroom.
|
BlueJ is 12 today!
23 Aug 2011
It’s BlueJ’s birthday today.
The BlueJ system has quite a longish history by now. Many people were involved over the years, in several different countries. The first full release, Version 1.0, was on 23rd August 1999, when the project was located in Melbourne, Australia. That makes it a full 12 years since inception.
We have come a long way since then. Let’s all have a drink to the next 12!
|
BlueJ 3.0.5 is out, supports Java 7
16 Aug 2011
BlueJ 3.0.5 has now been released. Get it while it’s hot!
Those of you paying attention will have noticed that this news item is a little delayed. BlueJ 3.0.5 was, in fact, released a couple of weeks ago. However, I have been on holiday, so I haven’t kept up with writing news announcements. Sloppy, I know, but sometimes some time out with the kids takes priority :)
Anyway, while I was relaxing in sunny Illinois, the rest of the team, mainly Davin, Neil and Phil, were busy at work and finalised the BlueJ release and got it out the door.
Many of the new features have already been presented in a previous news item, so I won’t repeat that here. However, there is one additional new feature:
BlueJ is now fully compatible with Java 7.
This does not only mean that BlueJ runs on JDK 7, but also all new language constructs are fully supported.
With this release, we managed to get Java 7 support out only three days after Java 7 itself was officially released. Not too bad, I think.
Have a great summer everyone.
Michael
|
BlueJ 3.0.5 coming soon
18 Jul 2011
BlueJ version 3.0.5 is being prepared for release and includes some new features. It should be out within a week or so.
We are currently preparing the release of the next BlueJ version - 3.0.5.
It is numbered as a bug fix release — only a minor point update — as bug fixes are indeed the main priority. However, it also includes a small number if functionality changes. These include:
Scope colouring and comments
Comments are now displayed better at the beginnings and ends of scopes. For example, this is a display from BlueJ 3.0.4:
There are two places here where the scope colour is ended by a comment. Both after the if statement and at the end of the ‘up’ method, the trailing comment stops the scope colour. In version 3.0.5 this has been changed to include the comment in the coloured area:
Recording of method calls
As some readers will know, the BlueJ terminal has an option to record method calls made interactively. This can help to document project testing, but also in the introduction of the syntax of method calls. The format of these calls has been improved to show Java syntax better than before.
Treatment of non-ASCII characters
Character encodings have been a very long standing annoyance with BlueJ for people who use non-ASCII characters and work on multiple platforms. Up to version 3.0.4, BlueJ used the local platform’s default character encoding for its files. Since the platform encodings are different between different operating systems, non-ASCII characters were garbled when transferred from, say, Windows to MacOS.
If, for example, I wrote my last name — Kölling — properly in the source code, it would not survive transfer of the project to a different system.
As of BlueJ 3.0.5, all files are encoded in UTF-8, and it should be safe to transfer projects between systems, even if they contain local language characters.
JUnit 4
JUnit has been upgraded to JUnit 4. This changes the syntax of unit test methods to use annotations instead of prefixed method names.
The JUnit 4 support in BlueJ is based on a contribution by Patrick Doran-Wu, working with Rachel Cardell-Oliver, from the University of Western Australia. Many thanks for implementing this and contributing it back!
Apart from the changes listed here, BlueJ 3.0.5 includes a good number of bug fixes. (If you are interested, you can see the complete list in our bug tracker database.)
We would also like to thank the many translators who have again contributed translations of the interface into other languages. We are currently in the process of final testing and incorporating some interface translations. Once that is completed, we are ready to release. I expect this will be in about a week.
|
Get your own BlueJ mug!
16 Jun 2011
You can now earn yourself a BlueJ coffee mug by uploading a resource to the Blueroom.
Since opening this site a few weeks ago, quite a lot of teachers signed up. We’re now more than 230 people here, all in less than four weeks. And there were some interesting discussions. All that is good.
One other area where we hope the Blueroom can help instructors is with sharing of resources. So far, only very few resources have been uploaded.
There may be many reasons for it - you are too busy right now, you think your resource is not really interesting to others, you just want to put some finishing touches to it and didn’t yet get around to do it…
One thing it is not is that there are no resources. We know they are out there. We talk to many BlueJ users and we have seen them!
We know that many of you have a lot of stuff. It can be anything that you use in your BlueJ-related teaching: slides, projects, worksheets, lesson plans, course outlines, videos – anything!
So, to encourage you to upload what you have, we are giving away free BlueJ Coffee Mugs to everyone who uploads a resource to the Blueroom before the end of June!
That is: a free mug, with a BlueJ icon on it, for every person who uploads any resource before end of June!
Call it marketing, or call it bribery. Whatever it is — it is your chance!
And remember: Resources don’t have to be polished or finished or spectacular. The sharing model is a wiki model: the whole community can then help improving, fine-tuning and extending a resource. The important thing is not how perfect it is, the important thing is to get the idea up here in the room. (See also our sharing manifesto.)
So, go and trawl through your teaching folders now and see what you got! Happy uploading.
|
Off to a good start
24 May 2011
In less than four days, the Blueroom is up to more than 100 members.
How many people out there use BlueJ?
The answer is: We have no real idea.
We know download numbers, and we know of a good number of institutions who have told us over time that they use BlueJ, so we know you are out there. But when we discussed opening the Blueroom, and whether it would be worth the effort to set up and maintain this site, we were not sure how many teachers would be interested to join up. Would we get enough of an audience?
So far it looks like we needn’t have worried. Only four days in, and we have more than 100 people signed up. It looks like there is sufficient interest out there.
The next question is: Interest in what? Why are you here?
Remember, this site is only as useful as you make it. I expect a good number of you are here to see whether you can find some good resources. That works only if some of you are actually willing to share your resources!
So, please have a think: Do you have a BlueJ assignment that you are using? Some slides? A worksheet? Assignment ideas? A lesson plan?
Any of that would probably be of great interest to other educators, so please, upload it here. I am very aware that many of you think your material is not quite ready, not polished enough, not finished. But please, upload it anyway! Seriously, if you wait for it to be finished, we will never see it.
It is better to post something raw than not post at all!
For now: Welcome, and nice to see you all here!
|
31 - 45 of 48 « previous next »
|
|