Join us on to discuss why LLM-enhanced Programming Error Messages are Ineffective in Practice on Monday 2nd December at 2pm GMT (UTC)

Icon by LAFS on flaticon.com

Large Language Models (LLMs) can help explain programming error messages and these explanations tend to improve as the models they are based on include more source code. However, it is unknown to what extent novice programmers are able to effectively utilise these automatically generated explanations to debug their programs, with tools like GitHub CoPilot and ChatGPT. Join us to discuss a paper on this by Eddie Antonio Santos and Brett Becker. This paper won a best paper award at UKICER.com earlier this year. We’ll be joined by the papers lead author, Eddie Antonio Santos, who’ll give a lightning talk to kick off our discussion. From the abstract:

The sudden emergence of large language models (LLMs) such as ChatGPT has had a disruptive impact throughout the computing education community. LLMs have been shown to excel at producing correct code to CS1 and CS2 problems, and can even act as friendly assistants to students learning how to code. Recent work shows that LLMs demonstrate unequivocally superior results in being able to explain and resolve compiler error messages—for decades, one of the most frustrating parts of learning how to code. However, LLM-generated error message explanations have only been assessed by expert programmers in artificial conditions. This work sought to understand how novice programmers resolve programming error messages (PEMs) in a more realistic scenario. We ran a within-subjects study with 𝑛 = 106 participants in which students were tasked to fix six buggy C programs. For each program, participants were randomly assigned to fix the problem using either a stock compiler error message, an expert-handwritten error message, or an error message explanation generated by GPT-4. Despite promising evidence on synthetic benchmarks, we found that GPT-4 generated error messages outperformed conventional compiler error messages in only 1 of the 6 tasks, measured by students’ time-to-fix each problem. Handwritten explanations still outperform LLM and conventional error messages, both on objective and subjective measures.

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

References

  1. Eddie Antonio Santos and Brett A. Becker (2024) Not the Silver Bullet: LLM-enhanced Programming Error Messages are Ineffective in Practice, UKICER ’24: Proceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research DOI:10.1145/3689535.3689554

Join us to discuss the use of AI in undergraduate programming courses on Monday 4th Nov at 2pm GMT (UTC)

Co-pilots still need pilots, but what’s the relationship between them? CC BY icon from flaticon.com

Students of programming are often encouraged to use AI assistants with little consideration for their perceptions and preferences. How do students perceptions influence their usage of AI and Large Language Models (LLMs) in undergraduate programming courses? How does the use of tools like ChatGPT and GitHub CoPilot relate to students self-belief in their own programming abilities? Join us to discuss a paper by Aadarsh Padiyath et al about this published at ICER 2024. [1] From the abstract:

The capability of large language models (LLMs) to generate, debug, and explain code has sparked the interest of researchers and educators in undergraduate programming, with many anticipating their transformative potential in programming education. However, decisions about why and how to use LLMs in programming education may involve more than just the assessment of an LLM’s technical capabilities. Using the social shaping of technology theory as a guiding framework, our study explores how students’ social perceptions influence their own LLM usage. We then examine the correlation of self-reported LLM usage with students’ self-efficacy and midterm performances in an undergraduate programming course. Triangulating data from an anonymous end-of-course student survey (n = 158), a mid-course self-efficacy survey (n=158), student interviews (n = 10), self-reported LLM usage on homework, and midterm performances, we discovered that students’ use of LLMs was associated with their expectations for their future careers and their perceptions of peer usage. Additionally, early self-reported LLM usage in our context correlated with lower self-efficacy and lower midterm scores, while students’ perceived over-reliance on LLMs, rather than their usage itself, correlated with decreased self-efficacy later in the course.

There’s also an accompanying article and blog post to go with this paper. [2.3]

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

References

  1. Aadarsh Padiyath, Xinying Hou, Amy Pang, Diego Viramontes Vargas, Xingjian Gu, Tamara Nelson-Fromm, Zihan Wu, Mark Guzdial, Barbara Ericson (2024) Insights from Social Shaping Theory: The Appropriation of Large Language Models in an Undergraduate Programming Course ICER ’24: Proceedings of the 2024 ACM Conference on International Computing Education Research – Volume 1, Pages 114 – 130 DOI:10.1145/3632620.3671098 (non-paywalled version at arxiv.org/abs/2406.06451)
  2. Aadarsh Padiyath (2024) Do I have a say in this or has ChatGPT already decided for me? blog post at computinged.wordpress.com
  3. Aadarsh Padiyath (2024) Do I Have a Say in This, or Has ChatGPT Already Decided for Me? XRDS: Crossroads, The ACM Magazine for students, Volume 31, Issue 1, Pages 52 – 55, DOI:10.1145/3688090 (paywalled version only)

