November 3, 2022

Join us to discuss novice use of Java on Monday 7th November at 2pm GMT

Java is widely used as a teaching language in Universities around the world, but what wider problems does it present for novice programmers? Join us to discuss via a paper published in TOCE by Neil Brown, Pierre Weill-Tessier, Maksymilian Sekula, Alexandra-Lucia Costache and Michael Kölling. [1] From the abstract:

Objectives: Java is a popular programming language for use in computing education, but it is difficult to get a wide picture of the issues that it presents for novices, and most studies look only at the types or frequency of errors. In this observational study we aim to learn how novices use different features of the Java language. Participants: Users of the BlueJ development environment have been invited to opt-in to anonymously record their activity data for the past eight years. This dataset is called Blackbox, which was used as the basis for this study. BlueJ users are mostly novice programmers, predominantly male, with a median age of 16. Our data subset featured approximately 225,000 participants from around the world. Study Methods: We performed a secondary data analysis that used data from the Blackbox dataset. We examined over 320,000 Java projects collected over the course of eight years, and used source code analysis to investigate the prevalence of various specifically-selected Java programming usage patterns. As this was an observational study without specific hypotheses, we did not use significance tests; instead we present the results themselves with commentary, having applied seasonal trend decomposition to the data. Findings: We found many long-term trends in the data over the course of the eight years, most of which were monotonic. There was a notable reduction in the use of the main method (common in Java but unnecessary in BlueJ), and a general reduction in the complexity of the projects. We find that there are only a small number of frequently used types: int, String, double and boolean, but also a wide range of other infrequently used types. Conclusions: We find that programming usage patterns gradually change over a long period of time (a period where the Java language was not seeing major changes), once seasonal patterns are accounted for. Any changes are likely driven by instructors and the changing demographics of programming novices. The novices use a relatively restricted subset of Java, which implies that designers of languages specifically targeted at novices can satisfy their needs with a smaller set of language constructs and features. We provide detailed recommendations for the designers of educational programming languages and supporting development tools.

All welcome, as usual we’ll be meeting on zoom, details at sigcse.cs.manchester.ac.uk/join-us


  1. Neil C. C. Brown, Pierre Weill-Tessier, Maksymilian Sekula, Alexandra-Lucia Costache and Michael Kölling (2022) Novice use of the Java programming language ACM Transactions on Computing Education DOI:10.1145/3551393

November 1, 2022

The wildness and freedom of using natural language with joy and pleasure

Filed under: education,engineering,mathematics,Science — Duncan Hull @ 9:32 am
Tags: , , , ,
Public domain portrait of Stephen Fry by the US Embassy in London on Wikimedia Commons w.wiki/4wrn

It’s easy to undervalue the importance of natural languages like English because we use them everyday. Scientists and engineers can be particularly bad at this, often overlooking the importance of written and spoken language. It probably doesn’t help that in the UK, and many other countries, many students choose either an exclusively scientific-mathematical path OR an arty-humanities path through their education, especially in the latter stages. This means that the two cultures of humanities and science are thriving, but still living in separate houses like an estranged and bickering couple. In the worst case scenario, two cultures in society produces graduate scientists and engineers with weaker communication and literacy, and articulate humanities graduates with weaker technical & numeracy skills.

Over on BBC4, Alan Yentob is having conversations with prominent artistes. [1] The first episode in the series is with writer, presenter, comedian and actor Stephen Fry. As a self-confessed Fry-fanboi, I enjoyed his description of the joy of using language:

YENTOB: Why do you need all that stuff?

FRY: I think what underlies 90%, if not more, is language, is a real profound love and excitement at the process of putting one word after another and what happens when you do it.

Not just the meanings that are conveyed and the moods you can create with language, but even the text of it, the tip of the tongue hitting the back of the teeth, the rhythm, the swing, the swoop, the flow, the joy, the sound and sex of language. People have that with music. We all have it with music. Music is often described as being beyond language, and indeed it is and I’m the first to say how profound I think music is.

