Litcius/Paper detail

CodeAid: Evaluating a Classroom Deployment of an LLM-based Programming Assistant that Balances Student and Educator Needs

Majeed Kazemitabaar, Runlong Ye, X.-H. Wang, Austin Z. Henley, Paul Denny, Michelle Craig, Tovi Grossman

2024209 citationsDOIOpen Access PDF

Abstract

Timely, personalized feedback is essential for students learning programming. LLM-powered tools like ChatGPT offer instant support, but reveal direct answers with code, which may hinder deep conceptual engagement. We developed CodeAid, an LLM-powered programming assistant delivering helpful, technically correct responses, without revealing code solutions. CodeAid answers conceptual questions, generates pseudo-code with line-by-line explanations, and annotates student’s incorrect code with fix suggestions. We deployed CodeAid in a programming class of 700 students for a 12-week semester. A thematic analysis of 8,000 usages of CodeAid was performed, further enriched by weekly surveys, and 22 student interviews. We then interviewed eight programming educators to gain further insights. Our findings reveal four design considerations for future educational AI assistants: D1) exploiting AI’s unique benefits; D2) simplifying query formulation while promoting cognitive engagement; D3) avoiding direct responses while encouraging motivated learning; and D4) maintaining transparency and control for students to asses and steer AI responses.

Topics & Concepts

Computer scienceCode (set theory)Software deploymentTransparency (behavior)Thematic analysisClass (philosophy)MultimediaSoftware engineeringMathematics educationProgramming languageQualitative researchPsychologyArtificial intelligenceSet (abstract data type)Computer securitySociologySocial scienceOnline Learning and AnalyticsSoftware Engineering ResearchTeaching and Learning Programming
CodeAid: Evaluating a Classroom Deployment of an LLM-based Programming Assistant that Balances Student and Educator Needs | Litcius