Facilitating Human Interaction in an Online Programming Course


Human/human interaction is a critical component of learning in many domains including introductory computer programming. For on-campus courses, lectures and problem sessions provide opportunities for students to interact with the instructor(s) and their peers. For online courses, opportunities for human/human interaction are more limited and usually correspond to activities like forum postings and online study groups. For online programming courses, the situation is potentially even worse since many of the computational tools designed to facilitate learning to program, such as unit testing, emphasize human/machine interaction and can be frustrating for beginning students. In this paper, the authors describe their experience in teaching an introductory programming MOOC. The guiding philosophy for this course is that learning to program should be a social experience that emphasizes human/human interaction, not human/machine interaction. Both the tools and assessment methods deployed in this course were chosen to help achieve this goal. In particular, this paper discusses a key tool that supports human/human interaction and several aspects of the course that contributed to its success.

Proceedings of the ACM Technical Symposium on Computer Science Education (SIGCSE)