Comparing Three Free to Use Visual Programming Environment for Novice Programmers

Kadir Yucel KAYA, İsmail YILDIZ


This study aims to examine and compare three popular free-to-use visual programming environments. While choosing three environments among other visual programming environments, three criteria were taken into account which are being completely free, popular, and productive. After reviewing several environments, MIT’s App Inventor, Scratch and Microsoft’s Kodu Game Lab were chosen. While App Inventor and Scratch are free and open source environments, Microsoft’s Kodu is only free to use. Selected three environments were investigated through using and examining the environments and literature review. Outcomes of this study can help teachers, instructors and students to choose a relevant visual programming environment based on their needs. Review of the environments showed that while Kodu is more relevant for elementary students, Scratch’s target group are similar but also includes higher age range. Another difference between them was that Kodu’s sole purpose is to develop games in 3D, Scratch is used for 2D games and animations. App Inventor, on the other hand, targets middle school and higher age range to develop mobile applications for Android OS. Scratch and App Inventor uses the same block-based library which is more relevant to teach basic programming concepts such as variables, conditional expressions, and loops than Microsoft’s Kodu. Selected three environments have the advantages of their own and features specifically for their target audience and products. This study investigated the important differences and features of the selected environments.


app inventor, free programming environments, kodu, scratch, visual programming

Full Text:



Aggarwal, A., Touretsky, D. S., & Gardner-McCune, C. (2018). Demonstrating the Ability of Elementary School Students to Reason about Programs. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 735-740). ACM.

Akcaoglu, M. (2014). Learning problem-solving through making games at the game design and learning summer program. Educational Technology Research and Development, 62(5), 583–600.

Arilesere, F. O. (2014). Kodu game lab - a tool for ensuring quality teaching-learning for pupils in primary schools: case study (school in Northern Finland) (Master’s Thesis). Retrieved from Networked Digital Library of Theses & Dissertations. University of Oulu, Finland.

Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From Scratch to “Real” Programming. ACM Transactions on Computing Education, 14(4), 1–15.

Alzahrani, M. G. (2017). The Effect of Using Online Discussion Forums on Students' Learning. Turkish Online Journal of Educational Technology-TOJET, 16(1), 164-176.

Bennedsen, J., & Caspersen, M. E. (2012). Persistence of Elementary Programming Skills. Computer Science Education, 22(2), 81-107.

Berg, B. L. (2001). Qualitative research methods for the social sciences. Qualitative Research (Vol. Seventh Ed).

Bertea, A. F. (2011). Mobile Learning Applications Using Google App Inventor for Android. The International Scientific Conference eLearning and Software for Education. Bucharest.

Coy, S. (2013). Kodu game lab, a few lessons learned. XRDS: Crossroads, The ACM Magazine for Students, 19(4), 44.

Denner, J., Werner, L., & Ortiz, E. (2012). Computer games created by middle school girls: Can they be used to measure understanding of computer science concepts? Computers and Education, 58(1), 240–249.

Deek, F. P., & McHugh, J. A. (1998). A survey and critical analysis of tools for learning programming. Computer Science Education, 8(2), 130–178.

Dekhane, S., Xu, X., & Tsoi, M. Y. (2013). Mobile app development to increase student engagement and problem solving skills. Jour-nal of Information Systems Education, 24(4), 299–308.

Felleisen, M., Findler, R. B., Flatt, M., & Krishnamurthi, S. (2004). The TeachScheme! Project: Computing and Programming for Every Student. Computer Science Education, 14(1), 55–77.

Fowler, A., Fristce, T., & Maclauren, M. (2012). Kodu Game Lab: a programming environment. The Computer Games Journal, 1(1), 17–28. Retrieved from

Google, (2018). Introduction to blockly. Retrieved March 3, 2019 from

Hsieh, H.F., & Shannon, S. E. (2005). Three Approaches to Qualitative Content Analysis. Qualitative Health Research, 15(9), 1277-1288.

Hickmott, D., & Prieto-Rodriguez, E. (2018). To Assess or Not to Assess: Tensions Negotiated in Six Years of Teaching Teachers about Computational Thinking. Informatics in Education, 17(2), 229-244.

Hsu, Y. C., & Ching, Y.-H. (2013). Mobile App Design for Teaching and Learning: Educators' Experiences in an Online Graduate Course. The International Review of Research in Open and Distance Learning, 14(4), 117-139.

Kelly, J. F. (2013). Kodu for Kids: The Official Guide to Creating Your Own Video Games. Que Publishing.

Kwon, D., Yoon, I., & Lee, W. (2011). Design of Programming Learning Process using Hybrid Programming Environment for Com-puting Education. KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS, 5(10), 1799-1812.

Lee, Y. J. (2011). Scratch: Multimedia Programming Environment for Young Gifted Learners. Gifted Child Today, 34(2), 26-31.

Liu, E. Z. F., Cheng, S. S., & Lin, C. H. (2013). The effects of using online q&a discussion forums with different characteristics as a learning resource. The Asia-Pacific Education Researcher, 22(4), 667-675.

