Treffer: Quantifying Student Progress through Bloom's Taxonomy Cognitive Categories in Computer Programming Courses.
Weitere Informationen
Computer programming courses are gateway courses with low passing grades, which may result in student attrition and transfers out of engineering and computer science degrees. Progress in student learning can be conceptualized by the different cognitive levels or categories described in Bloom's taxonomy, which, from the lowest to the highest order processes, include: knowledge, comprehension, application, analysis, evaluation, and synthesis. The purpose of this study is to gain insight into how students transfer their conceptual knowledge and comprehension of computer programming concepts (knowledge and comprehension categories in Bloom's taxonomy) into their ability to write computer programs (application category in Bloom's taxonomy), using Bloom's taxonomy as a framework. A total of 62 students who took a first computer programming course using Java participated in this study from spring 2013 to spring 2014. Novice computer programming students face two barriers in their progress to become proficient programmers: a good understanding of programming concepts (first two categories in Bloom's taxonomy) and the ability to apply those concepts (third category in Bloom's taxonomy) to write viable computer programs. About 35% of students had an acceptable performance in both conceptual understanding of programming concepts and ability to write viable programs. About 44% of students had an inadequate performance in both concepts and programming skills. 16% of students had an adequate understanding of computer concepts but were unable to transfer that understanding into writing viable computer programs. Finally, 5% of students were able to produce viable computer programs without an adequate conceptual understanding. Of the students who had adequate understanding of computer concepts, 69% were able to write viable computer programs. Linear regression modeling suggests that conceptual understanding is a good predictor (r2 = 74%) of the ability to apply that knowledge to write computer programs. Factor analysis identified two factors grouping the interdependencies and correlations between programming concept categories: the first factor included repetition and classes; the second factor included syntax, assignment, methods and arrays. Multiple regression analysis shows that a subset of conceptual assessments consisting of repetition, classes, assignment operations and Java syntax is sufficient to predict students' ability to write viable programs (r2 = 0.78). In conclusion: 1) Adequate average performance in programming concepts is necessary but not sufficient for students to write viable computer programs; 2) Adequate performance in all individual conceptual categories, and not just adequate average performance, is necessary to be able to write viable computer programs; 3) Given the correlations between performance in different conceptual categories, a subset of conceptual assessments consisting of repetition, classes, assignment operations and Java syntax is sufficient to predict students' ability to write viable programs; 4) Low values of r2 may indicate that concepts taught and expected practical skills are not properly aligned. Thus regression analysis can be used to improve the alignment between concepts and skills facilitating student progress through the different cognitive levels in Bloom's taxonomy. [ABSTRACT FROM AUTHOR]