Electronic Theses and Dissertations
Date
2024
Document Type
Dissertation
Degree Name
Doctor of Philosophy
Department
Computer Science
Committee Chair
Vasile Rus
Committee Member
Andrew M Olney
Committee Member
Deepak Venugopal
Committee Member
Scott Fleming
Abstract
This dissertation focuses on strategies and techniques to enhance code comprehension skills among students enrolled in introductory computer science courses (CS1 and CS2). We propose a novel tutoring system, \textit{DeepCodeTutor}, designed to improve the code comprehension abilities of novices. DeepCodeTutor employs scaffolded self-explanation to facilitate a deeper understanding of code. Our user study demonstrates the effectiveness of DeepCodeTutor, with detailed results reported in this dissertation. DeepCode Tutor incorporates various components such as expert-generated code explanations and scaffolding based on students' knowledge gaps. Although effective, expert-generated explanations and scaffolding are resource-intensive and difficult to scale. To address these challenges, we explore the use of Large Language Models (LLMs). First, we investigated the ability of LLMs to generate different types of code explanations under various settings. Our study revealed that while LLMs are capable of producing such explanations, they suffer from inconsistency in the quality of these explanations. We compared code explanations generated by students, experts, and LLMs and found that the explanations generated by LLMs are closely aligned with experts' explanations. Toward the goal of generating scaffolding, we evaluated LLMs for the assessment of student explanations of code. Our results indicate that LLMs outperform traditional semantic similarity-based approaches. We also highlight various strategies and approaches for leveraging LLMs in assessment. Additionally, we propose LLM-based feedback for code comprehension. Our results demonstrate that fine-tuned LLMs are effective in generating feedback that supports students' code comprehension. This dissertation presents solutions to key challenges in improving code comprehension among novices in introductory computer science courses.
Library Comment
Dissertation or thesis originally submitted to ProQuest.
Notes
Open Access
Recommended Citation
Oli, Priti, "Towards automated scaffolding of learners' code comprehension process" (2024). Electronic Theses and Dissertations. 3614.
https://digitalcommons.memphis.edu/etd/3614
Comments
Data is provided by the student.