Malan, D. J., & Leitner, H. H. (2007). Scratch for Budding Computer Scientists. SIGCSE (pp. 223-227). Kentucky: ACM.

Maloney, J., Peppler, K., Kafai, Y. B., Resnick, M., & Rusk, N. (2008). Programming by Choice : Urban Youth Learning Program-ming with Scratch. In SIGCSE ’08 (pp. 367–371). Portland, Oregon, USA.

Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The Scratch Programming Language and Environment. ACM Transaction on Computing Education, 10(4), 16:1-16:15.

Mannila, L., Peltomäki, M., & Salakoski, T. (2006). What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3), 211–227.

Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning Computer Science Concepts with Scratch. Computer Science Education, 23(3), 239-264.

MIT App Inventor, (2019). About us. Retrieved March 5, 2019 from

Morelli, R., de Lanerolle, T., Lake, P., Limardo, N., Tamotsu, E., & Uche, C. (2011). Can Android App Inventor Bring Computational Thinking to K-12? In SIGCSE’11. Dallas, Texas, USA.

Mueller, J., Beckett, D., Hennessey, E., & Shodiev, H. (2017). Assessing Computational Thinking Across the Curriculum. In Emerging Research, Practice, and Policy on Computational Thinking (pp. 251–267). Cham: Springer International Publishing.

Nygård, S., Kolås, L., & Sigurdardottir, H. (2016). Teachers’ Experiences Using KODU as a Teaching Tool. Proceedings of the Euro-pean Conference on Information Management & Evaluation, 416–422.

Pokress, S. C., & Veiga, J. D. (2013). MIT App Inventor: Enabling Personal Mobile Computing. ACM.

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Kafai, Y. (2009). Scratch: Programming for All. Communications of the ACM, 52(11), 60-67.

Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teachin Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172.

Sadik, O., Leftwich, A.-O., & Nadiruzzaman, H. (2017). Computational Thinking Conceptions and Misconceptions: Progression of Preservice Teacher Thinking During Computer Science Lesson Planning. In Emerging Research, Practice, and Policy on Computa-tional Thinking (pp. 221–238). Cham: Springer International Publishing.

Sandoval-Reyes, S., Galicia-Galicia, P., & Gutierrez-Sanchez, I. (2011). Visual Learning Environments for Computer Programming. Electronics, Robotics, and Automotive Mechanics Conference (pp. 439-444). Cuernavaca, Morelos: IEEE Computer Society.

Scratch, (2019). Age Distribution of New Scratchers. Retrieved March 5, 2019 from

Smutny, P. (2011). Visual Programming for Smartphones. International Carpathian Control Conference, (pp. 358 - 361). Velke Karlov-ice.

Sorva, J., Lönnberg, J., & Malmi, L. (2013). Students' Ways of Experiencing Visual Program Simulation. Computer Science Education, 23(3), 207-238.

Stemler, Steve (2001). An overview of content analysis. Practical Assessment, Research & Evaluation, 7(17).

Stolee, K. T., & Fristoe, T. (2011). Expressing computer science concepts through Kodu game lab. In Proceedings of the 42nd ACM technical symposium on Computer science education (pp. 99-104). ACM.

Su, A. Y., Yang, S. J., Hwang, W.-Y., Huang, C. S., & Tern, M.-Y. (2013). Investigating the role of computer-supported annotation in problem-solving-based teaching: An empirical study of a Scratch programming pedagogy. British Journal of Educational Technology.

Tangney, B., Oldham, E., Conneely, C., Barrett, S., & Lawlor, J. (2010). Pedagogy and Process for a Computer Programming Outreach Workshop - The Bridge to College Model. IEEE Transactions on Education, 53(1), 53-60.

Wagner, A., Gray, J., Corley, J., & Wolber, D. (2013). Using app inventor in a K-12 summer camp. Proceeding of the 44th ACM Technical Symposium on Computer Science Education - SIGCSE ’13, 621.

Wiedenbeck, S. (2005). Factors affecting the success of non-majors in learning to program. In Proceedings of the 2005 international workshop on Computing education research - ICER ’05 (pp. 13–24). New York, New York, USA: ACM Press.

Wilson, A., Hainey, T., & Connoly, T. (2012). Evaluation of Computer Games Developed by Primary School Children to Gauge Un-derstanding of Programming Concepts. Proceedings of the European Conference on Games Based Learning, (pp. 549-558). Cork.

Weintrop, D., & Wilensky, U. (2017). Comparing block-based and text-based programming in high school computer science class-rooms. ACM Transactions on Computing Education (TOCE), 18(1), 3.

Yadav, A., Gretter, S., Hambrusch, S., & Sands, P. (2017). Expanding computer science education in schools: Understanding teacher experiences and challenges. Computer Science Education, 26(4), 235–254.



  • There are currently no refbacks.



Creative Commons License  
 Kastamonu Eğitim'de yayınlanan tüm içerik ve makaleler "Creative Commons Alıntı 4.0 Uluslararası Lisansı" ile lisanslanmıştır.