30 Days After Introducing Programming: Which of My Students Are Likely to Fail? - Ribeiro, Márcio; Paes, Rodrigo; Fonseca, Baldoino; Leite, Jackson; Castro, Thais; Gheyi, Rohit (Anais do Simpósio Brasileiro de Informática na Educação (SBIE); 2018: Anais do XXIX Simpósio Brasileiro de Informática na EducaçãoDO - 10.5753/cbie.sbie.2018.1283, 2018)
Predictors to identify whether a student will succeed or fail in introductory programming courses have been provided by previous research. However, they rely on time-consuming aptitude tests and surveys. This way, setting, executing, and replicating these studies is hard and increase the professor effort. Other predictors rely on automatic procedures, but they either do not identify the failing students early or do not provide high effectiveness. To minimize these problems, we propose a strategy to early predict the potential failing students during introductory programming courses automatically, reducing effort and allowing professors to use it in every course. By having this set of students in the first days of the course, professors and mentors would have time to act and potentially avoid such failings. The strategy consists of three steps: the use of an online judge system; the collection of metrics from this system; and the use of a clustering algorithm. To evaluate our strategy, we conduct an empirical study regarding 358 freshmen students of 12 introductory programming courses. We consider the first 30 days of the course. From the group of students our strategy points as “likely to fail,” 80% of the students on average indeed fail.