An Exploration of Teachers’ Perspective About the Learning of Iteration-Control Constructs

  • Emanuele Scapin
  • Claudio MiroloEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11913)


A number of studies report about students’ difficulties with basic flow-control constructs, and specifically with iteration. Although such issues are less explored in the context of pre-tertiary education, this seems to be especially the case for high-school programming learning, where the difficulties concern both the “mechanical” features of the notional machine as well as the logical aspects connected with the constructs, ranging from the implications of loop conditions to a more abstract grasp of the underlying algorithms.

As part of a project whose long-run goal is identifying methodological tools to improve the learning of iteration constructs, we interviewed 20 experienced upper secondary teachers of introductory programming in different kinds of schools from a large area in the North-East of Italy. In addition, a sample of 164 students from the same schools answered a survey which included both questions on their subjective perception of difficulty and simple tasks probing their understanding of iteration.

The interviews were mainly aimed at ascertaining teachers’ beliefs about major sources of issues for basic programming concepts and their approach to the teaching and learning of iteration constructs. Each interview was conducted according to a grid of 20 questions, informed by related frameworks to characterize teachers’ pedagogical content knowledge and to design concept inventories. In essence, data from teachers and students confirm that iteration is a central programming concept and indicate that the treatment of conditions and nested constructs are major sources of students’ difficulties with iteration.


Informatics education Programming learning High school Teacher interviews Iteration constructs Novice programmers 


  1. 1.
    Astrachan, O.: Pictures as invariants. In: Proceedings of the Twenty-second SIGCSE Technical Symposium on Computer Science Education, pp. 112–118. SIGCSE 1991, ACM, New York (1991).
  2. 2.
    Barendsen, E., et al.: Concepts in k-9 computer science education. In: Proceedings of the 2015 ITiCSE on Working Group Reports, pp. 85–116. ITICSE-WGR 2015, ACM, New York (2015).
  3. 3.
    Buchholz, M., Saeli, M., Schulte, C.: Pck and reflection in computer science teacher education. In: ACM International Conference Proceeding Series, 11 2013.
  4. 4.
    Caceffo, R., Wolfman, S., Booth, K.S., Azevedo, R.: Developing a computer science concept inventory for introductory programming. In: Proceedings of the 47th ACM Technical Symposium on Computing Science Education, SIGCSE 2016, pp. 364–369. ACM, New York (2016).
  5. 5.
    Cherenkova, Y., Zingaro, D., Petersen, A.: Identifying challenging cs1 concepts in a large problem dataset. In: Proceedings of the 45th ACM Technical Symposium on Computer Science Education, SIGCSE 2014, pp. 695–700. ACM, New York (2014).
  6. 6.
    Fernández Alemán, J.L., Oufaska, Y.: Samtool, a tool for deducing and implementing loop patterns. In: Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE 2010, pp. 68–72. ACM, New York (2010).
  7. 7.
    Ginat, D.: Seeking or skipping regularities? Novice tendencies and the role of invariants. Inf. Educ. 2, 211–222 (2003)Google Scholar
  8. 8.
    Goldman, K., et al.: Setting the scope of concept inventories for introductory computing subjects. ACM Trans. Comput. Educ. 10(2), 5 (2010)CrossRefGoogle Scholar
  9. 9.
    Gomes, A., Mendes, A.: Learning to program - difficulties and solutions. In: International Conference on Engineering Education - ICEE, pp. 283–287, 01 2007Google Scholar
  10. 10.
    Jenkins, T.: On the difficulty of learning to program. In: Proceedings of the 3rd Annual LTSN ICS Conference (2002).
  11. 11.
    Kaczmarczyk, L.C., Petrick, E.R., East, J.P., Herman, G.L.: Identifying student misconceptions of programming. In: Proceedings of the 41st ACM Technical Symposium on Computer Science Education, SIGCSE 2010, pp. 107–111. ACM, New York (2010).
  12. 12.
    Lewandowski, G., Gutschow, A., Mccartney, R., Sanders, K., Shinners-Kennedy, D.: What novice programmers don’t know. In: Proceedings of the First International Workshop on Computing Education Research, ICER 2005, pp. 1–12. ACM (2005)Google Scholar
  13. 13.
    Loughran, J., Mulhall, P., Berry, A.: Exploring pedagogical content knowledge in science teacher education. Int. J. Sci. Educ. - INT J SCI EDUC 30, 1301–1320 (2008). Scholar
  14. 14.
    Luxton-Reilly, A., et al.: Developing assessments to determine mastery of programming fundamentals. In: Proceedings of the 2017 ITiCSE Conference on Working Group Reports, ITiCSE-WGR ’17, pp. 47–69. ACM, New York (2017).
  15. 15.
    Luxton-Reilly, A., et al.: Introductory programming: a systematic literature review. In: Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2018 Companion, pp. 55–106. ACM, New York (2018).
  16. 16.
    Magnusson, S., Krajcik, J., Borko, H.: Nature, sources, and development of pedagogical content knowledge for science teaching. In: Gess-Newsome, J., Lederman, N. (eds.) Examining Pedagogical Content Knowledge, Science & Technology Education Library, vol. 6, pp. 95–132. Springer, Dordrecht (1999). Scholar
  17. 17.
    Mirolo, C.: Is iteration really easier to learn than recursion for cs1 students? In: Proceedings of the Ninth Annual International Conference on International Computing Education Research, ICER 2012, pp. 99–104. ACM, New York (2012).
  18. 18.
    Saeli, M., Perrenet, J., Jochems, W., Zwaneveld, B.: Teaching programming in secondary school: a pedagogical content knowledge perspective. Inf. Educ. 10, 73–88 (2011)Google Scholar
  19. 19.
    Schaffer, D.: An analysis of science concept inventories and diagnostic tests: commonalities and differences. In: Annual International Conference of the National Association for Research in Science Teaching (2012)Google Scholar
  20. 20.
    Shulman, L.S.: Those who understand: knowledge growth in teaching. Educ. Res. 15(2), 4–14 (1986)CrossRefGoogle Scholar
  21. 21.
    Tam, W.C.: Teaching loop invariants to beginners by examples. SIGCSE Bull. 24(1), 92–96 (1992). Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.University of UdineUdineItaly

Personalised recommendations