Skip to main content

Table 1 Studies conducted using a process-oriented approach in the context of novice programming

From: A review on process-oriented approaches for analyzing novice solutions to programming problems

Study What has been done PL Tools Gran.
Jadud (2006a) Quantified how much or how little student struggles with syntax errors in terms of EQ Java Instrumented BlueJ C
Jadud (2006b) Correlated EQ with exam marks Java Instrumented BlueJ C
Spacco et al. (2006) Provided controlled feedback and instructional monitoring on students’ progress for them to start working early Java Marmoset IDE Instr. w/ opt. CVS synch. FS
Vee et al. (2006b) Determined the typical errors made and guess the programming intentions Eiffel Eiffel Studio C
Allevato et al. (2008) Implemented a reporting mechanism and derived a correlation on the following: no. of submissions vs. final score, code complexity vs. final score, and early vs. late testing Java Web-CAT and BIRT S
Norris et al. (2008) Determined the practices that make students successful software developers and what practices do not Java ClockIt (BlueJ data logger/visualizer) C
Tabanao et al. (2008) Identified at-risk students by computing EQ Java Instrumented BlueJ C
Fenwick et al. (2009) Identified some higher-level patterns of novice student programming behaviors (e.g., potential cheating, impact of starting projects late) Java ClockIt C
Kasurinen and Nikula (2009) Measured which concepts were difficult to students, how well the different programming structures were understood, and traced student learning Python VLE S
Rodrigo et al. (2009) Used a combination of human observation, midterm score, and online protocol to study which observable affective states and behaviors can be used to predict student achievement Java Instrumented BlueJ and JCreator C
Rodrigo and Baker (2009) Attempted to automatically detect student frustration Java Instrumented BlueJ C
Rodrigo et al. (2009) Analyzed novice programmer behavior (mover, stopper, and extreme movers) using EQ scores Java BlueJ Browser C
Allevato and Edwards (2010) Used frequent episode mining to find common patterns of behavior (well-performing vs. poorly performing, early vs. late, etc.) Java Web-CAT C
Blikstein (2011) Explored and compared student coding strategies and identified coding profiles (copy-pasters, mixed-mode self-sufficients) Java NetLogo KS, ME, C
Tabanao et al. (2011) Determined error, compilation, and EQ profiles of students and attempted to accurately identify at-risk novice programmers Java Instrumented BlueJ C
Piech et al. (2012) Predicted student performance using machine learning on student development traces and trajectories Java Eclipse C
Pettit et al. (2012) Proposed a process to capture intermediate versions of students’ programs during development and analyzed the data using milestone markers Python Google documents editor FS
Falkner and Falkner (2012) Tracked a student’s overall assignment submission rate (e.g., timeliness) to identify students who are at-risk of performing poorly in class - Web Subm. System, SVN repository S
Helminen et al. (2012) Visualized the solution paths using an interactive graph to explore patterns and anomalies Python JS-Parsons tool FM
Sirkiä and Sorva (2012) Explored and analyzed mistakes in student-submitted solutions to study novice’s misconceptions of programming Python UUhistle Prog. Visualization System S
Sudol et al. (2012) Proposed a metric to measure the probabilistic distance between an observed student solution and a correct solution as applied to a transition graph Online tutor S
Spacco et al. (2013) Revealed student work patterns (e.g., what hours of day students work, how much work is done before and the day of the deadline, total amount of time spent coding) and examined the use of release tests in detail that provides feedback to students Java Marmoset using an Eclipse Plugin FS
Worsley and Blikstein (2013) Attempted to detect the evolution of students’ programming strategies and knowledge focusing on “tinkering” and “planning” episodes LLE KS
Matsuzawa et al. (2013) Proposed a tool for observing and recording the programming process to apply Personal Software Process (PSP) in the classroom and to enable learners to conduct PSP analysis by themselves Java Developed Eclipse logger, Prog. Process Vis. KS
Watson and Li (2014) Predicted performance using a time as a predictor based upon how a student responds to different types of error compared to their peers Java Instrumented BlueJ C
Helminen et al. (2013) Presented and demonstrated tool for collecting, viewing detailed data about Python programming sessions and analyzing students’ activities Python Web-based Python prog. environment S, FM, C, E