But everybody has language, and yet almost nobody has such a realisation of what a beautiful thing it can be. I mean one of the thrills that’s happened in music in the last 20 or so years, I suppose, is rap and hip-hop and poetry slamming and things like that because then it’s taken away from the normal people who are people like me, who, as it were, have an educated sense of language and its returned to where language belongs.

And so the wildness and freedom of using language with joy and pleasure and realising we’re all the equivalent of grade eight musicians, or painters, only with language.


  1. Janet Lee and David Shulman (2022) In Conversation with Alan Yentob: Stephen Fry bbc.co.uk/programmes/m001dh8p

September 19, 2022

Mind the gap at the end of the Elizabethan line

Elizabeth Line roundel by Transport for London via Wikimedia Commons w.wiki/5iib

So we’ve finally reached the end of the Elizabethan line. Not the the CrossRail route that straddles London but the seventy year reign of Elizabeth II from 1952 to 2022. Like many, I have mixed feelings about our monarch and monarchy but the history of the last seventy years should fascinate republicans, royalists and anarchists alike. So here are some historical facts about the start of the Elizabethan line for your amusement:

  • 🇬🇧 In 1952 Princess Elizabeth Alexandra Mary of York became Queen Elizabeth II en.wikipedia.org/wiki/Elizabeth_II
  • 🇪🇺 In 1952 The European Economic Community (EEC), precursor to the European Union (EU), did not exist. That came five years later in 1957, see en.wikipedia.org/wiki/European_Economic_Community
  • 🏳️‍🌈 In 1952 Alan Turing was working on two new areas of research he’d recently pioneered called “Computer Science” and “Artificial Intelligence” (AI). The very same year Turing was prosecuted for being homosexual which was shamefully labelled “gross indecency” and illegal at that time. He tragically committed suicide two years later in 1954 after being chemically castrated by the government of the UK. Her Majesty’s Government was led at the time by some bloke called Winston Churchill, see en.wikipedia.org/wiki/Gross_indecency
  • 🇺🇸 In 1952 The England National Football Team were recovering from their debut appearance in a FIFA World Cup two years previously. In a pattern that is now familiar, England failed to make it through to the final stages of the 1950 tournament in Brazil after beating Chile but losing to both Spain and the United States, see en.wikipedia.org/wiki/United_States_v_England_(1950_FIFA_World_Cup)
  • 🎼 In 1952 Alan Turing and Christopher Strachey had recently finished experimenting with creating the worlds first computer generated music, to accompany the worlds first computer game (draughts aka checkers), you can listen to the music they made (a tune you may have heard of called God Save The King) on a Ferranti Mark I computer in Manchester at blogs.bl.uk/sound-and-vision/2016/09/restoring-the-first-recording-of-computer-music.html
  • ⚛ In 1952, Geneva was selected as the site for the Organisation Européenne pour la Recherche Nucléaire (CERN), the vast network of underground tunnels and machines that can be found there now were just an idea seventy years ago see home.cern/about/who-we-are/our-history

It’s easy to view the events of the 1950s as ancient history and evidence of how far we have travelled down the Elizabethan line. However in 1952, when Elizabeth was 26 years old, her son Charles was 4 years old, Alan Turing was 40 and Winston Churchill was 78. So the history is not that ancient, especially if you’re an octogenarian or a nonagenarian.

Yes it is a long time ago, but it is almost within living memory. Almost.

Mind the Gaps

What a remarkable seventy years of history, so much has happened in a relatively short period of time. At the end of the journey, it feels like there’s a big gap at the end of the Elizabethan line as we search for our connection and onward destination. Not just one gap but lots of gaps:

  • The gaps between wealthy elites and everybody else
  • The gaps between those educated privately (including the royal family) and the other 93%
  • The gaps between London at the rest of the United Kingdom
  • The gaps between the UK and the rest of the world
  • The gaps between expectations and reality
  • The gaps between historical memories and the present day
  • The gaps between the Elizabethan line and the Carolean line

