More and more software development tools are available in the cloud, with tools like Replit, CodingRooms, GitHub Codespaces, Amazon Web Services Cloud9, JetBrains and Eclipse all offering online tools for developers to code collaboratively in the cloud. Integrated Development Environments (IDEs) which have traditionally been available as “fatter” clients are increasingly available as “thinner” web-based clients running in a browser. These tools can lower some of the barriers to installation and maintenance for their users. What are the strengths and weaknesses of these new tools for teaching introductory programming courses? Join us on Monday 6th February at 2pm GMT to discuss a paper by Phil Hackett and his colleagues at the Open University on this very topic , from the abstract:
This paper discusses a pilot research project, which investigated the use of online collaborative IDEs (Integrated development environments) during a first-year computing degree course. The IDEs used can be described as virtual computing labs because they replicate some of the actions possible in physical computing labs. Students were supported by a tutor with real-time help and feedback provided, whilst they were programming, without being collocated. The use of two different platforms is considered with the benefits and drawbacks discussed. Students and tutors indicated that they would like to use a virtual computing lab approach in the future.
We’ll be joined by the lead author of the paper Phil Hackett, who’ll give us a lightning talk summary of the paper to kick-off our journal club discussion. The paper was presented at Computing Education Practice (CEP) in Durham earlier this month. 
Phil Hackett, Michel Wermelinger, Karen Kear and Chris Douce (2023) Using a Virtual Computing Lab to Teach Programming at a Distance in CEP ’23: Proceedings of 7th Conference on Computing Education Practice Pages 5–8 DOI:10.1145/3573260.3573262
Computing is widely taught in schools in the UK and Ireland, but how does the subject vary across primary and secondary education in Scotland, England, Wales and Ireland? Join us to discuss via a paper published at UKICER.com by Sue Sentance, Diana Kirby, Keith Quille, Elizabeth Cole, Tom Crick and Nicola Looker. 
Many countries have increased their focus on computing in primary and secondary education in recent years and the UK and Ireland are no exception. The four nations of the UK have distinct and separate education systems, with England, Scotland, Wales, and Northern Ireland offering different national curricula, qualifications, and teacher education opportunities; this is the same for the Republic of Ireland. This paper describes computing education in these five jurisdictions and reports on the results of a survey conducted with computing teachers. A validated instrument was localised and used for this study, with 512 completed responses received from teachers across all five countries The results demonstrate distinct differences in the experiences of the computing teachers surveyed that align with the policy and provision for computing education in the UK and Ireland. This paper increases our understanding of the differences in computing education provision in schools across the UK and Ireland, and will be relevant to all those working to understand policy around computing education in school.
(we’ll be joined by the co-authors of the paper: Sue Sentance and Diana Kirby from the University of Cambridge and the Raspberry Pi Foundation with a lightning talk summary to start our discussion)
Sue Sentance, Diana Kirby, Keith Quille, Elizabeth Cole, Tom Crick and Nicola Looker (2022) Computing in School in the UK & Ireland: A Comparative Study UKICER ’22: Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research 5 pp 1–7 DOI: 10.1145/3555009.3555015
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.  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.
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
What do employers want from Computer Science students and how good are Universities in producing graduates with what employers need? Join us to discuss via a paper by Roseanne English and Alan Hayes from UKICER 2022.  From the abstract:
In preparing computing science students for industry, degree content often focuses on technical skills such as programming. Such skills are essential for a successful post-study career in industry and is popular with students. However, industry notes that students are often limited in what can be referred to as graduate attributes or transferable skills. Such skills include effective teamwork, communication, and critical thinking amongst others. Similar gaps have also been demonstrated for computing science students more specifically, resulting in industry developing their own training programmes for graduates. To address this issue, graduate attributes could be incorporated more readily into computing curricula. Within the UK this is discussed in accreditation requirements as well as higher education frameworks. However, research which aims to explore how to achieve this is still comparatively limited. Building on existing work in this area, this paper presents a thematic analysis of graduate attributes at Russell Group Universities in the UK to identify the most common attribute themes, and uses the most frequent themes to begin to consider how these could be more readily embedded in CS curricula.
Rosanne English and Alan Hayes (2022) Towards Integrated Graduate Skills for UK Computing Science Students in UKICER ’22: Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research Pages 1–7 DOI:10.1145/3555009.3555018 (free version via https://pureportal.strath.ac.uk… )
Science is a broad church, full of narrow minds, trained to know ever more about even less. That’s according to Steve Jones , but in Computing Education Research (CER) are we being too narrow-minded about what counts (and what doesn’t count) as a contribution? Join us to discuss via a paper by Steve Draper and Joseph Maguire at the University of Glasgow recently published in TOCE . From the abstract:
The overall aim of this paper is to stimulate discussion about the activities within CER, and to develop a more thoughtful and explicit perspective on the different types of research activity within CER, and their relationships with each other. While theories may be the most valuable outputs of research to those wishing to apply them, for researchers themselves there are other kinds of contribution important to progress in the field. This is what relates it to the immediate subject of this special journal issue on theory in CER. We adopt as our criterion for value “contribution to knowledge”. This paper’s main contributions are: A set of 12 categories of contribution which together indicate the extent of this terrain of contributions to research. Leading into that is a collection of ideas and misconceptions which are drawn on in defining and motivating “ground rules”, which are hints and guidance on the need for various often neglected categories. These are also helpful in justifying some additional categories which make the set as a whole more useful in combination. These are followed by some suggested uses for the categories, and a discussion assessing how the success of the paper might be judged.
Teaching Assistants (both undergraduate UTA’s and graduate GTA’s) are crucial to enable teaching and learning in higher education. How can we make their jobs easier using automatic code corrections? Join us on Monday 1st August at 2pm to discuss via a paper recently published at CHI by Yana Malysheva and Caitlin Kelleher. 
Undergraduate Teaching Assistants(TAs) in Computer Science courses are often the first and only point of contact when a student gets stuck on a programming problem. But these TAs are often relative beginners themselves, both in programming and in teaching. In this paper, we examine the impact of availability of corrected code on TAs’ ability to find, fix, and address bugs in student code. We found that seeing a corrected version of the student code helps TAs debug code 29% faster, and write more accurate and complete student-facing explanations of the bugs (30% more likely to correctly address a given bug). We also observed that TAs do not generally struggle with the conceptual understanding of the underlying material. Rather, their difficulties seem more related to issues with working memory, attention, and overall high cognitive load.
Yana Malysheva and Caitlin Kelleher (2022) Assisting Teaching Assistants with Automatic Code Corrections CHI ’22: Proceedings of the 2022 CHI Conference on Human Factors in Computing SystemsApril 2022 Article No.: 231 Pages 1–18 DOI: 10.1145/3491102.3501820
Automatic code generators have been with us a while, but how do modern AI powered bots perform on introductory programming assignments? Join us to discuss the implications of the OpenAI Codex on introductory programming courses on Monday 4th July at 2pm BST. We’ll be discussing a paper by James Finnie-Ansley, Paul Denny, Brett A. Becker, Andrew Luxton-Reilly and James Prather  for our monthly SIGCSE journal club meetup on zoom. Here is the abstract:
Recent advances in artificial intelligence have been driven by an exponential growth in digitised data. Natural language processing, in particular, has been transformed by machine learning models such as OpenAI’s GPT-3 which generates human-like text so realistic that its developers have warned of the dangers of its misuse. In recent months OpenAI released Codex, a new deep learning model trained on Python code from more than 50 million GitHub repositories. Provided with a natural language description of a programming problem as input, Codex generates solution code as output. It can also explain (in English) input code, translate code between programming languages, and more. In this work, we explore how Codex performs on typical introductory programming problems. We report its performance on real questions taken from introductory programming exams and compare it to results from students who took these same exams under normal conditions, demonstrating that Codex outscores most students. We then explore how Codex handles subtle variations in problem wording using several published variants of the well-known “Rainfall Problem” along with one unpublished variant we have used in our teaching. We find the model passes many test cases for all variants. We also explore how much variation there is in the Codex generated solutions, observing that an identical input prompt frequently leads to very different solutions in terms of algorithmic approach and code length. Finally, we discuss the implications that such technology will have for computing education as it continues to evolve, including both challenges and opportunities. (see accompanying slides and sigarch.org/coping-with-copilot/)
James Finnie-Ansley, Paul Denny, Brett A. Becker, Andrew Luxton-Reilly, James Prather (2022) The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming ACE ’22: Australasian Computing Education Conference Pages 10–19 DOI:10.1145/3511861.3511863
print(’Hello World!’) is all very well but it doesn’t help physics students solve the Schrödinger equation. Join us for our next journal club meeting on Monday 13th June at 2pm BST where we’ll be discussing a paper by Lloyd Cawthorne from the Department of Physics and Astronomy on teaching programming to undergraduate Physics students. From the abstract:
Computer programming is a key component of any physical science or engineering degree and is a skill sought by employers. Coding can be very appealing to these students as it is logical and another setting where they can solve problems. However, many students can often be reluctant to engage with the material as it might not interest them or they might not see how it applies to their wider study. Here, I present lessons I have learned and recommendations to increase participation in programming courses for students majoring in the physical sciences or engineering. The discussion and examples are taken from my second-year core undergraduate physics module, Introduction to Programming for Physicists, taught at The University of Manchester, UK. Teaching this course, I have developed successful solutions that can be applied to undergraduate STEM courses.
Spatial skills can be beneficial in engineering and computing, but how are they connected? Why are spatial abilities beneficial in engineering? Join us to discuss this via a paper on spatial skills training by Jack Parkinson and friends at the University of Glasgow. Here is the abstract:
We have been training spatial skills for Computing Science students over several years with positive results, both in terms of the students’ spatial skills and their CS outcomes. The delivery and structure of the training has been modified over time and carried out at several institutions, resulting in variations across each intervention. This article describes six distinct case studies of training deliveries, highlighting the main challenges faced and some important takeaways. Our goal is to provide useful guidance based on our varied experience for any practitioner considering the adoption of spatial skills training for their students.
Jack Parkinson, Ryan Bockmon, Quintin Cutts, Michael Liut, Andrew Petersen and Sheryl Sorby (2021) Practice report: six studies of spatial skills training in introductory computer science, ACM Inroads Volume 12, issue 4, pp 18–29 DOI: 10.1145/3494574
Learning can be an emotional process and we often don’t realise when we are actually learning. When you’re listening to an expert explain something well, it’s easy to mistake the speaker’s smooth delivery for your own understanding. You might feel like you’re learning, but actual learning is often hard work and feels uncomfortable. Join us to discuss actual learning vs. feeling of learning via a paper by Louis Deslauriers, Logan S. McCarty, Kelly Miller, Kristina Callaghan, and Greg Kestin at Harvard University here is the abstract:
We compared students’ self-reported perception of learning with their actual learning under controlled conditions in large-enrollment introductory college physics courses taught using 1) active instruction (following best practices in the discipline) and 2) passive instruction (lectures by experienced and highly rated instructors). Both groups received identical class content and handouts, students were randomly assigned, and the instructor made no effort to persuade students of the benefit of either method. Students in active classrooms learned more (as would be expected based on prior research), but their perception of learning, while positive, was lower than that of their peers in passive environments. This suggests that attempts to evaluate instruction based on students’ perceptions of learning could inadvertently promote inferior (passive) pedagogical methods. For instance, a superstar lecturer could create such a positive feeling of learning that students would choose those lectures over active learning. Most importantly, these results suggest that when students experience the increased cognitive effort associated with active learning, they initially take that effort to signify poorer learning. That disconnect may have a detrimental effect on students’ motivation, engagement, and ability to self-regulate their own learning. Although students can, on their own, discover the increased value of being actively engaged during a semester-long course, their learning may be impaired during the initial part of the course. We discuss strategies that instructors can use, early in the semester, to improve students’ response to being actively engaged in the classroom.