A Case Study Exploring Pre-Service Teachers’ Programming Difficulties and Strategies when Learning Programming Languages.
We collected four semi-structured interviews with pre-service teachers, a total of five hour-long classroom observations, and 19 class activities. 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.
Similarly, researchers identified some challenges for students in different age groups. For example, Saeli et al12 identified various difficulty high school students encountered while learning to program, including difficulty to instruct a computer to carry out a solution, faulty assumption that a computer can understand their solutions, and tendency to have a limited point of view, which
resulted in failure to find a suitable solution. The author also found that creating instructions for a computer to solve a given problem was a challenging task for high school students.
This challenge was also confirmed in a different study with novice programmers that the participants had difficulties while creating a computer program even though they a clear understanding of concepts and an understanding of how to use the concepts.
Supporting the same idea, Lahtinen, Ala-Mutka, and Järvinen, in an analysis of a survey of 559 university students and 34 teachers, indicated that students had difficulties with program construction, such as developing a program to solve a given task or dealing with
They were in their junior year and completed two computer education courses in the CEL program before taking the current introductory course to programming languages.