Abstract
Problem-solving skills are an integral component within the computer science field. Due to the diversity brought about by students following different learning and programming behaviours, it is challenging to track and identify when students get overwhelmed while writing programs. When students are overwhelmed, they are unable to complete learning objectives on time and follow prescribed pathways, depriving them of the opportunity to learn new concepts. In this paper, we developed and evaluated the quality of Markov models that encode student programming behaviours based on the evolution of source code submissions during formative practical assignments. In doing so, we use Abstract Syntax Trees (ASTs) extracted from the source code, which are used for clustering similar submissions and tracking students’ progressive approaches within the Markov models. An approach based on MinHashLSH is presented that works on AST nodes as input to emphasise structural similarity and related programming approaches. As such, the effectiveness of the Modified MinHashLSH approach is based on the clusters that make up the Markov model.
The research result shows that we can successfully create a high-quality model based on previous data. This model result could be used to inform the development of learning interventions that would move students from their stuck states.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ashari, I.F., Nugroho, E., Baraku, R., Yanda, I.N., Liwardana, R.: Analysis of elbow, silhouette, Davies-Bouldin, Calinski-Harabasz, and rand-index evaluation on k-means algorithm for classifying flood-affected areas in Jakarta. J. Appl. Inform. Comput. 7(1), 89–97 (2023). https://doi.org/10.30871/jaic.v7i1.4947
Awong, L.E.E., Zielińska, T.: Comparative analysis of the clustering quality in self-organizing maps for human posture classification. Sensors 23(18), 7925 (2023). https://doi.org/10.3390/s23187925
Bush, K., Kemeny, J.G., Snell, J.L.: Finite Markov chains. Am. Math. Monthly 67(10), 1039 (1960). https://doi.org/10.2307/2309264
Cabo, C.: Developing and documenting problem-solving strategies for computer programming before code writing. In: 2023 IEEE Frontiers in Education Conference (FIE) (2023). https://doi.org/10.1109/fie58773.2023.10343169
Chao, P.Y.: Exploring students’ computational practice, design and performance of problem-solving through a visual programming environment. Comput. Educ. 95, 202–215 (2016). https://doi.org/10.1016/j.compedu.2016.01.010
Cheng, G., Poon, L.K.M., Lau, W.W.F., Zhou, R.C.: Applying eye tracking to identify students’ use of learning strategies in understanding program code. In: ICEMT 2019: Proceedings of the 2019 3rd International Conference on Education and Multimedia Technology (2019). https://doi.org/10.1145/3345120.3345144
Deeb, F.A., Kime, K., Torrey, R., Hickey, T.J.: Measuring and visualizing learning with Markov models. In: 2018 IEEE Frontiers in Education Conference (FIE) (2016). https://doi.org/10.1109/fie.2016.7757404
Desmarais, M.C., Lemieux, F.: Clustering and visualizing study state sequences. Educ. Data Min. 224–227 (2013). https://www.educationaldatamining.org/EDM2013
Doignon, J.P.: Learning spaces, and how to build them. In: Glodeanu, C.V., Kaytoue, M., Sacarea, C. (eds.) Formal Concept Analysis. LNCS, pp. 1–14. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07248-7_1
Fahid, F.M., et al.: Progression trajectory-based student modeling for novice block-based programming. In: UMAP 2021: Proceedings of the 29th ACM Conference on User Modeling, Adaptation and Personalization (2021). https://doi.org/10.1145/3450613.3456833
Hasni, T.F., Lodhi, F.: Teaching problem solving effectively. ACM Inroads 2(3), 58–62 (2011). https://doi.org/10.1145/2003616.2003636
Leskovec, J., Rajaraman, A., Ullman, J.D.: Finding Similar Items. Cambridge University Press, Cambridge (2014). https://doi.org/10.1017/cbo9781139924801
Lister, R., et al.: A multi-national study of reading and tracing skills in novice programmers. In: ITiCSE-WGR 2004: Working group reports from ITiCSE on Innovation and Technology in Computer Science Education (2004). https://doi.org/10.1145/1044550.1041673
Loksa, D., Ko, A.J.: The role of self-regulation in programming problem solving process and success. In: Proceedings of the 2016 ACM Conference on International Computing Education Research (2016). https://doi.org/10.1145/2960310.2960334
Margulieux, L.E., Catrambone, R.: Using learners’ self-explanations of subgoals to guide initial problem solving in app inventor. In: ICER ’17: Proceedings of the 2017 ACM Conference on International Computing Education Research (2017). https://doi.org/10.1145/3105726.3106168
Mitchell, C.M., Boyer, K.E., Lester, J.C.: A Markov decision process model of tutorial intervention in task-oriented dialogue. In: Lane, H.C., Yacef, K., Mostow, J., Pavlik, P. (eds.) AIED 2013. LNCS, pp. 828–831. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39112-5_123
Pechorina, Y., Anderson, K., Denny, P.: Metacodenition: scaffolding the problem-solving process for novice programmers. In: ACE 2023: Proceedings of the 25th Australasian Computing Education Conference (2023). https://doi.org/10.1145/3576123.3576130
Piech, C., Sahami, M., Koller, D., Cooper, S., Blikstein, P.: Modeling how students learn to program. In: SIGCSE 2012: Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (2012).https://doi.org/10.1145/2157136.2157182
Stefanutti, L., De Chiusole, D., Brancaccio, A.: Markov solution processes: modeling human problem solving with procedural knowledge space theory. J. Math. Psychol. 103, 102552 (2021).https://doi.org/10.1016/j.jmp.2021.102552
Stolarek, J., Nowak, P.: A modular, practical test for a programming course. In: SIGCSE 2020: Proceedings of the 51st ACM Technical Symposium on Computer Science Education (2020). https://doi.org/10.1145/3328778.3366886
Tan, P.N., Steinbach, M., Karpatne, A., Kumar, V.: Introduction to Data Mining. Addison-Wesley (2019)
Ullah, Z., Lajis, A., Jamjoom, M., Altalhi, A.H., Al-Ghamdi, A.A., Saleem, F.: The effect of automatic assessment on novice programming: strengths and limitations of existing systems. Comput. Appl. Eng. Educ. 26(6), 2328–2341 (2018). https://doi.org/10.1002/cae.21974
Whitelock-Wainwright, A., Laan, N., Wen, D., Gašević, D.: Exploring student information problem solving behaviour using fine-grained concept map and search tool data. Comput. Educ. 145, 103731 (2020). https://doi.org/10.1016/j.compedu.2019.103731
Wing, J.: Computational thinking. OECD:Paris (2018). https://doi.org/10.1787/20769679
Xu, Y., Ni, Q., Liu, S., Mi, Y., Yu, Y., Hao, Y.: Learning style integrated deep reinforcement learning framework for programming problem recommendation in online judge system. Int. J. Comput. Intell. Syst. 15(1) (2022).https://doi.org/10.1007/s44196-022-00176-4
Acknowledgments
This work is financially supported by the Hasso Plattner Institute for Digital Engineering through the HPI Research School in Information and Communications Technology for Development (ICT4D) at the University of Cape Town.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Kandjimi, H., Suleman, H. (2024). Investigating Markov Model Accuracy in Representing Student Programming Behaviours. In: Gerber, A. (eds) South African Computer Science and Information Systems Research Trends. SAICSIT 2024. Communications in Computer and Information Science, vol 2159. Springer, Cham. https://doi.org/10.1007/978-3-031-64881-6_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-64881-6_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-64880-9
Online ISBN: 978-3-031-64881-6
eBook Packages: Computer ScienceComputer Science (R0)