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
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
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