I wonder where we will be after another gap of seventy years, if the human race is here at all in the year 2092?

As the station announcers often warn as you disembark on the London Underground, mind the gap.

July 28, 2022

What’s your story, coding glory?

Filed under: engineering — Duncan Hull @ 11:21 am
Tags: , , , , ,
Congratulations to all this years graduates!

Last week we celebrated graduation, its been the first proper graduation since before the pandemic. A lot proverbial water has passed very quickly under our proverbial bridge since this years graduates starting studying back in 2018/19. What obstacles have they faced during their study and placements and how have they overcome them? Where are they going next? What’s their story? I interviewed five of this years graduands and previous years graduates to find out. Hear from some of our students including:

  • Sneha Kandane, she’s returning Matillion where she did her industrial placement cdyf.me/sneha
  • Carmen who did an internship at McKinsey and a placement at The Walt Disney Company cdyf.me/carmen
  • Brian Yim Tam who did a placement at Disney Streaming here in Manchester cdyf.me/brian
  • Raluca Cruceru who did a placement at CERN where she now works as a software engineer cdyf.me/raluca
  • Jason Ozuzu who did a placement at Morgan Stanley, an internship at FitBit and is joining Google in London cdyf.me/jason

Listen online at Coding your Future or subscribe wherever you get your podcasts cdyf.me/hearing#subscribing

Congratulations to all this years graduates, it was lovely to celebrate your achievements despite the considerable challenges you’ve faced during the last three of four years. Thanks to Sneha, Carmen, Brian, Raluca and Jason for sharing your stories too.

February 15, 2022

Where have all the women gone?

Public domain image of Margaret Hamilton standing next to a print out of software that she and her MIT team produced for the Apollo Guidance Computer in 1969 via Wikimedia Commons w.wiki/4mXY

Computing is too important to be left to men, but where have all the women gone? While women continue to play a key role in computing they are currently under-represented in Computer Science. How can we change this and what evidence is there for practices that get more women into computing? We discussed this paper by Briana Morrison et al [1] on Monday 7th February at journal club. Here is the abstract of the paper:

Computing has, for many years, been one of the least demographically diverse STEM fields, particularly in terms of women’s participation. The last decade has seen a proliferation of research exploring new teaching techniques and their effect on the retention of students who have historically been excluded from computing. This research suggests interventions and practices that can affect the inclusiveness of the computer science classroom and potentially improve learning outcomes for all students. But research needs to be translated into practice, and practices need to be taken up in real classrooms. The current paper reports on the results of a focused systematic “state-of-the-art” review of recent empirical studies of teaching practices that have some explicit test of the impact on women in computing. Using the NCWIT Engagement Practices Framework as a means of organisation, we summarise this research, outline the practices that have the most empirical support, and suggest where additional research is needed.

There is lot of stuff in this paper, and we barely scratched the surface. Personally, one of the things I found useful was the National Center for Women in Technology (NCWIT) Engaging Practices Framework which I’d not seen. These have advice on how to make computing a more inclusive subject for all students, not just women. Some of the guidelines include:

  1. Make it matter (e.g. by making interdisciplinary connections and addressing misconceptions)
  2. Build student confidence and professional identity (e.g. by encouraging a growth mindset)
  3. Grow an inclusive community (e.g. by using well-structured collaborative learning and avoiding stereotypes)

The evidence for which approaches work isn’t particularly strong, see Jane Waites lightning talk slides, but there is some evidence to suggest these practices can help to make small steps in the right direction. The evidence is outlined in the paper.


  1. Briana B. Morrison, Beth A. Quinn, Steven Bradley, Kevin Buffardi, Brian Harrington, Helen H. Hu, Maria Kallia, Fiona McNeill, Oluwakemi Ola, Miranda Parker, Jennifer Rosato and Jane Waite (2021) Evidence for Teaching Practices that Broaden Participation for Women in Computing in Proceedings of the 2021 Working Group Reports on Innovation and Technology in Computer Science Education DOI:10.1145/3502870.3506568