In Memory of Brett Becker

We are deeply saddened to hear of Brett Becker‘s tragic passing. Brett has been a regular speaker, supporter and attendee at SIGCSE journal club since we started in 2020 and we’ve have often discussed Brett’s papers at SIGCSE journal club. We’d planned to discuss another one of Brett’s papers at our October meetup but we’ve postponed that to a later date, in light of his passing.

Brett was an accomplished researcher and active member of the international computing education research community.  Among his many professional activities and accomplishments, Brett was influential in the sigcse.org community in Europe, America and beyond where he served as vice chair.  He also served as program co-chair at the inaugural ukicer.com conference in 2019, and again in 2022, and served on the UKICER steering committee.  He helped to ensure Ireland was a cornerstone of UKICER, and also co-founded sigcseire.acm.org, the SIGCSE Ireland chapter.  He was an energetic and astute proponent of computing education in Ireland and globally, always a pleasure to work with, and he will be greatly missed.

Plans to honor and remember Brett will be distributed to the SIGCSE-MEMBERS@LISTSERV.ACM.ORG mailing list in due course, this is an open list that anyone can subscribe to.





Join us on 5th & 6th September for UKICER.com in Manchester

Journal club is taking a break for August, we’ll be back in September for the United Kingdom & Ireland Computing Education Research conference (UKICER.com), 5th & 6th of September in Manchester.


If you’ve any papers you’d like to discuss at future journal clubs, send us your paper nominations via the usual channels, see the nominate details at sigcse.cs.manchester.ac.uk/papers

Join us to discuss the broken software engineering pipeline on Monday 1st of July at 2pm BST

Pipeline icon via flaticon.com

Many employers struggle to recruit and retain software engineers with the skills needed to contribute to the modern workplace. What do employers and educators need to do to address this wicked problem? Join us to discuss the broken pipeline problem and its potential solutions in cybersecurity and beyond on Monday 1st July at 2pm BST. We’ll be joined by Shamal Faily and James Sharp from the Defence Science and Technology Laboratory (DSTL – an executive agency of the UK Ministry of Defence – MoD) who will give a lightning talk summary of their paper published at the High Integrity Software Conference (HISC) in 2024. From the abstract:

Industry sectors producing High Integrity software, like Defence and Aerospace, require a consistent and reliable supply of software engineering suitably qualified and experienced persons (SQEP). Much of this SQEP is drawn from UK Computer Science undergraduate programmes. However, these sectors face several challenges meeting the quantity and quality of the desired supply. First, classic but relevant material on Software Engineering is slowly being de-emphasised from Academic Computing programmes, and even removed from specialist programmes such as Cyber Security. For example, at several institutions, modules on Software Engineering have been replaced with more restricted material on Software Design, often delivered in the first year of a degree programme. Second, because of how degree and apprenticeship accreditation criteria are interpreted, foundational topics on software requirements and specifications are delivered inconsistently. On some programmes, user needs and software requirements are considered to be synonymous. On others, material that is covered early in the curriculum is not reinforced in later years, once students begin to encounter non-trivial systems. Third, as Software Engineering is no longer an active area of research in the UK, the SQEP available to deliver best practice and research results in Software Engineering is becoming eroded. This has implications on the ability to teach material such as Model-Driven Software Engineering, but also on what ‘software engineering’ is understood to be. For example, many ICT projects employ agile methods where code is valued over documentation. Software for many critical systems is too complex to reason about independently, and – given the life span of such systems – non-software artefacts are essential for activities like validation, knowledge exchange, and certification. To begin addressing these challenges at scale, we propose three possible solutions. First, we must talk more widely about the Software Engineering SQEP pipeline problem. The more awareness there is of this pipeline problem, the more likely it is different stakeholders will start collaborating to strengthen the pipeline. Second, to halt further erosion of the Software Engineering curricula, degree accreditors need to be prepared to identify and call out anti-patterns in Software Engineering education. This should not be a punitive process, but a vehicle for proposing remediations, albeit as a pre-requisite for continued accreditation. Third, material on software certification should be embodied into the Software Engineering curriculum for all Computer Science course derivatives. Safety and Security is increasing expected by consumers in systems of all shapes and sizes, driven by a need to introduce automation throughout everyday life. Introducing a focus on certification will encourage innovation research and education around how to do this at the same pace as modern software engineering. Moreover, those with cogent knowledge should also be prepared to share it, to ensure a certification curricula can be delivered at scale across all UK HEIs.

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

References

  1. Faily, S and Sharp, J (2024) The Software Engineering SQEP Pipeline Problem: Challenges and Opportunities his-conference.co.uk/session/the-software-engineering-sqep-pipeline-problem-challenges-and-opportunities (slides and abstract available online)

