Student Progress in Learning Computer Programming: Insights from Association Analysis

Cándido Cabo · 2019

In this research to practice full paper we quantified progress in the ability of first-year students (n=54) to solve problems using computer programming control structures with different levels of complexity like sequencing, selection (if/else) and repetition (for/while). Students used both a flowchart interpreter and Python to write programs. We found that 70% of students could solve problems involving a sequence of statements (i.e. without the use of selection or repetition) using a flowchart interpreter or Python. The majority of the students who could not solve sequencing problems were not successful at solving problems involving selection and repetition (69% using flowcharts and 94% using Python). On the other hand, of the students who could solve sequencing problems 45% (flowchart) and 71% (Python) were able to solve problems involving selection and repetition. Therefore, the ability to solve problems involving a sequence of statements is a good early predictor of success/failure in solving problems with more complicated control structures like selection and repetition. Success in solving computer programming problems depends on the tool used for ~37% of students. Therefore, the ability of students to transfer problem solving abilities between tools (from flowcharting to Python) is not automatic.

Read the paper · More papers on PaperTik