Overview of the Computer Programming Learning Environments for primary education



Over the past decade, the assessment of the general educational value of computer programming and computational thinking has been constantly increasing and, as a result, they are introduced to increasingly younger ages. In parallel, educational programming environments are significantly progressing, providing a variety of options for different ages. This paper presents an overview of the modern learning programming environments for primary education and proposes a classification system with categories corresponding to the technological and educational dimensions of the area. The paper aims to support teachers in learning design for the interdisciplinary approach of programming and the development of computational thinking.


Educational programming languages, taxonomy, learning design, computational thinking, coding for learning

Full Text:



Blikstein, P. (2013). Gears of our childhood: Constructionist toolkits, robotics, and physical computing, past and future. In Proceedings of the 12th International Conference on Interaction Design and Children (pp. 173-182). New York, USA: ACM.

Crawley, D. (2014). 12 games that teach kids to code – and are even fun, too. Retrieved from http://venturebeat.com/2014/06/03/12-games-that-teach-kids-to-code/.

DiSessa, A. (2000). Changing minds. Computers, Learning, and Literacy. Cambridge, MA, USA: MIT Press.

DiSessa, A., & Abelson, H. (1986). BOXER: A reconstructive computational medium. Communications of the ACM, 29(9), 859-868.

Ferrari, Μ., Ferrari, G., & Hempel, R. (2001). Building robots with Lego mindstorms: The ultimate tool for mindstorms maniacs. Rockland, MA: Syngress.

Fessakis G., & Dimitracopoulou A. (2006). Review of educational environments for programming: Technological and pedagogical dimensions. THEMES in Education, 7(3), 279-304.

Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5-6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87-97.

Fessakis, G., Komis, V., Mavroudi, E., & Prantsoudi, S. (2018). Exploring the scope and the conceptualization of computational thinking at the K-12 classroom level curriculum. In M. S. Khine (Ed.), Computational Thinking in the STEM Disciplines: Foundations and Research Highlights. (pp. 181-212). Switzerland: Springer.

Fraser, N. (2015). Ten things we've learned from Blockly. In 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond) (pp. 49-50). Atlanta, GA, USA: IEEE Computer Society.

Guo, P. (2017). Building tools to help students learn to program. Communications of the ACM, 60(12), 8-9.

Guzdial, M. J., & Rose, K. M. (2001). Squeak: Open personal computing and multimedia. River, NJ, USA: Prentice Hall PTR.

Guzdial, M., & Soloway, E. (2002). Log on education: Teaching the Nintendo generation to program. Communications of the ACM, 45(4), 17-21.

Harada, Y., & Potter, R. (2003). Fuzzy rewriting: Soft program semantics for children. In Human-Centric Computing Languages and Environments, IEEE CS International Symposium on (pp. 39-46). Auckland, New Zealand: IEEE Computer Society.

History of programming languages. (2019). In Wikipedia, The Free Encyclopedia. Retrieved from https://en.wikipedia.org/w/index.php?title=History_of_programming_languages.

Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., & Kay, A. (1997). Back to the future: The story of Squeak, a practical Smalltalk written in itself. ACM SIGPLAN Notices, 32(10), 318-326.

Kelleher, C., & Pausch, R. (2005). Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Computing Surveys, 37(2), 83-137.

Komis, V., & Misirli, A. (2016). The environments of educational robotics in Early Childhood Education: Τowards a didactical analysis. Educational Journal of the University of Patras UNESCO Chair, 3(2), 238-246.

Komis, V., Romero, M., & Misirli, A. (2017). A scenario-based approach for designing educational robotics activities for co-creative problem solving. In Advances in Intelligent Systems and Computing (pp. 158-169). New York: Springer.

Langdon, D., McKittrick, G., Beede, D., Khan, B., & Doms, M. (2011). STEM: Good jobs now and for the future. Retrieved from https://goo.gl/rmyDfU.

Levenez, E. (2017). Computer Language History. Retrieved from https://www.levenez.com/lang/.

Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M., & Rusk, N. (2008). Programming by choice: Urban youth learning programming with scratch. ACM SIGCSE Bulletin, 40(1), 367-371.

Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education, 10(4), 16, 1-15.

Maxfield, C. (1998). Designus Maximus unleashed! (unabridged & unexpurgated): Banned in Alabama! Boston: Newnes.

