Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language

被引:109
|
作者
Denny, Paul [1 ]
Kumar, Viraj [2 ]
Giacaman, Nasser [1 ]
机构
[1] Univ Auckland, Auckland, New Zealand
[2] Indian Inst Sci, Bengaluru, India
关键词
OpenAI; GitHub Copilot; foundation models; large language models; CS1; artificial intelligence; introductory programming;
D O I
10.1145/3545945.3569823
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
GitHub Copilot is an artificial intelligence tool for automatically generating source code from natural language problem descriptions. Since June 2022, Copilot has officially been available for free to all students as a plug-in to development environments like Visual Studio Code. Prior work exploring OpenAI Codex, the underlying model that powers Copilot, has shown it performs well on typical CS1 problems thus raising concerns about its potential impact on how introductory programming courses are taught. However, little is known about the types of problems for which Copilot does not perform well, or about the natural language interactions that a student might have with Copilot when resolving errors. We explore these questions by evaluating the performance of Copilot on a publicly available dataset of 166 programming problems. We find that it successfully solves around half of these problems on its very first attempt, and that it solves 60% of the remaining problems using only natural language changes to the problem description. We argue that this type of prompt engineering, which we believe will become a standard interaction between human and Copilot when it initially fails, is a potentially useful learning activity that promotes computational thinking skills, and is likely to change the nature of code writing skill development.
引用
收藏
页码:1136 / 1142
页数:7
相关论文
共 11 条
  • [1] Evaluating Copilot on CS1 Code Writing Problems with Suppressed Specifications
    Venkatesh, Varshini
    Venkatesh, Vaishnavi
    Kumar, Viraj
    PROCEEDINGS OF THE 16TH ANNUAL ACM INDIA COMPUTE CONFERENCE, COMPUTE 2023, 2023, : 104 - 107
  • [2] CS1 using Java language features gently
    Temple Univ, Philadelphia, United States
    Proc Conf Integr Technol Comput Sci Educ ITiCSE, (40-43):
  • [3] Exploring the Acceptance and Effectiveness of Parsons Problems on Scaffolding CS1 Retakers
    Sanhueza, Felipe
    Gutierrez, Francisco J.
    Vasquez, Andrea
    PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 1, ITICSE 2024, 2024, : 681 - 687
  • [4] Programming Versus Natural Language: On the Effect of Context on Typing in CS1
    Edwards, John
    Leinonen, Juho
    Birthare, Chetan
    Zavgorodniaia, Albina
    Hellas, Arto
    PROCEEDINGS OF THE 2020 ACM CONFERENCE ON INTERNATIONAL COMPUTING EDUCATION RESEARCH, ICER 2020, 2020, : 204 - 215
  • [5] CS1 using Java']Java language features gently
    Koffman, E
    Wolz, U
    ITICSE '99: PROCEEDINGS OF THE 4TH ANNUAL SIGCSE/SIGCUE CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 1999, 31 (03): : 40 - 43
  • [6] Introductory Programming Meets the Real World: Using Real Problems and Data in CS1
    Anderson, Ruth
    Ernst, Michael D.
    Ordonez, Robert
    Pham, Paul
    Wolfman, Steven A.
    PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, : 465 - 466
  • [7] Who Attempts Optional Practice Problems in a CS1 Course? Exploring Learner Agency to Foster Mastery Learning
    Aggarwal, Ashish
    Puthanveetil, Neelima
    Gardner-McCune, Christina
    PROCEEDINGS OF THE 54TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, VOL 1, SIGCSE 2023, 2023, : 1055 - 1061
  • [8] Generation and Evaluation of a Culturally-Relevant CS1 Textbook for Latines using Large Language Models
    Molina, Ismael Villegas
    Montalvo, Audria
    Zhong, Shera
    Jordan, Mollie
    Raj, Adalbert Gerald Soosai
    PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 1, ITICSE 2024, 2024, : 325 - 331
  • [9] Helping Engineering Students Learn in Introductory Computer Science (CS1) Using Computational Creativity Exercises (CCEs)
    Peteranetz, Markeya S.
    Flanigan, Abraham E.
    Shell, Duane E.
    Soh, Leen-Kiat
    IEEE TRANSACTIONS ON EDUCATION, 2018, 61 (03) : 195 - 203
  • [10] Using Natural Language Processing Tools to Classify Student Responses to Open- Ended Engineering Problems in Large Classes
    Verleger, Matthew A.
    2014 ASEE ANNUAL CONFERENCE, 2014,