September 6, 2021

Join us to discuss why computing students should contribute to open source software projects on Mon 6th September at 2pm BST

unlocked padlock by flaticon.com

Why should students bother with open source software? Join us to discuss why via a viewpoint piece published by Diomidis Spinellis of Athens University and Delft University of Technology published in the July issue of Communications of the Association for Computing Machinery. [1] Here’s the introduction 

Learning to program is—for many practical, historical, as well as some vacuous reasons—a rite of passage in probably all computer science, informatics, software engineering, and computer engineering courses. For many decades, this skill would reliably set computing graduates apart from their peers in other disciplines. In this Viewpoint, I argue that in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Accordingly, I propose that computing students should be encouraged to contribute code to open source software projects through their curricular activities. I have been practicing and honing this approach for more than 15 years in a software engineering course where open source contributions are an assessed compulsory requirement. Based on this experience, I explain why the ability to make such contributions is the modern generalization of coding skills acquisition, outline what students can learn from such activities, describe how an open source contribution exercise is embedded in the course, and conclude with practices that have underpinned the assignment’s success

All welcome, as usual, we’ll be meeting on Zoom see sigcse.cs.manchester.ac.uk/join-us for details.


  1. Spinellis, Diomidis (2021). “Why computing students should contribute to open source software projects”. Communications of the ACM64 (7): 36–38. DOI:10.1145/3437254

July 7, 2021

Would YOU want to live in Alan Turing’s house?

The blue plaque on Alan Turing’s house, commemorating his work in cryptography which founded both Computer Science and Artificial Intelligence as new disciplines. Picture by Joseph Birr-Pixton on Wikimedia Commons w.wiki/3aYW

The house where Computer Scientist Alan Turing spent his final years is currently up for sale. The estate agent describes the property on 43 Adlington Road, Wilmslow as a Victorian family residence of significant historical importance. Wilmslow and the surrounding Cheshire countryside is popular with Manchester commuters, including many Man United, Man City & England football stars. Even if you could afford its premier league price tag, would YOU want to live in the house where Turing’s life ended so tragically? 

Turing was found dead at this house, on the 8th June 1954 by his cleaner. The cause of his death the previous day was established as cyanide poisoning. He was just 41 years old. When his body was discovered, an apple lay half-eaten by his bedside. 

The coroner recorded a verdict of suicide.

At the end of his life Turing was suffering mentally and physically. The homophobic British authorities were using a form of legalised torture, known as forced chemical castration, to punish him for being homosexual. At the time, homosexuality was a crime. Turing put on a brave face and joked about his castration (“I’m growing breasts!), but it must have been horrible to endure.

If you’re feeling suicidal or tortured, you don’t have to struggle with difficult feelings alone. If you’re suffering from emotional distress or struggling to cope a Samaritan can face your problems with you. Whatever you’re going through, samaritans.org are available 24 hours a day, 365 days a year. They respond to around 10,000 calls for help every day. No judgement. No pressure. Call them free any time, from any phone on 116 123.

While everyone can have a good old nosey at Turing’s house through the estate agents window, no-one needs to suffer like its famous former resident did. Personally I think I’d find this property an enigmatically haunted house to live in, knowing that this was the place where a great man’s life ended in such tragedy. How about you?

Turing’s House: Copper Folly, 43 Adlington Road, Wilmslow, Cheshire, SK9 2BJ

  1. Rightmove details www.rightmove.co.uk/properties/109329428
  2. Savills.com details in a single pdf file bit.ly/alan-turings-house
  3. Turing’s house in Google maps goo.gl/maps/krMM3A2JfgTUVFfm8
  4. GCSE computing: Alan Turing: Creator of modern computing bbc.co.uk/teach/alan-turing-creator-of-modern-computing/zhwp7nb
  5. Alan Turing’s Manchester by Jonathan Swinton describes what it was like to make new friends and lovers in the smog-bound, bombed-out city of Manchester from 1948 to 1954 manturing.net
  6. Leslie Ann Goldberg, Simon Schaffer and Andrew Hodges discuss Turing’s ideas and life with Melvyn Bragg https://www.bbc.co.uk/programmes/m000ncmw
  7. Breast enlargement in men undergoing chemical castration https://en.wikipedia.org/wiki/Gynecomastia


