Using student surveys in determining the difficulty of programming assignments

This paper deals with the subject of determining difficulty in programming assignments for introductory Computer Science courses. A pilot study was performed in an introductory Computer Science course as the University of Northern Colorado. In this study students were given surveys asking them to predict upcoming assignment difficulty and also to grade past assignment difficulty. These surveys were used in conjunction with several code metrics as well as the students' grades. While the sample size of students was small, some interesting findings were observed. Primarily, students are decent at predicting difficulty in assignment as a group. Second, the biggest impact on students' perception of difficulty is the length of their solution. Finally, the biggest impact on students' performance on an assignment is the number of flow of control constructs in their solution.