Code ABC MOOC for Math Teachers

  • Pia NiemeläEmail author
  • Tiina Partanen
  • Linda Mannila
  • Timo Poranen
  • Hannu-Matti Järvinen
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 865)


Computing is the latest add-on to enhance the K-12 curricula of many countries, with the purpose of closing the digital skills gap. The revised Finnish Curriculum 2014 integrates computing mainly into math. Consequently, Finland needs to train math teachers to teach computing at elementary level. This study describes the Python and Racket tracks of the Code ABC MOOC that introduce programming basics for math teachers. Their suitability for math is compared based on the course content and feedback. The results show that conceptually the functional paradigm of Racket approaches math more closely, in particular algebra. In addition, Racket is generally regarded as more challenging in terms of syntax and e.g. for utilizing recursion as an iteration mechanism. Math teachers also rank its suitability higher because the content and exercises of the track are specifically tailored for their subject.


Curriculum research Computer science education K-12 education In-service teacher training MOOC Computational thinking Math-integrated computer science Python Racket Programming paradigms Imperative Functional 



We gratefully acknowledge the grant support of the Finnish National Board of Education and Technology Industries of the Finland Centennial Foundation that enabled the development of the Code ABC MOOC during the research period of Spring 2016. In addition to the funders, we thank the Aalto University A+ and Rubyric teams for their efforts to continuously improve the MOOC platform. Last but not least, thanks to Tarmo Toikkanen, Tiina Korhonen, Otto Seppälä, and Arto Hellas for providing Code ABC MOOC material and corrections for this paper.


  1. 1.
    Alegre, F., Moreno, J.: Haskell in middle and high school mathematics. In: TFPIE, vol. 1. EPTCS, Sophia-Antipolis (2015)Google Scholar
  2. 2.
    Auvinen, T., Karavirta, V., Ahoniemi, T.: Rubyric: an online assessment tool for effortless authoring of personalized feedback. ACM, Workingpaper (2009)Google Scholar
  3. 3.
    Bal, H.E., Grune, D.: Programming Language Essentials. Addison-Wesley, Boston (1994)zbMATHGoogle Scholar
  4. 4.
    Balanskat, A., Engelhardt, K.: Computing our future: computer programming and coding-priorities, school curricula and initiatives across Europe. European Schoolnet (2014).
  5. 5.
    Barr, V., Guzdial, M.: Introducing CS to newcomers, and JES as a teaching tool. Commun. ACM 59(11), 10–11 (2016)CrossRefGoogle Scholar
  6. 6.
    Brady, C., Orton, K., Weintrop, D., Anton, G., Rodriguez, S., Wilensky, U.: All roads lead to computing: making, participatory simulations, and social computing as pathways to computer science. IEEE Trans. Educ. 60(1), 59–66 (2017)CrossRefGoogle Scholar
  7. 7.
    Burke, Q., Burke, Q.: Mind the metaphor: charting the rhetoric about introductory programming in K-12 schools. Horizon 24(3), 210–220 (2016)CrossRefGoogle Scholar
  8. 8.
    Dijkstra, E.W.: How do we tell truths that might hurt? In: Dijkstra, E.W. (ed.) Selected Writings on Computing: A Personal Perspective, pp. 129–131. Springer, New York (1982). Scholar
  9. 9.
    Ericson, B., Adrion, W.R., Fall, R., Guzdial, M.: State-based progress towards computer science for all. ACM Inroads 7(4), 57–60 (2016)CrossRefGoogle Scholar
  10. 10.
    Ericson, B., Guzdial, M., Morrison, B., Parker, M., Moldavan, M., Surasani, L.: An eBook for teachers learning CS principles. ACM Inroads 6(4), 84–86 (2015)CrossRefGoogle Scholar
  11. 11.
    Ericson, B.J., Rogers, K., Parker, M., Morrison, B., Guzdial, M.: Identifying design principles for CS teacher ebooks through design-based research. In: Proceedings of the 2016 ACM Conference on International Computing Education Research, ICER 2016, pp. 191–200. ACM, New York (2016).
  12. 12.
    Felleisen, M., Findler, R., Flatt, M., Krishnamurthi, S.: How to Design Programs, 2nd edn. MIT-Press, Cambridge (2014). Scholar
  13. 13.
    Felleisen, M., Krishnamurthi, S.: Viewpoint Why computer science doesn’t matter. Commun. ACM 52(7), 37–40 (2009)CrossRefGoogle Scholar
  14. 14.
    Fesakis, G., Serafeim, K.: Influence of the familiarization with scratch on future teachers’ opinions and attitudes about programming and ICT in education. In: ACM SIGCSE Bulletin, vol. 41, pp. 258–262. ACM (2009)CrossRefGoogle Scholar
  15. 15.
    Finnish National Board of Education: National core curriculum for basic education 2014. In: National Core Curriculum for Basic Education 2014. Publications, Finnish National Board of Education (2016).
  16. 16.
    Futschek, G.: Algorithmic thinking: the key for understanding computer science. In: Mittermeir, R.T. (ed.) ISSEP 2006. LNCS, vol. 4226, pp. 159–168. Springer, Heidelberg (2006). Scholar
  17. 17.
    Gagné, R.M.: The Conditions of Learning. Holt, Rinehart and Winston, New York (1965)Google Scholar
  18. 18.
    Gray, E.M., Tall, D.O.: Duality, ambiguity, and flexibility: a proceptual view of simple arithmetic. J. Res. Math. Educ. 25, 116–140 (1994)CrossRefGoogle Scholar
  19. 19.
    Guzdial, M.: Drumming up support for AP CS principles. Commun. ACM 59(2), 12–13 (2016)CrossRefGoogle Scholar
  20. 20.
    Guzdial, M., Soloway, E.: Computer science is more important than calculus: the challenge of living up to our potential. SIGCSE Bull. 35(2), 5–8 (2003)CrossRefGoogle Scholar
  21. 21.
    Guzdial, M.J., Ericson, B.: Introduction to Computing and Programming in Python, a Multimedia Approach. Prentice Hall Press, Upper Saddle River (2009)Google Scholar
  22. 22.
    Gülbahar, Y., Kalelioglu, F.: The effects of teaching programming via Scratch on problem solving skills: a discussion from learners’ perspective. Inform. Educ. Int. J. 13(1), 33–50 (2014)Google Scholar
  23. 23.
    Jarvis, S., Pavlenko, A.: Crosslinguistic Influence in Language and Cognition. Routledge, Abingdon (2008)Google Scholar
  24. 24.
    Kiczales, G.: UBCx: SPD1x Systematic Program Design - Part 1 (version 1) (2015).
  25. 25.
    Kulik, J.A.: Meta-analytic studies of findings on computer-based instruction. In: Technology Assessment in Education and Training, vol. 1, pp. 9–34. Psychology Press (1994)Google Scholar
  26. 26.
    Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., Malyn-Smith, J., Werner, L.: Computational thinking for youth in practice. ACM Inroads 2(1), 32–37 (2011)CrossRefGoogle Scholar
  27. 27.
    Lewis, C.M.: How programming environment shapes perception, learning and goals: Logo vs. Scratch. In: Proceedings of the 41st ACM Technical Symposium on Computer Science Education, pp. 346–350. ACM (2010)Google Scholar
  28. 28.
    Lutz, M.: Learning Python: Powerful Object-Oriented Programming. Safari Books Online, O’Reilly Media (2013).
  29. 29.
    Maloney, J., Resnick, M., Rusk, N., Silverman, B., Eastmond, E.: The Scratch programming language and environment. ACM Trans. Comput. Educ. (TOCE) 10(4), 16 (2010)Google Scholar
  30. 30.
    Marceau, G., Fisler, K., Krishnamurthi, S.: Measuring the effectiveness of error messages designed for novice programmers. In: Proceedings of the 42nd ACM Technical Symposium on Computer Science Education, pp. 499–504. ACM (2011)Google Scholar
  31. 31.
    Meerbaum-Salant, O., Armoni, M., Ben-Ari, M.: Learning computer science concepts with Scratch. Comput. Sci. Educ. 23(3), 239–264 (2013)CrossRefGoogle Scholar
  32. 32.
    Monroy-Hernández, A., Resnick, M.: FEATURE empowering kids to create and share programmable media. Interactions 15(2), 50–53 (2008)CrossRefGoogle Scholar
  33. 33.
    Meerbaum-Salant, O., Armoni, M., Ben-Ari, M.: Habits of programming in scratch. In: Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education, pp. 168–172. ACM (2011)Google Scholar
  34. 34.
    Papert, S.: An exploration in the space of mathematics educations. Int. J. Comput. Math. Learn. 1(1), 95–123 (1996)Google Scholar
  35. 35.
    Papert, S., et al.: Logo Philosophy and Implementation. Logo Computer Systems Inc., Highgate (1999)Google Scholar
  36. 36.
    Parsons, D., Haden, P.: Parson’s programming puzzles: a fun and effective learning tool for first programming courses. In: Proceedings of the 8th Australasian Conference on Computing Education, vol. 52. pp. 157–163. Australian Computer Society, Inc. (2006)Google Scholar
  37. 37.
    Partanen, T.: Coding for Schools: Coder’s Handbook (in Finnish) (2016).
  38. 38.
    Partanen, T.: Coding for Schools: Student Exercises (in Finnish) (2016).
  39. 39.
    Partanen, T., Mannila, L., Poranen, T.: Learning programming online: a Racket-course for elementary school teachers in Finland. In: Proceedings of the 16th Koli Calling International Conference on Computing Education Research, pp. 178–179. ACM (2016)Google Scholar
  40. 40.
    Partanen, T., Niemelä, P., Mannila, L., Poranen, T.: Educating computer science educators online: a Racket MOOC for elementary math teachers of Finland. In: 9th International Conference on Computer Supported Education, CSEDU 2017. SciTePress (2017)Google Scholar
  41. 41.
    Perkins, D.N., Salomon, G.: Teaching for transfer. Educ. Leadersh. 46(1), 22–32 (1988)Google Scholar
  42. 42.
    Reimann, P.: Design-based research. In: Markauskaite, L., Freebody, P., Irwin, J. (eds.) Methodological Choice and Design, pp. 37–50. Springer, Dordrecht (2011). Scholar
  43. 43.
    Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)CrossRefGoogle Scholar
  44. 44.
    Rich, P.J., Leatham, K.R., Wright, G.A.: Convergent cognition. Instr. Sci. 41(2), 431–453 (2013)CrossRefGoogle Scholar
  45. 45.
    Lent, R.W., Lopez, F.G., Bieschke, K.J.: Mathematics self-efficacy: sources and relation to science-based career choice. J. Couns. Psychol. 38(4), 424 (1991)CrossRefGoogle Scholar
  46. 46.
    van Rossum, G., et al.: Computer programming for everybody. Proposal to the Corporation for National Research Initiatives (1999)Google Scholar
  47. 47.
    Rossum, G.V.: Python programming language. In: USENIX Annual Technical Conference, vol. 41, p. 36 (2007)Google Scholar
  48. 48.
    Van Roy, P.: Programming paradigms for dummies: what every programmer should know. In: New Computational Paradigms for Computer Music, vol. 104 (2009)Google Scholar
  49. 49.
    Schanzer, E., Fisler, K., Krishnamurthi, S., Felleisen, M.: Transferring skills at solving word problems from computing to algebra through Bootstrap. In: Proceedings of the 46th ACM Technical Symposium on Computer Science Education, pp. 616–621. ACM (2015)Google Scholar
  50. 50.
    Schanzer, E.T.: Algebraic Functions, Computer Programming, and the Challenge of Transfer (2015).
  51. 51.
    Scott, M.L.: Programming Language Pragmatics. Morgan Kaufmann, Burlington (2000)zbMATHGoogle Scholar
  52. 52.
    Sengupta, P., Kinnebrew, J.S., Basu, S., Biswas, G., Clark, D.: Integrating computational thinking with K-12 science education using agent-based computation: a theoretical framework. Educ. Inf. Technol. 18(2), 351–380 (2013)CrossRefGoogle Scholar
  53. 53.
    Toikkanen, T., Leinonen, T.: The code ABC MOOC: experiences from a coding and computational thinking MOOC for finnish primary school teachers. In: Rich, P.J., Hodges, C.B. (eds.) Emerging Research, Practice, and Policy on Computational Thinking. ECTII, pp. 239–248. Springer, Cham (2017). Scholar
  54. 54.
    Van-Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)Google Scholar
  55. 55.
    Wegner, P.: Guest editor’s introduction to special issue of computing surveys. ACM Comput. Surv. 21, 253–258 (1989)Google Scholar
  56. 56.
    Wilkie, K.J.: Students’ use of variables and multiple representations in generalizing functional relationships prior to secondary school. Educ. Stud. Math. 93(3), 333–361 (2016)CrossRefGoogle Scholar
  57. 57.
    Wilkie, K.J., Clarke, D.M.: Developing students’ functional thinking in algebra through different visualisations of a growing pattern’s structure. Math. Educ. Res. J. 28(2), 223–243 (2015, 2016)CrossRefGoogle Scholar
  58. 58.
    Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)CrossRefGoogle Scholar
  59. 59.
    Wing, J.M.: Computational Thinking: What and Why? Link Magazine (2010)Google Scholar
  60. 60.
    Wright, G., Rich, P., Lee, R.: The influence of teaching programming on learning mathematics. In: Society for Information Technology and Teacher Education International Conference, vol. 2013, pp. 4612–4615. (2013)Google Scholar
  61. 61.
    Yoo, D., Schanzer, E., Krishnamurthi, S., Fisler, K.: WeScheme: the browser is your programming environment. In: Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education, pp. 163–167. ACM (2011)Google Scholar
  62. 62.
    Zeldin, A.L., Pajares, F.: Against the odds: self-efficacy beliefs of women in mathematical, scientific, and technological careers. Am. Educ. Res. J. 37(1), 215–246 (2000)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Pia Niemelä
    • 1
    Email author
  • Tiina Partanen
    • 2
  • Linda Mannila
    • 3
    • 4
  • Timo Poranen
    • 5
  • Hannu-Matti Järvinen
    • 1
  1. 1.Pervasive ComputingTampere University of TechnologyTampereFinland
  2. 2.City of TampereTampereFinland
  3. 3.Aalto UniversityEspooFinland
  4. 4.Linköping UniversityLinköpingSweden
  5. 5.Computer ScienceUniversity of TampereTampereFinland

Personalised recommendations