Publications and Research
Document Type
Article
Publication Date
6-14-2015
Abstract
Quantifying Student Progress through Bloom’s Taxonomy Cognitive Categories in Computer Programming Courses 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. The following research questions were addressed in this study: 1) Is adequate performance in conceptual understanding sufficient for a student to write viable computer programs? 2) How big is the gap between conceptual understanding of programming concepts and the ability to apply those concepts to write viable computer programs? 3) Are some concepts more important than others in determining students’ ability to write viable programs? 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 (R squared =74%) of the ability to apply that knowledge to write computer programs. Multiple regression analysis shows that some concepts are better predictors of programming skills than others: performance in conceptual assessments on Java syntax, classes and repetition structures are better predictors of the ability to write viable programs than performance in conceptual assessments on assignment operators, program design using methods and arrays. In conclusion: 1) Many students (44%) do not reach and adequate level of conceptual knowledge and understanding and cannot write viable computer programs; 2) Some students (16%) cannot transfer conceptual knowledge and understanding into viable computer programs; 3) Regression analysis between student performance in programming concepts and students’ ability to write viable computer programs can be used to align better the concepts taught and the expected student skills, and to facilitate student progress through the different cognitive levels in Bloom’s taxonomy.
Comments
Cabo, C. (2015, June), Quantifying Student Progress Through Bloom’s Taxonomy Cognitive Categories in Computer Programming Courses Paper presented at 2015 ASEE Annual Conference & Exposition, Seattle, Washington. 10.18260/p.24632 https://peer.asee.org/24632 © 2015 American Society for Engineering Education.