Evidence supports offering research experiences for undergraduate computing science students as a means of broadening participation in computing [7, 10, 11]. However, student perceptions about computing science research, how students become interested in these research experiences, and the details of effective design and delivery of programs capable of attracting and retaining this interest are less explored. In this study, we investigate the design and delivery of undergraduate research programs. We expand on and explore several factors, including but not limited to cultural relevance, the presence of a cross-disciplinary high-level view, task assignment, entry point, and support elements of a program.
A new discourse has proliferated in teaching and learning committee meetings- Large Language Models (LLMs), most commonly Chat Generative Pre-Trained Transformer (ChatGPT). ChatGPT 'went viral' across HEIs during 2022 and it could be said that for academics, this has been more 'shock' than 'awe'. A shock that this Artificial Intelligence (AI) software can generate semi-credible coursework, and that students have swiftly enacted their agency. In this paper we take an 'employability' lens on ChatGPT and contribute to a growing body of research on AI within HEIs. Through understanding how employers and their employees are adopting LLMs in their workplace. Our Qualtrics survey of practicing engineers (N = 86) was undertaken over a four-week period during the period June-July 2023 and provides a 'snapshot' in time. That is, given the rapidity of how ChatGPT is metamorphosing, our data and subsequent conclusions are attributable to a version ChatGPT 3-3.5 in use during this period.
Computing graduates are frequently reported by members of industry to lack in professional dispositions and/or non-technical skills (often referred to as "soft skills"). In this work, we conduct a gap analysis of the alignment between academic preparation and industry expectations through a three-pronged study. First, a literature review explored the academic perspective of how fostering professional dispositions and non-technical skills occurs in tertiary computing education. Second, a literature review identifying industry's expectations of those dispositions and skills for entry-level computing professionals. Finally, a mixed-methods approach, combining a survey and structured interviews of computing industry professionals to identify their opinions on the relative importance of those skills and dispositions. In each of these prongs, we additionally consider whether and how Diversity, Equity, Inclusion, and Accessibility (DEIA) may have been approached and/or incorporated. Our work uncovers a number of gaps. Several skills and dispositions, such as leadership, ethics, and inventiveness, are over-represented in the academic literature compared to industry's expectations, while others such as lifelong learning and professionalism are under-emphasised. Furthermore, some terms such as 'ethics' and 'professionalism' are defined differently by various stakeholder groups, leading to a gap between academic training and industry expectations. Finally, several skills and dispositions, such as collaboration, teamwork, communication, and leadership show evidence of exposure in academia, but require more scaffolded instruction to meet industry expectations. We also found a dearth of coverage in the literature and a lack of focus in industry for DEIA considerations.
The panel convenes five educators to discuss the ethical implications of utilising Generative AI (Gen-AI) and Large Language Models (LLMs) in computing education. Their expertise spans various domains, including organising national workshops on the implications of generative AI tools, conducting surveys on their use within curricula, implementing institutional policies related to technology use, and engaging with students directly in the classroom. They reflect on the evolution of Gen-AI and LLMs from challenging-to-use technologies to indispensable tools for users of all levels. Furthermore, they examine the ethical dilemmas arising from the widespread adoption of these technologies in educational contexts, particularly regarding issues of originality, integrity, and responsible use. In addition, they explore practical strategies for integrating ethics education into computing curriculum design and classroom practices. This includes discussions on the role of educators in guiding students towards ethical technology usage, addressing uncertainties surrounding Gen-AI tools, and fostering a culture of responsible innovation within educational institutions. Through their collective insights and experiences, the panel aims to provide recommendations for navigating the ethical complexities inherent in the integration of Gen-AI technologies into computing education curricula.
Growing undergraduate class sizes has led to exploring different approaches to marking individual programming assignments. One of these approaches is automated marking. This paper details how automated marking was successfully utilised in multiple undergraduate classes, with a programming element, at the University of Strathclyde. We made use of two automated systems, CodeRunner, and one similar in-house system, Browser Automated Marking (BAMjs), developed by a former teaching associate Philip Rodgers. These were used across years 1-3 and assessed the Java, Python and C programming languages. We provide some example questions, discuss how its use has affected student performance, as well as student feedback on the approach.
The ITiCSE '23 final keynote raised teaching soft skills, or professional dispositions, to help students face challenges in modern programming. This project addresses helping computing students develop professional dispositions through collaborative learning (CL) since some in the industry observe entry-level engineers struggling due to their fragile professional dispositions. We are motivated to understand professional expectations from entry-level engineers and present the academia-industry gap to support practitioners and researchers in advancing CL in Computing Education, encouraging positive curricula and policy changes that promote DEIA. We will present CL practices alongside their supported professional dispositions to assist practitioners in adoption. We will present the academia-industry gap in CL for future research opportunities, helping researchers advance CL practices to integrate professional dispositions the industry expects from entry-level engineers.
Blended learning is the combination of in-person teaching and online activities. For example, combining face-to-face lectures/tutorials with online videos and assessments. With the adoption of non-traditional, not fully on-campus courses, such as degree and graduate apprenticeships in the UK, CPD, re/upskilling, and alternative teaching methods being required due to the pandemic, many different teaching strategies have been explored. Blended learning is one of these strategies and has proven popular for both universities and students. Based on experience, we present tips for blended learning within the teaching of computer science.
Students are often asked to learn programming by writing code from scratch. However, many novices struggle to write code and get frustrated when their code does not work. Parsons problems can reduce the difficulty of a coding problem by providing mixed-up blocks the learner rearranges into the correct order. These mixed-up blocks can include distractor blocks that are not needed in a correct solution. Distractor blocks can include common errors, which may help students learn to recognize and fix such errors. Evidence suggests students find Parsons problems engaging, useful for learning to program, and typically easier and faster to solve than writing code from scratch, but with equivalent learning gains. Most research on Parsons problems prior to this work has been conducted at a single institution. This work addresses the need for replication across multiple contexts. A 2022 ITiCSE Parsons Problems Working Group conducted an extensive literature review of Parsons problems, designed several experimental studies for Parsons problems in Python, and created 'study-in-a-box' materials to help instructors run the experimental studies, but the 2022 working group had only sufficient time to pilot two of these studies. Our 2023 ITiCSE Parsons Problems Working Group reviewed these studies, revised some of the studies, expanded both the programming and natural languages used in some of the studies, created new studies, conducted think-aloud observations on some of the studies, and ran both revised as well as new experimental studies. The think-aloud observations and experimental studies provide evidence for using Parsons problems to help students learn common algorithms such as swap, and the usefulness of distractors in helping students learn to recognize, fix, and avoid common errors. In addition, our 2023 ITiCSE Parsons Problems Working Group reviewed Parsons problem papers published after the 2022 literature review and provided a literature review of multi-national (MIMN) studies conducted in computer science education to better understand the motivations and challenges in performing such MIMN studies. In summary, this article contributes an analysis of recent Parsons problem research papers, an itemization of considerations for MIMN studies, the results from our MIMN studies of Parsons problems, and a discussion of recent and future directions for MIMN studies of Parsons problems and more generally.
Most postgraduate students are required to undertake an individual project under the guidance of an academic supervisor. The increasing population of postgraduate students ([1]) introduces challenges under traditional supervision models (i.e. one topic and one supervisor per student), e.g. managing supervisors’ workload, topic allocation by student preference, and inconsistencies within cohorts. Departments/Schools face similar challenges as they introduce new courses to meet educational and market needs. This paper discusses the introduction of an alternative supervision model. On a per-course basis, this model relies on: i) small supervision teams, and ii) fewer high-level topics (i.e. instead of one detailed topic per student). Both are proportional to the cohort size to ensure the scalability of the model is maintained with increasing student numbers. The paper concludes with the results of a preliminary study on the application of the model to one postgraduate course at a UK Computer Science Department.
Many novice programmers struggle to write code from scratch and get frustrated when their code does not work. Parsons problems can reduce the difficulty of a coding problem by providing mixed-up blocks that the learner assembles in the correct order. Parsons problems can also include distractor blocks that are not needed in a correct solution, but which may help students learn to recognize and fix errors. Evidence indicates that students find Parsons problems engaging, easier than writing code from scratch, useful for learning patterns, and typically faster to solve than writing code from scratch with equivalent learning gains. This working group leverages the work of the 2022 ITiCSE working group which published an extensive literature review of Parsons problems and designed and piloted several studies based on the gaps identified by the literature review. The 2023 working group is revising, conducting, and creating new studies. We will analyze the data from these multi-institutional and multi-national studies and publish the results as well as recommendations for future working groups.
Search-based test data generation has been a considerably active research field recently. Several local and global search approaches have been proposed, but the investigation of artificial immune system (AIS) algorithms has been extremely limited. Our earlier results from testing six Java classes, exploiting a genetic algorithm (GA) to measure data- flow coverage, helped us identify a number of problematic test scenarios. We subsequently proposed a novel approach for the utilization of clonal selection. This paper investigates whether the properties of this algorithm (memory, combination of local and global search) can be beneficial in our effort to address these problems, by presenting comparative experimental results from the utilization of a GA (combined with AIS and simple local search (LS)) to test the same classes. Our findings suggest that the hybridized approaches usually outperform the GA, and there are scenarios for which the hybridization with LS is more suited than the more sophisticated AIS algorithm.
It is not unusual for a software development organization to expend 40% of total project effort on testing, which can be a very laborious and time-consuming process. Therefore, there is a big necessity for test automation. This paper describes an approach to automatically generate test-data for OO software exploiting a Genetic Algorithm (GA) to achieve high levels of data-flow (d-u) coverage. A proof-of-concept tool is presented. The experimental results from testing six Java classes helped us identify three categories of problematic test targets, and suggest that in the future full d-u coverage with a reasonable computational cost may be possible if we overcome these obstacles.
In previous research, we presented an approach to automatically generate test-data for object-oriented software exploiting a genetic algorithm (GA) to achieve high levels of data-flow coverage. The experimental results from testing six Java classes helped us identify a number of problematic test targets, and suggest that in the future full data-flow coverage with a reasonable computational cost may be possible if we overcome these obstacles. To this end, the investigation of artificial immune system (AIS) algorithms was chosen. This paper provides a brief summary of our previous work and an introduction to both human and artificial immune system. We then suggest a framework for the application of AIS algorithms to the problem of automated testing, followed by some thoughts on why and how these algorithms can be beneficial in our effort to improve the performance of our previously implemented GA. Finally, our preliminary results from a proof-of-concept implementation are presented.