Charles’ personal pages

Hello! Welcome to my pages. My name is Charles, but everyone calls me Charlie. I am a third-year doctoral researcher (i.e., PhD student) in the computer science department at Aalto University. I am working on an interdisciplinary project in the LeTech (Learning + Technology) research group. This project combines knowledge in computing education and artificial intelligence.

News

6th March 2024

We are starting the year strongly, our paper “Open Source Language Models Can Provide Feedback: Evaluating LLMs’ Ability to Help Students Using GPT-4-As-A-Judge” (first author) has been accepted for publication at ITICSE.

15th December 2023

Our paper “Let’s Ask AI About Their Programs: Exploring ChatGPT’s Answers To Program Comprehension Questions” (second author) has been accepted at ICSE SEET!

19th October 2023

Great News! Our paper “Benchmarking Educational Program Repair” has been accepted at the Generative AI for Education (GAIED) workshop at NeurIPS. I’ll take part in the main conference and present the paper at the workshop. See you in New Orleans!

8th June 2023

I have been accepted at the Simon Initiative’s LearnLab Summer School at Carnegie Mellon University! See you in Pittsburgh! After the summer school, and before ICER, I will also visit the HINTS lab led by Professor Thomas W. Price, as well as the AI Assisted Learning lab led by Professor Bita Akram.

16 May 2023

Other great news! Our papers “Evaluating Distance Measures for Program Repair” (first author) and “Exploring the Responses of Large Language Models to Beginner Programmers’Help Requests” have been both accepted for publication at ICER. See you in Chicago!

3 April 2023

Great news! Our (short) papers “Training Language Models for Programming Feedback Using Automated Repair Tools” and “Automated Program Repair Using Generative Models for Code Infilling”, have been both accepted for publication at AIED. I will go to Tokyo in July to present the first paper and take part in the doctoral consortium.

17 November 2022

I am taking part in Koli, where I am going to present a poster illustrating my proposal for providing automatic programming feedback using open large language models.

01 September 2022

Our paper “Speeding Up Automated Assessment of Programming Exercises” has been published in UKICER.

18 June 2022

I toke part in the Nordic Probabilistic AI School in June.

07 July 2022

Our paper: “Exploring How Students Solve Open-ended Assignments: A Study of SQL Injection Attempts in a Cybersecurity Course” has been accepted for publication at ITiCSE! It is now available.

14 February 2022

I presented online our paper: “Methodological Considerations for Predicting at Risk Students” at ACE22.

My background and my research

I believe improving education is one of the best ways to impact society positively, and I am convinced that artificial intelligence holds great promise for that purpose.

I obtained a Master’s degree in Computer Science in November 2021, with a focus on intelligent systems (i.e., artificial intelligence and machine learning).

I initially came to Aalto to work on my master’s thesis for the LeTech (Learning + Technology) research group. In my thesis, I leveraged data mining methods to study how students learn in online courses, and I trained machine learning models to investigate whether the discovered learning behaviours can predict which students would drop out. My research confirmed, among other things, that struggling with programming assignments is one of the main factors for dropping out of a course, highlighting once again the importance of supporting students when they learn how to program. However, from my experience as a teaching assistant in programming courses, I know that it is difficult for educational teams to help each student, especially for large classes.

My doctoral thesis

My doctoral dissertation aims to address the previous problem. The main goal is to develop machine learning methods that can provide feedback highlighting and addressing issues in students solutions. More specifically, we are creating tools to help students who struggle with programming projects and assignments. In a way, we try to support teaching assistants. To develop efficient methods, we often inspire ourselves on how teaching assistants (TAs) help students. For instance, we study how different TAs in a programming course assist students by, for example, giving hints to the students and nudging them toward the correct way to solve the problem. This is a complex problem that beyond the technical difficulties, involves teaching knowledge. Moreover, continuing the work of my master’s thesis, I am also particularly interested in understanding how students learn programming concepts.