Join us to discuss teaching team collaboration to engineers on Monday 10th June at 2pm BST

CC licensed Dream image by flaticon.com

Teamwork makes the dream work, or so the cliché goes. So how do you assess students ability to work together towards shared goals? Teaching students to collaborate in teams (agile or otherwise) is notoriously problematic. Dream work can rapidly descend into a nightmare struggle to motivate the free-riders while restraining the self-appointed dictators. Who gets the credit for what? What did the team agree on exactly? Join us to discuss how to develop students confidence and abilities to collaborate in teams of diverse engineers, from a paper published at ITiCSE. [1] From the Abstract

We had an outdated, unsuitable pair of courses covering software engineering over an academic year, which were rewritten last summer. Out went the plan-driven project approach of GANNT charts, and a belief that ‘better estimates’ would save the day. In came a lightweight focus on a mix of extreme programming and scrum to incrementally, and iteratively build products. The classroom changed too. Out went lecture slides in the classroom, plus self-directed pick and choose practical sessions. In came video-led lectures based on the pandemic experience, experiential learning, and more suitable practical sessions to guide students in what they need know to build their product prototypes.The initial results suggest we are headed in the right direction. It still needs more work, but shows students are developing products more confidently as teams of students.

We’ll be joined by Bruce Scharlau, author of the paper, who’ll give us a five minute lightning talk to kick-off our discussion about teaching team collaboration. All welcome, joining details at sigcse.cs.manchester.ac.uk/join-us/

References

  1. Scharlau, Bruce (2023). Being Agile in the Software Engineering Classroom: Using Agile Approaches Instead of Plan-driven Approaches. Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education (ITiCSE), pages 583–584, DOI: 10.1145/3587103.3594154

Join us to discuss using agile group projects to develop more employable graduates on Monday 13th May at 2pm BST

CC licensed agile image from flaticon.com

Employers often love academic group projects while students often loathe them. How can Agile group projects be used to develop students skills, both hard technical skills and softer people skills? Join us on Monday 13th May at 2pm BST to discuss a paper on this published by Jordan Allison and his collaborators at the University of Gloucestershire and the University of Bristol in the Journal of Further and Higher Education. [1] From the abstract:

This article presents the usage of Integrated Course Design (ICD) in the design and evaluation of applying agile methodologies within an undergraduate module of study to foster the development of computer science students employability skills. Undergraduate programs of computer science typically follow traditional educational methods which can lead to students unable to connect knowledge learned in class to actual situations and students are often assessed individually, whereas collaborative group projects are more akin to industry practice. The teaching experience reported gives students the opportunity to relate concepts learnt in class to a practical group-based project. Students must meet the requirements of a ‘client’ who will provide feedback and additional challenges for students while following the Agile framework SCRUM. Positive student feedback and module grades 7.70% higher than the department average over a four year period indicates the teaching structure and assessment presented is an effective method to foster the development of technical and soft skills of undergraduate computer science students.

We’ll be joined by the co-authors who will give us a five-minute lightning talk summary of their paper to kick-off our discussion. All welcome, joining details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Jordan Allison, Abu Alam, Luke Gassmann, Gareth Nelson & Kamal Zidan (2024): Fostering the development of computer science graduate employability through agile projects, Journal of Further and Higher Education, DOI: 10.1080/0309877X.2024.2340642

Join us to discuss developing students professional competencies in software engineering on Monday 8th April at 2pm BST (UTC +1)

Some competencies in software engineering are either difficult to teach and/or hard to measure, especially in a purely academic environment. Professional competencies in software engineering are often easier to learn in the workplace, rather than taught in a University lab, workshop or lecture theatre. What evidence can students provide of the professional competencies they develop while employed in a, workplace? Join us on Monday 8th April at 2pm BST (UTC+1) to discuss a paper on this published in this years SIGCSE technical symposium (sigcse2024.sigcse.org) by Matthew Barr, Oana Andrei, Alistair Morrison and Syed Waqar Nabi at the University of Glasgow [1]. From the abstract:

Competencies may be defined as the knowledge, skills, and professional dispositions that an individual is required to demonstrate in order to be considered professionally competent. Competency-based education has long been a feature of professional degree programs, but the discipline of Computing Science has only recently begun to embrace competencies as a means of structuring or evaluating students’ learning. Meanwhile, the practice of work-based learning – also well-established in other professional disciplines– has become more prevalent in Computing Science education, with increasing emphasis placed on work-based modes of learning, such as internships and apprenticeships. In this paper, we examine how students enrolled on a degree-level apprenticeship in Software Engineering have developed their professional competencies in the workplace. The paper is based on an analysis of 38 student assignments, wherein apprentices were asked to identify the competencies they have demonstrated, with reference to a portfolio of work. The UK Standard for Professional Engineering Competence and Commitment, which outlines the competencies required for certification as an Incorporated Engineer, provided the necessary framework. Competencies relating to communication and inter-personal skills were among those most often cited by apprentices, with competencies relating to knowledge and understanding and design and development systems also featuring prominently. Competencies relating to responsibility, management, or leadership were less prevalent, with professional commitment proving to be the least commonly cited category of competencies. We provide examples of how apprentices claim to have demonstrated each competency, and discuss the implications of these findings for competency-based learning in Computing Science education

