In pair programming, two people work together on the same problem, collaboratively writing code (in a shared window or screen) whilst communicating with each other (via voice or text, face-to-face or remotely). Pair programming is used by professional software developers (Goth, 2016) and has also been shown to help beginning programmers improve their skills. For example, McDowell et al. (2002) found that pair programming increases retention and helps students become better programmers. Also, pair programming was found particularly beneficial for women, helping them persist in computer science (Werner, 2004).
The practicalities involved in setting up pair programming sessions can be a barrier to adopting it, both in professional and educational settings (especially distance learning settings). The proposed research explores the use of chatbots to address this issue.
Chatbots are dialogue systems that respond to users questions and requests with natural language responses. Task-oriented chatbots are used in business applications while open-domain chatbots are used for entertainment. Katz et al. (2014) explore use of chatbots in an education task. Our work will advance dialogue systems research by applying it in the context of pair programming.
Research topic and approach
Building on the research strengths in dialogue modelling, question generation, pair programming and multi-modality at the OU and Toshiba, we propose to develop and investigate an AI buddy for pair programming, which can collaborate with a software developer on solving a programming problem (either from scratch or by completing a skeleton program). The AI should be able to:
- detect if the developer is stuck and requires help
- make contextual suggestions and provide hints
- question the developer about the rationale for their programming and problem solving decisions - thereby helping them self-evaluate their work
- generate contributions appropriate for the developer's emotional state
A distinctive aspect of the project will be the use of multimodal communication. Depending on the strengths of the PhD applicant one or more of the following modalities will be used by the AI to interact with the student:
- Spoken voice: analysis (content of what the student says, but also emotion) & synthesis (of the AIs dialogue contributions)
- Webcam video to monitor: emotion, focus, level of understanding, cognitive load, etc.
- Text-based chat (as an alternative to spoken interaction)
- Embodied computer-animated representation of the AI buddy (Andrist 2019)
Ethics, responsible research
For any studies with human participants/students, approval from HREC and SSRP will be sought.
References
Sandra Katz, Patricia Albacete, Michael J Ford, Pamela Jordan, Michael Lipschultz, Diane Litman, Scott Silliman, Christine Wilson (2014) Pilot test of a natural-language tutoring system for physics that simulates the highly interactive nature of human tutoring, International Conference on Artificial Intelligence in Education.
Gregory Goth (2016). Pair Programming Is Still Vibrant. Communications of the ACM. [Online]. Accessed 10 February 2019, Available at: https://cacm.acm.org/news/201181-pair-programming-is-still-vibrant/fulltext
Charlie McDowell, Linda Werner, Heather Bullock, and Julian Fernald. 2002. The effects of pair-programming on performance in an introductory programming course. SIGCSE Bull. 34, 1 (February 2002), 38–42. DOI:https://doi.org/10.1145/563517.563353
Linda Werner, Brian Hanks, Charlie McDowell. 2004. Pair-programming helps female computer science students. Journal on Educational Resources in Computing (JERIC). March 2004 https://doi.org/10.1145/1060071.1060075
Sean Andrist, Dan Bohus, Ashley Feniello. 2019. Demonstrating a Framework for Rapid Development of Physically Situated Interactive Systems. 14th ACM/IEEE International Conference on Human-Robot Interaction (HRI), March 2019.
Contact