Mining Hierarchies with Conviction: Constructing the CS1 Skill Hierarchy with Pairwise Comparisons over Skill Distributions
This program is tentative and subject to change.
Introductory Programming courses teach multiple skills such as 1) explaining the purpose of code, 2) the ability to arrange lines of code in correct sequence, and 3) the ability to trace through the execution of a program, and 4) the ability to write code from scratch. Knowing if a programming skill is a prerequisite to another would assist instructors in organizing their materials such that students encounter and learn new topics using optimal skill sequences. In this study, we used the conviction measure from association rule mining to perform pair-wise comparisons of five skills: Write, Trace, Reverse trace, Sequence, and Explain code. We used the data from four exams with more than 600 participants in each exam from a public university in the United States, where students solved programming assignments of different skills for several programming topics. Our findings matched the previous finding that tracing is a prerequisite for students to learn to write code. But, contradicting the previous claims, our analysis suggested that writing code is a prerequisite skill to explaining code and that sequencing code is not a prerequisite to writing code. Our research can help instructors by systematically arranging the skills students exercise when encountering a new topic. The goal is to reduce the difficulties students experience when learning that topic.