Automatic Generation of Programming Exercises and Code Explanations Using Large Language Models

被引:0
作者
Sarsa, Sami [1 ]
Denny, Paul [2 ]
Hellas, Arto [1 ]
Leinonen, Juho [1 ]
机构
[1] Aalto Univ, Espoo, Finland
[2] Univ Auckland, Auckland, New Zealand
来源
PROCEEDINGS OF THE 2022 ACM CONFERENCE ON INTERNATIONAL COMPUTING EDUCATION RESEARCH, ICER 2022, VOL. 1 | 2023年
关键词
Natural language generation; OpenAI Codex; GPT-3; CS1; Programming; exercises; Code explanations; Robosourcing; Exercise generation; Resource generation; Automated feedback; Large language; models; INSTRUCTION;
D O I
暂无
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
This article explores the natural language generation capabilities of large language models with application to the production of two types of learning resources common in programming courses. Using OpenAI Codex as the large language model, we create programming exercises (including sample solutions and test cases) and code explanations, assessing these qualitatively and quantitatively. Our results suggest that the majority of the automatically generated content is both novel and sensible, and in some cases ready to use as is. When creating exercises we find that it is remarkably easy to influence both the programming concepts and the contextual themes they contain, simply by supplying keywords as input to the model. Our analysis suggests that there is significant value in massive generative machine learning models as a tool for instructors, although there remains a need for some oversight to ensure the quality of the generated content before it is delivered to students. We further discuss the implications of OpenAI Codex and similar tools for introductory programming education and highlight future research streams that have the potential to improve the quality of the educational experience for both teachers and students alike.
引用
收藏
页码:27 / 43
页数:17
相关论文
共 94 条
[1]   A Study of Pair Programming Enjoyment and Attendance using Study Motivation and Strategy Metrics [J].
Aarne, Onni ;
Peltola, Petrus ;
Leinonen, Juho ;
Hellas, Arto .
SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2018, :759-764
[2]   A Survey of Automated Assessment Approaches for Programming Assignments [J].
Ala-Mutka, Kirsti M. .
COMPUTER SCIENCE EDUCATION, 2005, 15 (02) :83-102
[3]   Plagiarism in Programming Assessments: A Systematic Review [J].
Albluwi, Ibrahim .
ACM TRANSACTIONS ON COMPUTING EDUCATION, 2020, 20 (01)
[4]  
Allen JM., 2018, 2018 ASEE Annual Conference Exposition
[5]  
Althoff Cory, 2022, The Self Taught Programmer: The Definitive Guide to Programming Professionally
[6]   SELF-EFFICACY - TOWARD A UNIFYING THEORY OF BEHAVIORAL CHANGE [J].
BANDURA, A .
PSYCHOLOGICAL REVIEW, 1977, 84 (02) :191-215
[7]   STOP THE (AUTOGRADER) INSANITY: Regression Penalties to Deter Autograder Overreliance [J].
Baniassad, Elisa ;
Zamprogno, Lucas ;
Hall, Braxton ;
Holmes, Reid .
PROCEEDINGS OF THE 52ND ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE 2021, 2021, :1062-1068
[8]  
Biggs John B., 1982, Evaluating the quality of learning: the SOLO taxonomy (structure of the observed learning outcome), Vxiii
[9]  
Brown TB, 2020, ADV NEUR IN, V33
[10]   A Validated Scoring Rubric for Explain-in-Plain-English Questions [J].
Chen, Binglin ;
Azad, Sushmita ;
Haldar, Rajarshi ;
West, Matthew ;
Zilles, Craig .
SIGCSE 2020: PROCEEDINGS OF THE 51ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2020, :563-569