Thanks to Alan O’Donohoe for spotting Turing’s house on the market and to Joseph Birr-Pixton for publishing his picture of Turing’s blue plaque on Wikimedia Commons.

April 15, 2021

I wish I’d read this book when I was doing my PhD!

Anyone for a game of PhD bingo?

Published this year by Oxford University Press, How to Get Your PhD: A Handbook for the Journey by Gavin Brown [1] is essential reading for anyone thinking of doing, or trying to get through, a PhD. I wish I’d had this book when I was doing mine, here’s why:

I thoroughly enjoyed my PhD and given the chance I’d do it all again. I was lucky to be able to do research guided by a great supervisor (Robert Stevens) and it was rewarding being part of a big and friendly lab. There were loads of opportunities to get involved in all sorts of other projects along the way. Thankfully, I also had some good mentors and met tonnes of interesting people from all over the world. I am very grateful to Robert, Carole Goble and everyone else who made it possible.

Despite all the good stuff, there’s plenty I could have done better. Hindsight is a great teacher. Gavin’s book would have helped me do a better PhD but hadn’t been written at that time – I wish it had been. I wish that I knew what I know now, when I was younger. [2]

Alongside serious technical advice on the mechanics of doing a PhD, Gavin’s book provides a good overview of some the psychological and emotional hurdles every PhD will encounter. Unlike a lot of similar books (there’s already tonnes of self-help PhD guides out there), this one is written in first person singular which makes for a more engaging and shorter read. Serious advice is balanced by the books light hearted tone, with plenty of humour, such as the game of PhD Bingo, shown in the picture on the right. Like most students, I ticked all those boxes (BINGO!) apart from the “you will read this book” box. Don’t be that person, Read The Friendly Manual! RTFM. Read THIS Friendly Manual!

The handbook also includes personal stories which help get key messages across, not just from Gavin, but a distinguished bunch of scientists, engineers and mathematicians who have contributed to the second part of the book including Nancy RothwellVictoria BurnsSteve FurberLucy KissickHiranya PeirisMelanie LengJeremy WyattDavid HandCarolyn VircaShakir MohamedJonny Brooks-Bartlett and Jennifer Polk.

So if you’re wondering about doing a PhD, or you’re currently doing one, go and read Gavins book. I’m not just saying that because (disclaimer) Gavin is a colleague of mine. I’m saying that because I wish this book had existed back when I did my PhD. It’s packed full of sound advice and I heartily recommend you read it!


  1. Brown, Gavin (2021) How to Get Your PhD: A Handbook for the Journey, Oxford University Press, ISBN:9780198866923
  2. Lane, Ronnie and Wood, Ronnie (1973) “Ooh La La.” In Ooh La La. The Faces. “I wish that I knew what I know now, when I was younger…”

February 24, 2021

Join us to discuss teaching social responsibility and justice in Computer Science on Monday 1st March at 2pm GMT

Scales of justice icon made by monkik from flaticon.com

With great power comes great responsibility. [1] Given their growing power in the twenty-first century, computer scientists have a duty to society to use that power responsibly and justly. How can we teach this kind of social responsibility and ethics to engineering students? Join us to discuss teaching social justice in computer science via a paper by Rodrigo Ferreira and Moshe Vardi at Rice University in Houston, Texas published in the sigcse2021.sigcse.org conference [2]. From the abstract of the preprint:

As ethical questions around the development of contemporary computer technologies have become an increasing point of public and political concern, computer science departments in universities around the world have placed renewed emphasis on tech ethics undergraduate classes as a means to educate students on the large scale social implications of their actions. Committed to the idea that tech ethics is an essential part of the undergraduate computer science educational curriculum, at Rice University this year we piloted a redesigned version of our Ethics and Accountability in Computer Science class. This effort represents our first attempt at implementing a “deep” tech ethics approach to the course.

