Pair Programming with Intelligent Social Agents
Stanford University, Stanford CA
Investigators
Abstract
Pair programming is a coding practice where two programmers work together. One programmer, the driver, writes code while the other programmer, the observer, reviews each line of code as it is written. Twenty years of CS education research has shown that pair programming significantly improves programming competency and increases the likelihood that students will become and remain computing majors. Artificial Intelligence (AI) is changing modern life and has the potential to change how students learn to program. Modern AI tools like OpenAI’s ChatGPT can write, summarize, comment, and explain programs without human intervention. The goal of this project is to prototype, test, and study a pair-programming AI agent named CoCode that can serve as a tool and tutor for students. This project will help us to better understand the roles AI-based tools play in computing education. This project will explore a variety of theory-informed design options and innovate on recent breakthroughs in language models and collaborative reinforcement learning resulting in the development of an AI pair-programmer agent. This agent will be able to interact with student programmers and guide them using the pair-programming pedagogy. A series of human subject experiments will serve both to refine design choices and benchmark and train the AI algorithms. The tool will be evaluated in an educational setting. Students will use CoCode in a series of trials to determine what use patterns and learning successes are possible over longer-term interaction. Outcomes will be behavioral, providing an understanding of how students’ tasks change as they learn and become competent programmers. These results will be used to postulate how such technologies will continue to be developed for educational settings and how they might be integrated into workforce development for the re-skilling of existing workers. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →