Classification of Online Judge Programmers based on Rule Extraction from Self Organizing Feature Map

Computer programming is one of the most important and vital skill in the current generation. In order to encourage and enable programmers to practice and sharpen their skills, there exist many online judge programming platforms. Estimation of these programmers’ strength and progress has been an important research topic in educational data mining in order to provide adaptive educational contents and early prediction of ‘at risk’ learner. In this paper, we trained a Kohonen Self organizing feature map (KSOFM) neural network on programmers’ performance log data of Aizu Online Judge (AOJ) database. Propositional rules and knowledge was extracted from the U-matrix diagram of the trained network which partitioned AOJ programmers into three distinct clusters ie. ‘expert’, ‘intermediate’ and ‘at risk’. The proportional rules performed classification with an accuracy of 94% on a testing set. For validation and comparison, three more predicting models were trained on the same dataset. Among them, feedforward multilayer neural network and decision tree have scored accuracy of 97% and 96% respectively. In contrast, the precision score for support vector machine was about 88%, but it scored the highest recall score of 99% in terms of identifying ‘at risk’ students.

[1]  Carlos Fernandez Medina,et al.  Assistance in computer programming learning using educational data mining and learning analytics , 2013, ITiCSE '13.

[2]  Ma. Mercedes T. Rodrigo,et al.  Predicting at-risk novice Java programmers through the analysis of online protocols , 2011, ICER.

[3]  Wenfei Chen,et al.  Research on three-layer collaborative filtering recommendation for Online Judge , 2016, 2016 Seventh International Green and Sustainable Computing Conference (IGSC).

[4]  Carlos R. Minussi,et al.  An Intelligent System for Prediction of School Dropout Risk Group in Higher Education Classroom Based on Artificial Neural Networks , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[5]  Luis Martínez-López,et al.  A recommendation approach for programming online judges supported by data preprocessing techniques , 2017, Appl. Intell..

[6]  Terry Scott,et al.  Using student surveys in determining the difficulty of programming assignments , 2010 .

[7]  Luisa M. Regueras,et al.  A genetic fuzzy expert system for automatic question classification in a competitive learning environment , 2012, Expert Syst. Appl..

[8]  Teuvo Kohonen,et al.  The self-organizing map , 1990, Neurocomputing.

[9]  Nickolas J. G. Falkner,et al.  A fast measure for identifying at-risk students in computer science , 2012, ICER '12.

[10]  Stefan Wermter,et al.  Data mining using rule extraction from Kohonen self-organising maps , 2006, Neural Computing & Applications.

[11]  Alfred Ultsch,et al.  U *-Matrix : a Tool to visualize Clusters in high dimensional Data , 2004 .

[12]  Erkki Oja,et al.  Engineering applications of the self-organizing map , 1996, Proc. IEEE.

[13]  Xing Xie,et al.  Automatically Learning Topics and Difficulty Levels of Problems in Online Judge Systems , 2018, ACM Trans. Inf. Syst..

[14]  Nurettin Yorek,et al.  Using Self-Organizing Neural Network Map Combined with Ward's Clustering Algorithm for Visualization of Students' Cognitive Structural Models about Aliveness Concept , 2015, Comput. Intell. Neurosci..

[15]  Ronan G. Reilly,et al.  Programming: factors that influence success , 2005, SIGCSE '05.

[16]  Ana Paula Ambrosio,et al.  Mining an Online Judge System to Support Introductory Computer Programming Teaching , 2015, EDM.

[17]  Yailé Caballero Mota,et al.  An e-Learning Collaborative Filtering Approach to Suggest Problems to Solve in Programming Online Judges , 2014, Int. J. Distance Educ. Technol..

[18]  Frederick W. B. Li,et al.  Study on student performance estimation, student progress analysis, and student potential prediction based on data mining , 2018, Comput. Educ..

[19]  Peter Hubwieser,et al.  DiCS-Index: Predicting Student Performance in Computer Science by Analyzing Learning Behaviors , 2016, 2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE).

[20]  Weiqiang Xu,et al.  The Design and Research of On-line Judge System Based on Multi-core , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[21]  Sunday Olusanya Olatunji,et al.  Student performance prediction using Support Vector Machine and K-Nearest Neighbor , 2017, 2017 IEEE 30th Canadian Conference on Electrical and Computer Engineering (CCECE).