We’ll be joined by the co-authors who will give us a five-minute lightning talk summary of their paper to kick-off our discussion. All welcome, joining details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Matthew Barr, Oana Andrei, Alistair Morrison, Syed Waqar Nabi (2024) The Development of Students’ Professional Competencies on a Work-Based Software Engineering Program, SIGCSE 2024: Proceedings of the 55th ACM Technical Symposium on Computer Science Education, Pages 81–87, DOI:10.1145/3626252.3630944

CC licensed image from flaticon.com

Join us to discuss women’s elective choices in Computing on Monday 4th March at 2pm GMT

How can we increase participation of women in computing? How can we recruit and retain more women to study computing? Curricula are an obvious place to start. Understanding student motivations for their learning choices can help educators develop more effective programs of study. Join us to discuss a paper modeling women’s elective choices in computing by Steven Bradley, Miranda C. Parker, Rukiye Altin, Lecia Barker, Sara Hooshangi, Thom Kunkeler, Ruth G. Lennon, Fiona McNeill, JuliĂ  MinguillĂłn, Jack Parkinson, Svetlana Peltsverger and Naaz Sibia from the Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE). From the abstract:

Evidence-based strategies suggest ways to reduce the gender gap in computing. For example, elective classes are valuable in enabling students to choose in which directions to expand their computing knowledge in areas aligned with their interests. The availability of electives of interest may also make computing programs of study more meaningful to women. However, research on which elective computing topics are more appealing to women is often class or institution specific. In this study, we investigate differences in enrollment within undergraduate-level elective classes in computing to study differences between women and men. The study combined data from nine institutions from both Western Europe and North America and included 272 different classes with 49,710 student enrollments. These classes were encoded using ACM curriculum guidelines and combined with the enrollment data to build a hierarchical statistical model of factors affecting student choice. Our model shows which elective topics are less popular with all students (including fundamentals of programming languages and parallel and distributed computing), and which elective topics are more popular with women students (including mathematical and statistical foundations, human computer interaction and society, ethics, and professionalism). Understanding which classes appeal to different students can help departments gain insight of student choices and develop programs accordingly. Additionally, these choices can also help departments explore whether some students are less likely to choose certain classes than others, indicating potential barriers to participation in computing.

We’ll be joined by some of the co-authors of the paper who will give us a five minute lightning talk summary to kick-off our discussion. As usual we’ll be meeting on zoom, all welcome, joining details at sigcse.cs.manchester.ac.uk/join-us

References

  1. Steven Bradley, Miranda C. Parker, Rukiye Altin, Lecia Barker, Sara Hooshangi, Thom Kunkeler, Ruth G. Lennon, Fiona McNeill, JuliĂ  MinguillĂłn, Jack Parkinson, Svetlana Peltsverger, Naaz Sibia (2023) ITiCSE-WGR ’23: Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education, Pages 196–226, DOI:10.1145/3623762.3633497

CC licensed image via flaticon.com

Join us to discuss ten things engineers should learn about learning on Monday 5th February at 2pm GMT

See one, do one, teach one” is a popular technique for teaching surgery to medical students. It has three steps:

  • You see one: by watching it, reading about it or listening to it
  • You do one: by engineering it or making it
  • You teach one: by telling others all about it


If you’re teaching engineers, what do you need to know beyond the seeing and doing? Understanding how human memory and learning works and the differences between beginners and experts can improve your teaching. So what practical steps can engineers take to improve the training and development of other engineers? What do engineers need to know in order to improve their own learning?

Join us on Monday 5th February at 2pm GMT (UTC) for our monthly ACM SIGCSE journal club meetup on zoom to discuss a paper on this topic by Neil Brown, Felienne Hermans and Lauren Margulieux, published in (and featured on the cover of) the January issue of Communications of the ACM. [1]

We’ll be joined by the lead author, Neil Brown of King’s College London, who will give us a lightning talk summary of the paper to kick off our discussion.

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

References

  1. Neil C.C. Brown, Felienne F.J. Hermans and Lauren Margulieux (2024) 10 Things Software Developers Should Learn about Learning, Communications of the ACM, Volume 67, No. 1. DOI:10.1145/3584859 (see accompanying video at vimeo.com/885743448 )