The Normalized Programming State Model: Predicting Student Performance in Computing Courses Based on Programming Behavior

Educators stand to benefit from advance predictions of their students' course performance based on learning process data collected in their courses. Indeed, such predictions can help educators not only to identify at-risk students, but also to better tailor their instructional methods. In computing education, at least two different measures, the Error Quotient and Watwin Score, have achieved modest success at predicting student course performance based solely on students' compilation attempts. We hypothesize that one can achieve even greater predictive power by considering students' programming activities more holistically. To that end, we derive the Normalized Programming State Model (NPSM), which characterizes students' programming activity in terms of the dynamically-changing syntactic and semantic correctness of their programs. In an empirical study, the NPSM accounted for 41% of the variance in students' programming assignment grades, and 36% of the variance in students' final course grades. We identify the components of the NPSM that contribute to its explanatory power, and derive a formula capable of predicting students' course programming performance with between 36 and 67 percent accuracy, depending on the quantity of programming process data.

[1]  Matthew C. Jadud,et al.  Methods and tools for exploring novice compilation behaviour , 2006, ICER '06.

[2]  John R. Anderson,et al.  A model of novice debugging in LISP , 1986 .

[3]  V. Zanden,et al.  Educational Psychology: In Theory and Practice , 1980 .

[4]  Marie Bienkowski,et al.  Enhancing Teaching and Learning Through Educational Data Mining and Learning Analytics: An Issue Brief , 2012 .

[5]  Olusola O. Adesope,et al.  Intelligent tutoring systems and learning outcomes: A meta-analysis , 2014 .

[6]  Christopher D. Hundhausen,et al.  Supporting Programming Assignments with Activity Streams: An Empirical Study , 2015, SIGCSE.

[7]  Jo Handelsman,et al.  Increasing Persistence of College Students in STEM , 2013, Science.

[8]  Ann L. Brown,et al.  How people learn: Brain, mind, experience, and school. , 1999 .

[9]  Debora Jeske,et al.  Learner Characteristics predict Performance and Confidence in e-Learning: An Analysis of User Behaviour and Self-evaluation , 2014 .

[10]  Elliot Soloway,et al.  Marcel: Simulating the Novice Programmer , 1992 .

[11]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[12]  Mary Beth Rosson,et al.  Orientation of Undergraduates Toward Careers in the Computer and Information Sciences: Gender, Self-Efficacy and Social Support , 2011, TOCE.

[13]  Ryan S. Baker,et al.  Educational Data Mining and Learning Analytics , 2014 .

[14]  Peter Maurer,et al.  The Cambridge Handbook of the Learning Sciences , 2022 .

[15]  D. Schunk Learning Theories: An Educational Perspective , 1991 .

[16]  George P. McCabe,et al.  Predicting the success of freshmen in a computer science major , 1984, CACM.

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

[18]  Frederick W. B. Li,et al.  No tests required: comparing traditional and dynamic predictors of programming success , 2014, SIGCSE.

[19]  Sunil J Rao,et al.  Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis , 2003 .

[20]  Carmen R. Wilson VanVoorhis,et al.  Understanding Power and Rules of Thumb for Determining Sample Sizes , 2007 .

[21]  Ronan G. Reilly,et al.  Examining the role of self-regulated learning on introductory programming performance , 2005, ICER '05.

[22]  Mark Guzdial,et al.  Software-Realized Scaffolding to Facilitate Programming for Science Learning , 1994, Interact. Learn. Environ..

[23]  Frederick W. B. Li,et al.  Predicting Performance in an Introductory Programming Course by Logging and Analyzing Student Programming Behavior , 2013, 2013 IEEE 13th International Conference on Advanced Learning Technologies.

[24]  George Siemens,et al.  The Cambridge Handbook of the Learning Sciences: Educational Data Mining and Learning Analytics , 2014 .

[25]  Adam S. Carter Supporting the virtual design studio through social programming environments , 2012, ICER '12.

[26]  Neil Brown,et al.  37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data , 2015, SIGCSE.

[27]  Brenda Cantwell Wilson,et al.  Contributing to success in an introductory computer science course: a study of twelve factors , 2001, SIGCSE '01.

[28]  Christopher D. Hundhausen,et al.  A methodology for analyzing the temporal evolution of novice programs based on semantic components , 2006, ICER '06.