Maxfield, C. R. (2009). Bebop to the Boolean boogie: An unconventional guide to electronics. Amsterdam: Elsevier, Newnes.

Morgado, L. C. (2005). Framework for computer programming in preschool and kindergarten. Phd Thesis. Retrieved from http://www.scribd.com/ doc/24041133/Framework-for-Computer-Programming-in-Preschool-and-Kindergarten.

Morgado, L., & Kahn, K. (2008). Towards a specification of the ToonTalk language. Journal of Visual Languages & Computing, 19(5), 574-597.

Morgado, L., Cruz, M. G. B., & Kahn, K. (2003). Working in ToonTalk with 4-and 5-year olds. In P. Isaías & A. Palma dos Reis (Eds.), International Association for Development of the Information Society - IADIS International Conference e-Society 2003 (p. 988). Lisbon, Portugal: IADIS.

Morge, S., Narayan, S., & Tagliarini, G. (2010). Squeak etoys modeling and simulation tool: Empowering students and teachers to create, explore, collaborate and interact. In Z. Abas, I. Jung & J. Luca (Eds.), Proceedings of Global Learn Asia Pacific 2010 - Global Conference on Learning and Technology (pp. 589-591). Penang, Malaysia: Association for the Advancement of Computing in Education.

Papert, S. (1980) Mindstorms: Children, computers, and powerful ideas. New York: Basic Books Inc.

Pasternak, E., Fenichel, R., & Marshall, N. A. (2017). Tips for creating a block language with blockly. In 2017 IEEE Blocks and Beyond Workshop (B&B) (pp. 21-24). Raleigh, NC, USA: IEEE.

Pea R. (1986). Language-independent conceptual ‘bugs’ in novice programming. Journal of Educational Computing Research, 2(1), 25-36.

Pekarova, J. (2008). Using a programmable toy at preschool age: Why and how? In Workshop Proceedings of SIMPAR 2008 Intl. Conf. on Simulation, Modeling and Programming for Autonomous Robots (pp. 112-121). Venice, Italy: SIMPAR.

Portelance, D. J., Strawhacker, A., & Bers, M. U. (2016). Constructing the ScratchJr programming language in the early childhood classroom. International Journal of Technology and Design Education, 26(4), 489-504.

Przybylla, M., & Romeike, R. (2014). Physical computing and its scope – towards a constructionist computer science curriculum with physical computing. Informatics in Education, 13(2), 241-254.

Repenning, A., & Ioannidou, A. (2004). Agent-based end-user development. Communications of the ACM, 47(9), 43-46.

Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., et al. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60-67.

Seals, C., Rosson, M. B., Carroll, J. M., Lewis, T., & Colson, L. (2002). Fun learning stage cast creator: An exercise in minimalism and collaboration. In Proceedings - IEEE 2002 Symposia on Human Centric Computing Languages and Environments, HCC 2002 (pp. 177-186). Toronto, ON, Canada: IEEE.

Smith, M. (2016). Computer Science for all: Learn about President Obama’s bold new initiative to empower a generation of American students with the computer science skills they need to thrive in a digital economy. Retrieved from https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all.

Spohrer J., & Soloway E. (1986). Novice mistakes: Are the folk wisdoms correct? Communications of the ACM, 29(7), 624-632.

Stephenson, C. et al. (2005). The new educational imperative: Improving high school Computer Science Education. Final Report of the CSTA Curriculum Improvement Task Force, ACM. Retrieved from http://csta.acm.org.

Sullivan, A., Bers, M. U., & Mihm, C. (2017). Imagining, playing, & coding with KIBO: Using KIBO robotics to foster computational thinking in young children. In Proceedings of the International Conference on Computational Thinking Education, 2017. Wanchai, Hong Kong. Retrieved from https://kinderlabrobotics.com/research-articles/.

Timeline of programming languages. (2019). In Wikipedia, The Free Encyclopedia. Retrieved from https://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages.

DOI: https://doi.org/10.26220/rev.3140 View Counter: Abstract | 0 | times, and PDF | 0 | times

Re S M ICT E | ISSN: 1792-3999 (electronic), 1791-261X (print) | Laboratory of Didactics of Sciences, Mathematics and ICT, Department of Educational Sciences and Early Childhood Education - University of Patras.

Pasithee | Library & Information Center | University of Patras