Organizational Affiliations
Highlights - Output
Conference proceeding
Sieving Coding Assignments Over Submissions Generated by AI and Novice Programmers
Published 12/11/2024
Proceedings of the 24th Koli Calling International Conference on Computing Education Research, 1 - 11
Koli Calling '24: 24th Koli Calling International Conference on Computing Education Research
In the era of AI tools like ChatGPT and GitHub Copilot, and with the numerous online resources, computer science education faces the challenge of students potentially submitting plagiarised coding assignments or assignments generated by these technologies. Distinguishing between AI-generated and human-written text is notoriously difficult. In this study, we applied two text distance algorithms, commonly used for machine translation and document comparisons, to detect similarities between various computer Python code submissions and employed hierarchical clustering to analyze them from both AI tools and human programmers. Our results indicate that the distances to the cluster representatives can effectively predict whether a code submission is generated by AI or by novice programmers, achieving an accuracy of over 90%. These findings demonstrate the significant potential of text distance algorithms in identifying the origin of coding submissions, whether generated by AI or by novice programmers.
Conference proceeding
Steps Before Syntax: Helping Novice Programmers Solve Problems using the PCDIT Framework
Published 01/01/2022
PROCEEDINGS OF THE 55TH ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, 982 - 991
Novice programmers often struggle with problem solving due to the high cognitive loads they face. Furthermore, many introductory programming courses do not explicitly teach it, assuming that problem solving skills are acquired along the way. In this paper, we present 'PCDIT', a non-linear problem solving framework that provides scaffolding to guide novice programmers through the process of transforming a problem specification into an implemented and tested solution for an imperative programming language. A key distinction of PCDIT is its focus on developing concrete cases for the problem early without actually writing test code: students are instead encouraged to think about the abstract steps from inputs to outputs before mapping anything down to syntax. We reflect on our experience of teaching an introductory programming course using PCDIT, and report the results of a survey that suggests it helped students to break down challenging problems, organise their thoughts, and reach working solutions.
Conference proceeding
Published 05/12/2021
Proceedings of IEEE International Conference on Teaching, Assessment, and Learning for Engineering (Online), 1 - 8
This work investigates the confidence and the intrinsic motivation of novice programmers in using augmented reality robots to learn programming as compared to using physical robots. We found no significant differences in students' confidence and their intrinsic motivation levels. Our sentiment analysis of students' comments, on the other hand, showed that the augmented reality robot provides less negative experience with respect to the technology itself during their learning. This suggests that an augmented reality robot can be used as an alternative of a physical robot to motivate students in learning programming. Even with this finding, we found that the physical robot continues to attract students. The full analysis of our findings is described in this work.
Conference proceeding
Securing Bring-Your-Own-Device (BYOD) Programming Exams
Published 26/02/2020
Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 880 - 886
SIGCSE '20: The 51st ACM Technical Symposium on Computer Science Education
Traditional pen and paper exams are inadequate for modern university programming courses as they are misaligned with pedagogies and learning objectives that target practical coding ability. Unfortunately, many institutions lack the resources or space to be able to run assessments in dedicated computer labs. This has motivated the development of bring-your-own-device~(BYOD) exam formats, allowing students to program in a similar environment to how they learnt, but presenting instructors with significant additional challenges in preventing plagiarism and cheating. In this paper, we describe a BYOD exam solution based on lockdown browsers, software which temporarily turns students' laptops into secure workstations with limited system or internet access. We combine the use of this technology with a learning management system and cloud-based programming tool to facilitate conceptual and practical programming questions that can be tackled in an interactive but controlled environment. We reflect on our experience of implementing this solution for a major undergraduate programming course, highlighting our principal lesson that policies and support mechanisms are as important to consider as the technology itself.