Greenfoot LIVE

In order to provide more ways to support teachers who are using Greenfoot (or thinking about using Greenfoot), as well as anyone else interested in Greenfoot, we are starting a series of live chat sessions:

Greenfoot Live
Programming Education Chat With The Greenfoot Team

Greenfoot Live will be a regular chat event where members of the Greenfoot team will be live online and talk about Greenfoot, among ourselves and with you – the users of Greenfoot. The event is aimed mostly at teachers who use Greenfoot in their classes, but also at general Greenfoot users.

We will discuss educational aspects, as well as general programming topics, related to Greenfoot.

You will have a chance to listen to us talk, as well as ask questions.

The first Greenfoot Live event will be held on

Monday, 8 May 2017, at 5pm UK time

That is

  • 5pm in the UK
  • 4pm GMT
  • 9am in San Francisco
  • 12noon in New York
  • 18:00 in Germany, Scandinavia, Italy, France, …
  • 2am in Sydney (sorry…)

You can join us here.

After this first event on 8 May, we will host Greenfoot Live every two weeks. Recordings of these events will be accessible afterwards for viewing retrospectively.

Don’t forget to mark this date in your diary with a big red pen and join us in a couple of weeks!

Stride – A new programming language for beginners

At the Greenfoot headquarters, we – that is: Neil Brown, Amjad Altadmri and myself – have recently worked on creating a new language within the Greenfoot environment: Stride.

The interesting thing about Stride is not so much the language design itself, but its interaction design: editing programs involves different interactions than existing editors.

The goal is that Stride sits halfway between block-based systems (such as Scratch, AppInventor, PencilCode, Alice, etc.) and text-based editors (such as Java or Python), maintaining advantages of both.

I will start a series of posts (text and/or video) here over the next few weeks trying to tell you what Stride is and why you should care. In the meantime, you can get Greenfoot, install it, and have Stride ready to go when the introduction here starts. Stride is built into Greenfoot from version 3 onwards.

Check back soon for the first overview video.

Java 6 End-Of-Life shifted to November

This is possibly a case of

      Warning: Dates in your diary might be closer than they appear.

Oracle just announced that the “EOL date” for Java 6 has been shifted back. From July to November. While it is undoubtedly a relief for many that Java 6 has an additional four month of life left (for many of those few at least, who are aware of this at all) it still means one thing: End of life for Java 6 is in November! 2012!

Yes, that means this year. You didn’t know that, did you?

Now, this doesn’t mean that Java 6 will topple over dead on 1st November. It will, of course, continue to work for some time. But it does mean that Oracle will stop issuing updates and releases after that date for free. (You can still buy support from Oracle, but that will really only be an option for large businesses.)

So, while this will come as somewhat of a shock to some, it this too soon? That depends how you view it. Java 7 has been in full public release since July 2011, so it will be well over a year of the next major version being on the market by the time Java 6 bites the dust. Time enough for most to update?

Let’s look at where people really are. Here is the distribution of Java versions of users of BlueJ:

Java versions

BlueJ users by Java version

This shows us: Java 7 is currently used by just under a third of BlueJ users. (For Greenfoot, this number is a little lower than this.) About 3% still use Java 5.

So, while Java 7 has been out for a while, Java 6 is still by far the dominant version. The reality is: Many universities and schools update only infrequently, and updates to Java 7 haven’t happened yet in many places.

We would hope that this changes over summer: many educational institutions upgrade their lab software over the norther hemisphere summer break, so that might give a good boost to Java 7 before November.

But will most of the Java 6 installations disappear by then? Most likely not. Especially on Mac OS, it’s difficult: Java 7 isn’t even in public release for that platform yet.

So, if you’re responsible for Java on your institution’s machines: time to think about moving on!


Greenfoot 2.1 released

We have just released Greenfoot version 2.1.0.

This update of Greenfoot includes a good number of bug fixes, so if there is something that has bugged you for a while, give the new version a go and see whether it’s improved. (If not, tell us!)

But, more importantly, this version also includes some new functionality. The new features include:

  • A new sound API for volume control. This means Greenfoot scenarios can programmatically adjust the volume of sound clips. Several people have asked for this, especially aiming at fading sounds in and out nicely.
  • A new input function: getMicLevel. This function returns the noise level from the system microphone. This makes it very easy to write soem very simple early interactive examples.
  • Support for multiple worlds. Greenfoot now has a function to dynamically show different world objects. This makes it much easier to develop games with different levels.
  • Built-in move and turn methods. Actors in Greenfoot now have turn(int) and move(int) methods which turn and move relative to the current rotation.
  • UI changes. Finding out how to share your scenario on the Greenfoot Gallery has been made much easier. We suspect that many users previously never discovered this important function.

