Michael Kölling
banner
kolling.uk
Michael Kölling
@kolling.uk
Computer Scientist, King's College London
Blog: https://blogs.kcl.ac.uk/proged
It's out! Objects First With Java, 7th edition.

Now out in print and as e-text.

It has been 22 years since the first edition, and we're still going.

www.bluej.org/objects-first/
August 3, 2025 at 4:43 PM
Why is a bug called a bug?

The origin of the term is interesting, and often mis-attributed. The famous case is that of a moth found by Grace Murray Hopper inside a Mark II.

­Long before this, however, Thomas Edison was onto his “bugs”...

Continue here: blogs.kcl.ac.uk/proged/2025/...
May 30, 2025 at 10:24 AM
A Brief History of Java

This is a new chapter in our book "Objects First with Java".

In the book, it motivates why you should (or shouldn't) use specific language features.

It may be interesting to anyone interested in Java or the development of programming languages.

tinyurl.com/brief-java
May 30, 2025 at 8:10 AM
May 24, 2025 at 4:33 PM
Attention: Computing teachers!

CKC 2025 will have a fantastic keynote: Don Syme @dsyme.bsky.social will talk about

Trends in AI-Assisted Software Development

Plus: a full day of presentations and workshops.

More information and sign up here: www.computingatschool.org.uk/events/2025/...
May 13, 2025 at 11:21 AM
Save the date!

On 5th July, we are hosting the CAS & King's Computing Conference for teachers. If you are a computing teacher and can come to London, have a look at this: a fantastic free event with great talks and workshops.

Open for registration now.

www.computingatschool.org.uk/events/2025/...
May 1, 2025 at 9:27 PM
Come and do a PhD with us!

Interested in programming languages, development tools, HCI and computing education?

@neilccbrown.bsky.social and I are jointly supervising a fully funded PhD. Theme: "Debugging and runtime visualisation in a frame-based system".

Details www.kcl.ac.uk/study-legacy...
Industry-funded studentship in Computer Science
3.5yr Studentship funding for a specific PhD project on Debugging and runtime visualisation in a frame-based system.
www.kcl.ac.uk
February 22, 2025 at 4:38 PM
I am very excited to tell you that we have started a collaboration with JetBrains @jetbrains.com , makers of IntelliJ IDEA @intellijidea.com and creators of the Kotlin language @kotlinlang.org, to integrate Kotlin into BlueJ @bluej.org.

This will bring Kotlin to millions of learners of programming!
January 29, 2025 at 3:48 PM
Very exciting: the new edition of our book has now appeared (for pre-order) on Amazon:

www.amazon.co.uk/gp/aw/d/1292...

The release date is given as 2 July, but I still hope we can get it out by May.
Objects First with Java: A Practical Introduction Using BlueJ, Global Edition: Amazon.co.uk: Barnes, David, Kölling, Michael: 9781292463599: Books
Buy Objects First with Java: A Practical Introduction Using BlueJ, Global Edition 7 by Barnes, David, Kölling, Michael (ISBN: 9781292463599) from Amazon's Book Store. Everyday low prices and free deli...
www.amazon.co.uk
January 13, 2025 at 5:40 AM
In the last few days, I have started revisiting guidelines for teaching programming, which I published 23 (!) years ago. I wanted to see how much is still relevant.

Frustratingly, almost everything is…

Read here: blogs.kcl.ac.uk/proged/
Programming Education Blog | Michael Kölling on BlueJ, Greenfoot, Stride, and other Programming Education Topics
blogs.kcl.ac.uk
December 20, 2024 at 1:36 PM
!!

Has to be a great paper that starts with "Elephants are a quintessential animal ..."
Greatly intrigued by the field of Animal-Computer Interaction. Exhibit 1: "Play That Trunky Music: Development of an Auditory Enrichment Device for Elephants in Zoos" Open access paper here: dl.acm.org/doi/10.1145/...
Play That Trunky Music: Development of an Auditory Enrichment Device for Elephants in Zoos | Proceedings of the International Conference on Animal-Computer Interaction
dl.acm.org
December 11, 2024 at 10:06 PM
A new paper (a contribution in honour of Niklaus Wirth):

It's an easy read and should be of interest to anyone who cares about programming languages in education.

Relevant for the discussion of Java's status as a teaching language.

Here: infedu.vu.lt/journal/INFE...

@java-champions.bsky.social
December 11, 2024 at 8:31 PM
We have a cover design for the 7th Edition of our Objects First book!
Very exciting.
December 11, 2024 at 5:30 PM
Lesson of language design? Don't try to be clever!

JavaScript​:

0 == '0' -> true
0 == '' -> true
'0' == '' -> false

result: Transitivity of equality is broken!

a == b and b == c, so a == c ?

Not in JavaScript, it isn't!

Read: blogs.kcl.ac.uk/proged/2024/...
December 8, 2024 at 1:04 PM
Why is this one a good multiple choice question, but many others are not?

blogs.kcl.ac.uk/proged/2024/...

On my blog, I have written about my ongoing frustration with badly written MCQs, and what makes many of them so bad (and also an example of a better one).
December 6, 2024 at 12:23 PM
Here is a question I give my students in week 6 or so:

Can you write a declaration of variables a and b so that this code prints "false"?
December 5, 2024 at 10:46 PM

Last time walking over Waterloo Bridge to my programming lecture this term.

Always beautiful.
December 4, 2024 at 9:46 AM
One of our newer projects. Have a look!
Coming soon...
December 1, 2024 at 5:41 PM
We have a new paper in pre-print: What makes a good hint for a stuck student programmer? How can you investigate this? And are Humans or LLMs better at delivering them?

Joint work with Neil (@neilccbrown.bsky.social), Pierre, Juho and Paul.

Read it here: arxiv.org/pdf/2411.18151
November 29, 2024 at 2:33 PM
Our original article about Frame-Based Editing has now got more than 40k downloads from our KCL research repository! That's a record in the department by orders of magnitude.

If you haven't seen it yet, it's here:
kclpure.kcl.ac.uk/portal/en/pu...
November 24, 2024 at 4:01 PM
With the latest releases, both BlueJ (@bluej.org) and Greenfoot (@greenfoot.org) are optimised for Raspberry Pi (@raspberrypi.bsky.social) again, and now have dedicated installers for this platform.

Get them here:

BlueJ v5.4.1: bluej.org
Greenfoot v3.9.0: greenfoot.org
November 20, 2024 at 7:03 PM
Reposted by Michael Kölling
BlueJ optimised for Raspberry Pi again!

As of BlueJ Version 5.4, we have added two new installers: One for Apple Silicon on MacOS (M1/M2 chips) and one optimised for Raspberry Pi @raspberrypi.bsky.social .

Get it here: bluej.org
BlueJ
bluej.org
November 17, 2024 at 9:03 PM
A recent bit of work:

Automated Grading and Feedback Tools for Programming Education: A Systematic Review

A great piece of work by my PhD student Marcus Messer, published in TOCE, now selected for presentation at the SIGCSE Symposium.

Well worth a look.
Automated Grading and Feedback Tools for Programming Education: A Systematic Review
kclpure.kcl.ac.uk
November 17, 2024 at 8:23 PM