A Case Study Exploring Pre-Service Teachers’ Programming Difficulties and Strategies when Learning Programming Languages
Keywords:
Computational Thinking, Computer science education, Pre-service teachers, Problem solving strategiesAbstract
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.