So, surf over to the Greenfoot download page and give it a go. Let us know what you think.

Over the next few days, I will add a few blog posts here that introduce and explain the new functionality in more detail. So check back soon!

Part 1: Using setWorld to create multiple game levels.

Use the Microsoft Kinect with Greenfoot

Those of you who know Greenfoot know that one of its aims is to make programming for beginners exciting and engaging. (Those of my readers who don’t know it should have a look here.)

The most recent addition to Greenfoot is a library that allows programmers to easily use the Microsoft Kinect module with their Greenfoot scenarios. This means that you can now write simple Greenfoot games that are controlled by players body movements.

Probably the easiest way to show what I mean, is to show you what I mean. Here’s a short video:

Programming the Kinect with Greenfoot is probably the easiest way to write programs with the Kinect module. Neil Brown, one of our developers on the Greenfoot team, has adapted open source server software that communicates with the Kinect and designed and implemented a Greenfoot library that makes access surprisingly simple.

If you are interested to try it yourself — here are the detailed instructions. But beware: you might stand in the middle of your room waving your arms around for the next few days! Some people might look at you strangely, but it’s great fun.

It’s open: The Greenfoot Gallery

For the past few months, we have worked on creating the Greenfoot Gallery – and now it’s finally officially open.

The Greenfoot Gallery is a place for people to publish their Greenfoot scenarios, and try out other people’s work, comment on it, rate it, etc. Think of it as a kind of YouTube for Greenfoot games. Have a look!

You can use the Gallery (look at scenarios, play) straight away, or you can create an account for yourself to comment on them or upload your own.

Uploading content to the Gallery is easy: Use the ‘Export’ function in Greenfoot, and you’re almost there.

Teaching My Daughter To Code, Part II: Invasion of the Daleks

Second part of my endeavours to write a computer game with my daughter

A few days ago, I have written about starting to teach my daughter some programming by inventing and implementing a game with Greenfoot and Java. Here’s the second part of that journey.

This time, I had thought a little more in advance about what might be a good thing to tackle next. Putting floors in, so that the Doctor would just walk on those levels (and ladders to go up and down)? Or other moves: jumping, ducking, etc?

I decided the most interesting thing would be to put some opponents in – other actors that you could run away from, and who could catch you. With the Doctor, it’s pretty obvious who that should be: the Daleks! (They are the Doctor’s prime enemy, after all.)

When I came home from work, I suggested this to Sophie. Happily, she agreed.

Continue reading

Teaching My Daughter To Code

First party of a journey of writing a Doctor Who video game in Java with my 9-year-old daughter.

Update: Part II, Part III and Part IV of this story are available now.

(Note: This post is more than 10 years old. Some of the Greenfoot code shown can be written more easily in newer versions of Greenfoot, using newer API methods.)

Yesterday, my daughter Sophie asked me to show her how to write a computer game. She is nine. (Well, only a few weeks away from being ten – at this age, a year still matters.) She has never written any code before. Now, there’s a challenge, if I ever saw one.

I am a computer scientist, and one of our projects is Greenfoot – a programming environment designed to teach kids (and older students) to code with Java. So far, that has all been part of my research work. Research into programming education, tool design, etc. I have used Greenfoot with kids (mostly about 15 years old), but more often I do presentations and workshops for teachers.

I have often wondered how low in age you could take Greenfoot. It’s Java, after all, not Logo. 15-year-olds clearly works. But 10 year olds? We don’t know.

So I told Sophie that we’d start making a game tomorrow. That was yesterday. So today was the day. Afterwards, I thought it might be interesting to try to record the process we’re going through — see what happens.

So here is my (hopefully continuing) diary of coding with my daughter… (Our results, live demo and source code, are at the bottom.)

Continue reading

The Pitfalls of Java as a First Programming Language – A Response

Two computing practitioners from an Ada shop in New York, Dr. R.B.K Dewar and Dr. E. Schonberg, who are also professors emeritus at New York University, have recently slammed Java as a first programming language. Their article has received quite a bit of attention and created wide discussion.

I think they are completely barking up the wrong tree.

Dewar and Schonberg report some observations, and than jump to conclusions that are not in any way supported by the observations or their argument.

Specifically, they state that today’s students are lacking certain skills (low level programming and formal methods), and then go on to blame the use of Java as an introductory language for this problem.

To state my conclusion upfront: They describe a badly designed curriculum, and then blame one programming language for the education’s problems.

Continue reading