Citation: Proceedings of the 2020 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 21, pages 609–618 (2020)
Abstract. In programming education, the instructor tries to find out the learners who needs help by grasping the learners' development of understanding using tests that require knowledge. However, in reality, not many learners will acquire the skill of writing source codes. This kind of current situation implies that programming ability of learners cannot be measured by tests that require knowledge. This paper focuses on not only the knowledge items required for programming but also the programming thinking (computational thinking), which is the ability to combine the constituent elements of the program. In this paper, we propose a method to estimate the learner's understanding from the learner's process to solve the code puzzles that require programming thinking as well as knowledge. We developed the interface to realize the proposed method. The experimental result with the interface showed that the proposed method could estimate with the accuracy of 80\% or more.
- J. T. S. P. o. C. S. B.-S. C. B. Kenneth L. Whipkey, “Identifying predictors of programming skill,” ACM SIGCSE Bulletin, vol. 16, no. 4, pp. 36–42, 1984.
- L. J. M. U. of Cincinnati, “Identifying potential to acquire programming skill,” Communications of the ACM, vol. 23, no. 1, pp. 14–17, 1980.
- M. of education, “Elementary programming education guide (second edition),” https://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2018/11/06/1403162_02_1.pdf.
- D. Parsons and P. Haden, “Parson’s programming puzzles: a fun and effective learning tool for first programming courses,” in Proceedings of the 8th Australasian Conference on Computing Education-Volume 52, 2006, pp. 157–163.
- W. Schnotz and C. Kürschner, “A reconsideration of cognitive load theory,” Educational psychology review, vol. 19, no. 4, pp. 469–508, 2007.
- M. C. Jadud, “Methods and tools for exploring novice compilation behaviour,” in Proceedings of the second international workshop on Computing education research, 2006, pp. 73–84.
- A. Mysore and P. J. Guo, “Porta: Profiling software tutorials using operating-system-wide activity tracing,” in Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology, 2018, pp. 201–212.
- P. J. Guo, “Codeopticon: Real-time, one-to-many human tutoring for computer programming,” in Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, 2015, pp. 599–608.
- H. S. So Asai, Dinh Thi Dong Phuong, “Identification of factors affecting cognitive load in programming learning with decision tree,” vol. 14, no. 11, 2019, pp. 624–633.
- P. Ihantola, J. Sorva, and A. Vihavainen, “Automatically detectable indicators of programming assignment difficulty,” in Proceedings of the 15th Annual Conference on Information technology education, 2014, pp. 33–38.
- Y. Futamura, T. Kawai, Y. Horikoshi, M. Tsutsumi et al., “Program design and creation with pad (problem analysis diagram),” IPSJ Transactions, vol. 21, no. 4, pp. 259–267, 1980.
- J. W. Coffey, “Relationship between design and programming skills in an advanced computer programming class,” Journal of Computing Sciences in Colleges, vol. 30, no. 5, pp. 39–45, 2015.
- B. B. Morrison, B. Dorn, and M. Guzdial, “Measuring cognitive load in introductory cs: adaptation of an instrument,” in Proceedings of the tenth annual conference on International computing education research, 2014, pp. 131–138.
- P. Blikstein, M. Worsley, C. Piech, M. Sahami, S. Cooper, and D. Koller, “Programming pluralism: Using learning analytics to detect patterns in the learning of computer programming,” Journal of the Learning Sciences, vol. 23, no. 4, pp. 561–599, 2014.