A Case Study Exploring Pre-Service Teachers’ Programming Difficulties and Strategies when Learning Programming Languages

*Corresponding author: Fatih Gok and Kyungbin Kwon*

Full-Text PDF:

clinical study


Understanding the importance of training young people, this study sought to explore the early experience of pre-service teachers in their computational practices in terms of the difficulties they faced and the strategies they used while learning how to program. Based on convenience sampling, four participants were recruited from an undergraduate course focusing on computer science education in K-12. The literature on novice programmers’ difficulties and their strategies was used to establish the conceptual background for this study. We collected four semi-structured interviews with pre-service teachers, a total of five hour-long classroom observations, and 19 class activities (archival data). After conducting a content analysis, findings showed four categories in which pre-service teachers face difficulties: (a) understanding the computational concepts (semantic); (b) using the concepts inappropriately (syntax); (c) developing a program (algorithmic thinking), and (d) identifying problems (debugging). We also found five categories in which pre-service teachers overcome their difficulties: planning, using resources, seeking support, guessing and checking, and looking for visual assistance. This study emphasized that pre-service teachers encounter several difficulties in learning computational concepts through programming languages, which should be considered in pre-service teacher education.


Computational Thinking; Computer science education; Pre-service teachers; Problem solving strategies.