Thrilled by Your Progress! Large Language Models (GPT-4) No Longer Struggle to Pass Assessments in Higher Education Programming Courses
arXiv:2306.10073 · doi:10.1145/3568813.3600142
Abstract
This paper studies recent developments in large language models' (LLM) abilities to pass assessments in introductory and intermediate Python programming courses at the postsecondary level. The emergence of ChatGPT resulted in heated debates of its potential uses (e.g., exercise generation, code explanation) as well as misuses in programming classes (e.g., cheating). Recent studies show that while the technology performs surprisingly well on diverse sets of assessment instruments employed in typical programming classes the performance is usually not sufficient to pass the courses. The release of GPT-4 largely emphasized notable improvements in the capabilities related to handling assessments originally designed for human test-takers. This study is the necessary analysis in the context of this ongoing transition towards mature generative AI systems. Specifically, we report the performance of GPT-4, comparing it to the previous generations of GPT models, on three Python courses with assessments ranging from simple multiple-choice questions (no code involved) to complex programming projects with code bases distributed into multiple files (599 exercises overall). Additionally, we analyze the assessments that were not handled well by GPT-4 to understand the current limitations of the model, as well as its capabilities to leverage feedback provided by an auto-grader. We found that the GPT models evolved from completely failing the typical programming class' assessments (the original GPT-3) to confidently passing the courses with no human involvement (GPT-4). While we identified certain limitations in GPT-4's handling of MCQs and coding exercises, the rate of improvement across the recent generations of GPT models strongly suggests their potential to handle almost any type of assessment widely used in higher education programming courses. These findings could be leveraged by educators and institutions to adapt the design of programming assessments as well as to fuel the necessary discussions into how programming classes should be updated to reflect the recent technological developments. This study provides evidence that programming instructors need to prepare for a world in which there is an easy-to-use widely accessible technology that can be utilized by learners to collect passing scores, with no effort whatsoever, on what today counts as viable programming knowledge and skills assessments.
References in corpus (13)
- Training language models to follow instructions with human feedback
- Sparks of Artificial General Intelligence: Early experiments with GPT-4
- Evaluating Large Language Models Trained on Code
- Automatic Generation of Programming Exercises and Code Explanations using Large Language Models
- Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming
- ChatGPT and Software Testing Education: Promises & Perils
- Learn to Explain: Multimodal Reasoning via Thought Chains for Science Question Answering
- Augmented Language Models: a Survey
- Can GPT-4 Support Analysis of Textual Data in Tasks Requiring Highly Specialized Domain Expertise?
- Prompting Large Language Model for Machine Translation: A Case Study
- Programming Is Hard -- Or at Least It Used to Be: Educational Opportunities And Challenges of AI Code Generation
- A Preliminary Analysis on the Code Generation Capabilities of GPT-3.5 and Bard AI Models for Java Functions
- Codex Hacks HackerRank: Memorization Issues and a Framework for Code Synthesis Evaluation
Cited by in corpus (17)
- 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
- 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
- How to Teach Programming in the AI Era? Using LLMs as a Teachable Agent for Debugging
- Learning Agent-based Modeling with LLM Companions: Experiences of Novices and Experts Using ChatGPT & NetLogo Chat
- AI-enhanced Auto-correction of Programming Exercises: How Effective is GPT-3.5?
- Insights from Social Shaping Theory: The Appropriation of Large Language Models in an Undergraduate Programming Course
- GAIDE: A Framework for Using Generative AI to Assist in Course Content Development
- Innovating Computer Programming Pedagogy: The AI-Lab Framework for Generative AI Adoption
- How Do Programming Students Use Generative AI?
- Enhancing Programming Error Messages in Real Time with Generative AI
- Let's Ask AI About Their Programs: Exploring ChatGPT's Answers To Program Comprehension Questions
- LLMs Still Can't Avoid Instanceof: An Investigation Into GPT-3.5, GPT-4 and Bard's Capacity to Handle Object-Oriented Programming Assignments
- An Eye for an AI: Evaluating GPT-4o's Visual Perception Skills and Geometric Reasoning Skills Using Computer Graphics Questions
- Probing the Unknown: Exploring Student Interactions with Probeable Problems at Scale in Introductory Programming