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.

Scratch, Alice, Greenfoot—What’s the difference?

Do you remember the feeling when you were a kid and you had the fantastically rare chance to go into a sweet shop (or, as the Americans among us would probably say: candy store), and you actually had a bit of money, and you could buy something, and there was just so much choice? Wow.

(I still get a similar feeling now – not so much with candy, but with chocolates. Hmmm, chocolate…)

This is what it seems like with educational programming software. Some ten years ago there was not very much around (at least not much that was in widespread use and had good resources), and now there is plenty. For a teacher of introductory programming, it’s a bit like being the kid in the sweet shop: So much here to look at, so much good stuff. But so hard to choose!

If you haven’t used any of the current educational programming environments before, it’s hard to get your head around what’s in them. Just like the well known box-of-chocolates problem. When I talk about Greenfoot, I often get the question “How does it compare to Scratch?” or “How is it different from Alice?”

To help a little with that situation, we organised a panel session at the last SIGCSE conference called Comparing Alice, Greenfoot and Scratch which compared these three environments. “We”, in this context, were Sally Fincher and Ian Utting who organised the session, and Steve Cooper (Alice), John Maloney (Scratch) and myself (Greenfoot) presenting the environments. I really enjoyed the session – it was great to get one of the leading people involved in each of the development teams to present the environments, and it was well received: the room was packed full and the feedback was good.

But panels are transient – no good record is available for those who were not there. So we are now working on a series of articles for a special issue of the Transactions on Computing Education doing the same in writing. They should be published together in a single issue later this year, and include a paper on each of the three environments and a discussion section where we talk about commonalities and differences.

To read it, you have to wait until it comes out. But as a teaser, here is a graphic that we made for the papers, showing the target age groups for each of the three systems.

Target age groups for Alice, Scratch and Greenfoot

Maybe this answers one of your questions already. For everything else, you’ll have to wait a little longer.

Greenfoot book out now in German

Now in German: Greenfoot!

The Greenfoot book, which teaches Java programming and object orientation with the Greenfoot environment, is now available in German (as well as the original English).

That’s great news: Germany is probably the country with most Greenfoot users outside the English speaking world, and having the book in German will make use of the book – be it adoption in the classroom or casual reading by hobbyists – much easier.

I have just received my copy, and it looks great. The publisher has done a great job with full colour printing and good quality paper.

The translation is great, too – it was done by Carsten Schulte from the Freie Universität Berlin. I was really lucky that the publisher found such an excellent translator. It shows that he’s a computer scientist and an educator as well. His deep understanding of the concepts has clearly led to a much better translation than someone without subject knowledge could have produced.

I’m happy to see it out, and to see it end up looking this nice.

Royal Society report on the state of computing in UK schools

A few days ago, the Royal Society has announced a study on the state of computing education in UK schools, its problems and possible solutions. This has been quite widely reported in the press, for example here. The announcement itself makes for interesting reading. Its introduction starts:

Numbers of students studying computing are plummeting across the UK, with a fall of 33% in just three years in ICT GCSE students, a fall of 33% in six years in A level ICT and 57% in eight years in A level Computing students in England and similar declines found elsewhere in the UK.

It contains some good quotes from a range of people, such as this by Matthew Harrison, Director of Education at The Royal Academy of Engineering

“Young people have huge appetites for the computing devices they use outside of school. Yet ICT and Computer Science in school seem to turn these young people off. We need school curricula to engage them better if the next generation are to engineer technology and not just consume it.”

This is the latest development in a growing trend in the UK that recognises the dismal state of computer science education in UK schools, and starts to work on finding solutions. I became involved in this topic a couple of years ago, through the Computing At Schools (CAS) group, a fantastic movement of really motivated and smart individuals initiated by Simon Peyton-Jones. This has grown over the years with initiatives such as developing curriculum for schools, organising computing teacher conferences, and founding a computing teachers association.

While the announcement of the study contains little new to those who already had an interest in the topic, it’s great to see that the Royal Society is getting interested and getting involved. This helps getting more organisations on board with making a change (already apparent from the announcement) and will push the issue higher on the agenda of those who are in the position to make decisions.

There is no doubt at all in my mind that such change is urgently needed and important. Currently, there is a whole generation of kids, some of whom would make great and enthusiastic computer scientists, who never find out about the possibilities and joys of this exciting discipline.

Altogether a great development.