An Empirical Study of Anonymous, Unmoderated, and Online Peer-to-Peer Programming Tutoring Conversations
Many people want to learn to program but lack access to traditional classroom instruction. Teaching these novices at scale is crucial for building a more diverse and capable software engineering workforce. While online tools like Stack Overflow and ChatGPT offer help, they can be impersonal or reinforce poor software development practices. Anonymous peer-to-peer (P2P) tutoring has the potential to be an additional place for scalable support, but we lack a firm understanding of how to best support it for CS pedagogy.
We present a mixed-analysis study of $n$=$108$ anonymous, unmoderated P2P CS tutoring sessions. We analyze text-based conversations from Python Tutor, a widely-used learning platform. In this setting, novice programmers (\learners) request help from volunteer programmers (\helpers) in a shared coding environment. We present a qualitatively-backed model of user motivations, conversational dynamics, and \learner-reported satisfaction. Surprisingly, \learners often receive useful ($59%$ of tutoring interactions), low-toxicity ($78%$ of messages) help without moderation. P2P chats reflect key phases of the software development process ($83%$ of chats) and occasionally foster personal connection ($17%$ of chats). We identify behaviors linked to satisfaction and discuss implications for scalable peer tutoring system design for CS education.