Incorporating elements from philosophy of technology, critical media theory, and science and technology studies, we encouraged students to learn not only ethics in a “shallow” sense, examining abstract principles or values to determine right and wrong, but rather looking at a series of “deeper” questions more closely related to present issues of social justice and relying on a structural understanding of these problems to develop potential socio-technical solutions. In this article, we report on our implementation of this redesigned approach. We describe in detail the rationale and strategy for implementing this approach, present key elements of the redesigned syllabus, and discuss final student reflections and course evaluations. To conclude, we examine course achievements, limitations, and lessons learned toward the future, particularly in regard to the number escalating social protests and issues involving Covid-19.

This paper got me thinking:

Houston, we’ve had your problem!

After paging the authors in Houston with the message above there was initial radio silence.

Beep - beep - beep [white noise] Beep - beep - beep...

Hello Manchester, this is Houston, Can we join you?

So we’re delighted to be joined LIVE by the authors of the paper Rodrigo Ferreira and Moshe Vardi from Houston, Texas. They’ll give a lightning talk outlining the paper before we discuss it together in smaller break out groups.

Their paper describes a problem everyone in the world has had in teaching ethics in Computer Science recently. How can we make computing more ethical?

All welcome. As usual, we’ll be meeting on zoom, see sigcse.cs.manchester.ac.uk/join-us for details.


  1. Spider-Man (1962) https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility
  2. Rodrigo Ferreira and Moshe Vardi (2021) Deep Tech Ethics An Approach to Teaching Social Justice in Computer Science in Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE ’21), March 13–20, 2021, Virtual Event, USA. ACM, New York, NY, USA. DOI:10.1145/3408877.3432449
  3. Jack Swigert (1970) https://en.wikipedia.org/wiki/Houston,_we_have_a_problem

September 17, 2020

Join us to discuss learning git on Monday 5th October at 2pm

The use of git is widespread in software engineering, however many novices struggle to get to grips with its complex distributed information model, challenging command line syntax and leaky abstractions. To investigate these pitfalls, we’ll be talking about a paper published by Santiago Perez De Rosso and Daniel Jackson on Purposes, Concepts, Misfits, and a Redesign of Git at OOPSLA. [1] From the abstract:

Git is a widely used version control system that is powerful but complicated. Its complexity may not be an inevitable consequence of its power but rather evidence of flaws in its design. To explore this hypothesis, we analysed the design of Git using a theory that identifies concepts, purposes, and misfits. Some well-known difficulties with Git are described, and explained as misfits in which underlying concepts fail to meet their intended purpose. Based on this analysis, we designed a reworking of Git (called Gitless) that attempts to remedy these flaws.

To correlate misfits with issues reported by users, we conducted a study of Stack Overflow questions. And to determine whether users experienced fewer complications using Gitless in place of Git, we conducted a small user study. Results suggest our approach can be profitable in identifying, analysing, and fixing design problems.

Details of the zoom meeting have been posted on our slack workspace, see sigcse.cs.manchester.ac.uk/join-us for further information. Thanks to Juha Sorva at Aalto University for recommending this paper. The Git logo by Jason Long at git-scm.com/downloads/logos is licensed under a Creative Commons Attribution 3.0 Unported License.

Journal club dates for your diary

We’ll be meeting on the first Monday of every month throughout autumn, so if you’d like to join us next month or a subsequent month, add these journal club dates to your diary:

  • Monday 5th October at 2pm
  • Monday 2nd November at 2pm
  • Monday 7th December at 2pm


  1. Santiago Perez De Rosso and Daniel Jackson (2016) Purposes, Concepts, Misfits, and a Redesign of Git in Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (OOPSLA), pages 292–310 DOI: 10.1145/2983990.2984018
Next Page »

Blog at WordPress.com.