From: A review on process-oriented approaches for analyzing novice solutions to programming problems
Study | What has been done | PL | Tools | Gran. |
---|---|---|---|---|
Quantified how much or how little student struggles with syntax errors in terms of EQ | Java | Instrumented BlueJ | C | |
Correlated EQ with exam marks | Java | Instrumented BlueJ | C | |
Provided controlled feedback and instructional monitoring on students’ progress for them to start working early | Java | Marmoset IDE Instr. w/ opt. CVS synch. | FS | |
Determined the typical errors made and guess the programming intentions | Eiffel | Eiffel Studio | C | |
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 | |
Determined the practices that make students successful software developers and what practices do not | Java | ClockIt (BlueJ data logger/visualizer) | C | |
Identified at-risk students by computing EQ | Java | Instrumented BlueJ | C | |
Identified some higher-level patterns of novice student programming behaviors (e.g., potential cheating, impact of starting projects late) | Java | ClockIt | C | |
Measured which concepts were difficult to students, how well the different programming structures were understood, and traced student learning | Python | VLE | S | |
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 | |
Attempted to automatically detect student frustration | Java | Instrumented BlueJ | C | |
Analyzed novice programmer behavior (mover, stopper, and extreme movers) using EQ scores | Java | BlueJ Browser | C | |
Used frequent episode mining to find common patterns of behavior (well-performing vs. poorly performing, early vs. late, etc.) | Java | Web-CAT | C | |
Explored and compared student coding strategies and identified coding profiles (copy-pasters, mixed-mode self-sufficients) | Java | NetLogo | KS, ME, C | |
Determined error, compilation, and EQ profiles of students and attempted to accurately identify at-risk novice programmers | Java | Instrumented BlueJ | C | |
Predicted student performance using machine learning on student development traces and trajectories | Java | Eclipse | C | |
Proposed a process to capture intermediate versions of students’ programs during development and analyzed the data using milestone markers | Python | Google documents editor | FS | |
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 | |
Visualized the solution paths using an interactive graph to explore patterns and anomalies | Python | JS-Parsons tool | FM | |
Explored and analyzed mistakes in student-submitted solutions to study novice’s misconceptions of programming | Python | UUhistle Prog. Visualization System | S | |
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 | |
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 | |
Attempted to detect the evolution of students’ programming strategies and knowledge focusing on “tinkering” and “planning” episodes | – | – | LLE KS | |
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 | |
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 | |
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 |