Massive Open Online Courses with their low entry barriers and their ability to scale to thousands of students are a suitable approach to “educate the masses”. However, they face several substantial challenges, such as a feeling of anonymity and an increased social gap between instructors and students caused by students’ isolated physical situation. Further, any means of individual feedback are mostly prohibited by the mismatch between thousands of students and only few instructors.
In this research we develop, implement, and evaluate different approaches to improve students’ learning experience within online programming courses. Data of four programming MOOCs with over 60.000 students and over 5 million task submissions are employed to determine criteria for successful courses. We tackle the identified issues with scalable technical solutions, improving social interaction and balancing course difficulty. Our scientific contributions include an approach for struggle detection triggering situational interventions, means for personalizing educational content, as well as concepts to foster collaborative problem solving. With these approaches, we reduce counterproductive struggles and create a universal improvement for arbitrary programming MOOCs.
Gathered data show that receiving feedback from peers to one’s programming problems improves overall course scores by up to 17%. Solely phrasing a question about ones’ problem on the platform improved overall scores by about 14%. The rate of students reaching out for help was improved by situational just-in-time interventions by over 150%.
Keywords: programming, MOOCs, collaboration, didactical interventions