Comparing Code Explanations Created by Students and Large Language Models
arXiv:2304.03938 · doi:10.1145/3587102.3588785
Abstract
Reasoning about code and explaining its purpose are fundamental skills for computer scientists. There has been extensive research in the field of computing education on the relationship between a student's ability to explain code and other skills such as writing and tracing code. In particular, the ability to describe at a high-level of abstraction how code will behave over all possible inputs correlates strongly with code writing skills. However, developing the expertise to comprehend and explain code accurately and succinctly is a challenge for many students. Existing pedagogical approaches that scaffold the ability to explain code, such as producing exemplar code explanations on demand, do not currently scale well to large classrooms. The recent emergence of powerful large language models (LLMs) may offer a solution. In this paper, we explore the potential of LLMs in generating explanations that can serve as examples to scaffold students' ability to understand and explain code. To evaluate LLM-created explanations, we compare them with explanations created by students in a large course () with respect to accuracy, understandability and length. We find that LLM-created explanations, which can be produced automatically on demand, are rated as being significantly easier to understand and more accurate summaries of code than student-created explanations. We discuss the significance of this finding, and suggest how such models can be incorporated into introductory programming education.
8 pages, 3 figures. To be published in Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1
References in corpus (1)
Cited by in corpus (29)
- The Robots are Here: Navigating the Generative AI Revolution in Computing Education
- CodeAid: Evaluating a Classroom Deployment of an LLM-based Programming Assistant that Balances Student and Educator Needs
- "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
- Thrilled by Your Progress! Large Language Models (GPT-4) No Longer Struggle to Pass Assessments in Higher Education Programming Courses
- A Comparative Study of AI-Generated (GPT-4) and Human-crafted MCQs in Programming Education
- Desirable Characteristics for AI Teaching Assistants in Programming Education
- Patterns of Student Help-Seeking When Using a Large Language Model-Powered Programming Assistant
- Iris: An AI-Driven Virtual Tutor For Computer Science Education
- How Beginning Programmers and Code LLMs (Mis)read Each Other
- Feedback-Generation for Programming Exercises With GPT-4
- When Geoscience Meets Generative AI and Large Language Models: Foundations, Trends, and Future Challenges
- "It's not like Jarvis, but it's pretty close!" -- Examining ChatGPT's Usage among Undergraduate Students in Computer Science
- AI-enhanced Auto-correction of Programming Exercises: How Effective is GPT-3.5?
- How Do Programming Students Use Generative AI?
- 61A Bot Report: AI Assistants in CS1 Save Students Homework Time and Reduce Demands on Staff. (Now What?)
- Enhancing Programming Error Messages in Real Time with Generative AI
- Anticipating User Needs: Insights from Design Fiction on Conversational Agents for Computational Thinking
- Automating Autograding: Large Language Models as Test Suite Generators for Introductory Programming
- VulScribeR: Exploring RAG-based Vulnerability Augmentation with LLMs
- Let's Ask AI About Their Programs: Exploring ChatGPT's Answers To Program Comprehension Questions
- Towards Integrating Emerging AI Applications in SE Education
- Evaluating the capability of large language models to personalize science texts for diverse middle-school-age learners
- Synthetic Students: A Comparative Study of Bug Distribution Between Large Language Models and Computing Students
- SPROUT: an Interactive Authoring Tool for Generating Programming Tutorials with the Visualization of Large Language Models
- Automating Personalized Parsons Problems with Customized Contexts and Concepts
- Utilizing ChatGPT in a Data Structures and Algorithms Course: A Teaching Assistant's Perspective
- Howzat? Appealing to Expert Judgement for Evaluating Human and AI Next-Step Hints for Novice Programmers
- A Systematic Literature Review of the Use of GenAI Assistants for Code Comprehension: Implications for Computing Education Research and Practice
- PLAID: Supporting Computing Instructors to Identify Domain-Specific Programming Plans at Scale