A Categorization of Novice Programmers: A Cluster Analysis Study

Beginning software engineering students often lack skills necessary to perform efficient programming work, such as comprehending or debugging program code. To facilitate the needs of students having different skill levels, teachers should be able to recognize the specific student groups. Bloom’s Taxonomy defines educational objectives for the development of students’ cognitive skills. This paper presents a study of 254 undergraduate students of a basic programming course whose performance were measured on different levels of Bloom’s Taxonomy. The results of statistical cluster analysis suggest that the obtained student groups did not align with the Bloom’s Taxonomy: students performing poorly on lower levels can still perform well on higher taxonomy levels. Based on the results, this paper suggests six student groups the teacher should recognize when organizing basic programming courses.