Students’ Assessments in Learning Programming based on Bloom’s Taxonomy
Keywords:programming assessment, bloom taxonomy, computer education, programming structure
Learning a program is important for all students, not only students from the field of computer science but all fields. Programming languages are different from human communication languages as they have different structural forms. This makes it difficult for beginners especially for non-computer science students to understand the structure of programming languages. Therefore, to learn and understand the programming language more effectively, this article focuses on the important structure in learning a program from the initial stage to the advanced level suitable for non-computer science students. The objective of this article is to suggest important elements that can be assessed on these students which are to measure their understanding as they learn programming languages. The questions proposed to measure students' understanding were based on Bloom's Taxonomy, which covers six levels of understanding. It is hoped that this assessment proposal can act as a guideline for educators in fully focusing on important matters during the teaching and learning process.
Aljunid, S. A., Zin, A. M., & Shukur, Z. (2012). A Study on the Program Comprehension and Debugging Processes of Novice Programmers. Journal of Software Engineering, 6(1).
Bjarne, S, Programming: Principles and Practice Using C++, 2nd, Amazon Ltd, 2014, ISBN: 13: 978-03219 3.
Bosse, Y., & Gerosa, M. A. (2017). Why is programming so difficult to learn? ACM SIGSOFT Software Engineering Notes, 41(6), 1–6. https://doi.org/10.1145/3011286.3011301
Bloom, B. S. (1956). Taxonomy of educational objectives. Vol. 1: Cognitive domain. New York: McKay, 20-24.
Cay S. H. ,Timothy A. Budd, Big C++ paperback, 3nd, Wiley, 2013, ISBN: 9781118674291 1.
Chan Mow, I. T. (2008). Issues and difficulties in teaching novice computer programming. Innovative Techniques in Instruction Technology, E-Learning, E-Assessment, and Education, 199–204. https://doi.org/10.1007/978-1-4020-8739-4-36
Costa, C. J., Aparicio, M., & Cordeiro, C. (2012). A solution to support student learning of programming. ACM International Conference Proceeding Series, 25–29. https://doi.org/10.1145/2316936.2316942
Deimel, L. E., & Naveda, J. F. (1990). Reading Computer Programs: Instructor’s Guide to Exercises. In Educational Materials CMU/SEI-90-EM-3 (Issue August). DTIC Document.
Feigenspan, J., & Siegmund, N. (2012). Supporting comprehension experiments with human subjects. 2012 20th IEEE International Conference on Program Comprehension (ICPC), 6, 244–246. https://doi.org/10.1109/ICPC.2012.6240494
Hu, X., Li, G., Xia, X., Lo, D., & Jin, Z. (2018). Deep code comment generation. Proceedings of the 26th Conference on Program Comprehension, 200–210.
Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. (2005). A study of the difficulties of novice programmers. Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, 14–18. https://doi.org/10.1145/1067445.1067453
Maalej, W., Tiarks, R., Roehm, T., & Koschke, R. (2014). On the Comprehension of Program Comprehension. ACM Transactions on Software Engineering and Methodology, 23(4), 1–37. https://doi.org/10.1145/2622669
Malik, D.S, C++ Programming: From problem Analysis to program Design, 8th Edition, Cengage Learning. 2011, ISBN: 1337102083
Niccolai M. J. , The C++ Standard Library: A Tutorial and Reference, 2nd, Addison Wesley, 2012, ISBN: 13: 978-03216
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., & Paterson, J. (2007). A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin, 39(4), 204–223. https://doi.org/10.1145/1345375.1345441
Qian, Y., & Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory programming: A literature review. ACM Transactions on Computing Education, 18(1), 1–24. https://doi.org/10.1145/3077618
Resnick, M.(2019, Jan 3). The Next Generation of Scratch Teaches More Than Coding. EdSurge. Retrieved from https://www.edsurge.com/news/2019-01-03-mitch-resnick-the-next-generation-of-scratch-teaches-more-than-coding.
Sasirekha, N., & Hemalatha, M. (2011). Program Slicing Techniques and its Applications. International Journal of Software Engineering & Applications, 2(3), 50–64.
Siti Rosminah, M. D., & Ahmad Zamzuri, M. A. (2012). Difficulties in learning Programming: Views of students. 1st International Conference on Current Issues in Education (ICCIE2012), October 2014, 74–78. https://doi.org/10.13140/2.1.1055.7441
Swidan, A., Hermans, F., & Smit, M. (2018). Programming misconceptions for school students. ICER 2018 - Proceedings of the 2018 ACM Conference on International Computing Education Research, 151–159. https://doi.org/10.1145/3230977.3230995
Thompson, E., Luxton-Reilly, A., Whalley, J. L., Hu, M., & Robbins, P. (2008, January). Bloom's taxonomy for CS assessment. In Proceedings of the tenth conference on Australasian computing education-Volume 78 (pp. 155-161).
Wittie, L., Kurdia, A., & Huggard, M. (2017). Developing a concept inventory for computer science 2. Proceedings - Frontiers in Education Conference, FIE, 2017-Octob, 1–4. https://doi.org/10.1109/FIE.2017.8190459
Xia, X., Bao, L., Lo, D., Xing, Z., Hassan, A. E., & Li, S. (2017). Measuring program comprehension: A large-scale field study with professionals. IEEE Transactions on Software Engineering, 44(10), 951–976.
Xinogalos, S. (2016). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy. Education and Information Technologies, 21(3), 559–588. https://doi.org/10.1007/s10639-014-9341-9
How to Cite
Copyright (c) 2021 Journal of Computing Research and Innovation
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.