ABSTRACT
Computing education and outreach in the K--12 school sector have shown significant growth over recent decades, resulting in a large body of literature focused on the teaching and learning of computing. Despite this extensive literature, we are not aware of global overviews on teaching and learning programming as opposed to computing or computational thinking in K--12. We conducted a systematic review of the literature on introductory programming from 2003 to 2017. In this paper we review the papers that were set in the K--12 context with the aim of exploring developments that have been made in teaching introductory K--12 programming during this period. These include new programming languages, tools, teaching methods, and outreach programs. The impetus for these innovations was often a desire to provide interesting and engaging learning experiences and to ensure an appropriate level of instruction for a particular age group. Many initiatives were driven by changes to national curricula to mandate the teaching of programming. We find that there is a need for long-term studies to identify the most effective pedagogical approaches. We also identify a major need faced by many countries for training and resources to support teachers through the curriculum changes.
- Charoula Angeli, Joke Voogt, Andrew Fluck, Mary Webb, Margaret Cox, Joyce Malyn-Smith, and Jason Zagami. 2016. A K-6 computational thinking curriculum framework: Implications for teacher knowledge. Journal of Educational Technology & Society 19, 3 (2016).Google Scholar
- Anon. 20nn. Omitted for blind review.Google Scholar
- Australian Curriculum. 2019. Australian Curriculum - Digital Technologies. https://www.australiancurriculum.edu.au/f-10-curriculum/technologies/digital-technologies/aims/. (2019).Google Scholar
- F.B.V. Benitti. 2012. Exploring the educational potential of robotics in schools: A systematic review. Computers & Education 58, 3 (2012), 978--988.Google ScholarDigital Library
- Jens Bennedsen and Michael E. Caspersen. 2007. Failure Rates in Introductory Programming. SIGCSE Bull. 39, 2 (June 2007), 32--36. https://doi.org/10.1145/1272848.1272879Google ScholarDigital Library
- Marina Umaschi Bers, Louise Flannery, Elizabeth R Kazakoff, and Amanda Sullivan. 2014. Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers & Education 72 (2014), 145--157.Google ScholarCross Ref
- J. Blonskis and V. Dagienė. 2006. Evolution of Informatics Maturity Exams and Challenge for Learning Programming. In Informatics Education -- The Bridge between Using and Understanding Computers. 220--229.Google Scholar
- Torsten Brinda. 2006. Discovery learning of object-oriented modelling with exploration modules in secondary Informatics education. Education and Information Technologies 11, 2 (apr 2006), 105--119.Google ScholarDigital Library
- Royal Society (Great Britain). 2012. Shut down or restart?: The way forward for computing in UK schools. Royal Society.Google Scholar
- A. Brodnik, M. Lokar, and N. Mori. 2017. Activation of Computer Science Teachers in Slovenia. In IFIP Advances in Information and Communication Technology. 658--662.Google Scholar
- Neil C.C. Brown, S. Sentance, T. Crick, and S. Humphreys. 2014. Restart: The resurgence of computer science in UK schools. ACM Transactions on Computing Education 14, 2 (2014), 9.Google ScholarDigital Library
- National Research Council et al. 2010. Committee for the Workshops on Computational Thinking. In Report of a workshop on the scope and nature of computational thinking, Natl Academy Pr.Google Scholar
- J. Gal-Ezer and C. Stephenson. 2014. A tale of two countries: Successes and challenges in K-12 computer science education in Israel and the United States. ACM Transactions on Computing Education 14, 2 (2014), 8.Google ScholarDigital Library
- V. Garneli, M. N. Giannakos, and K. Chorianopoulos. 2015. Computing Education in K-12 Schools: A review of the Literature. In 2015 IEEE Global Engineering Conference (EDUCON). IEEE, 543--551.Google Scholar
- Shuchi Grover and Roy Pea. 2013. Computational thinking in K--12: A review of the state of the field. Educational Researcher 42, 1 (2013), 38--43.Google ScholarCross Ref
- Shuchi Grover and Roy Pea. 2013. Using a Discourse-intensive Pedagogy and Android's App Inventor for Introducing Computational Concepts to Middle School Students. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE '13). ACM, New York, NY, USA, 723--728.Google ScholarDigital Library
- K. J. Harms, E. Balzuweit, J. Chen, and C. Kelleher. 2016. Learning programming from tutorials and code puzzles: Children's perceptions of value. In 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 59--67.Google Scholar
- K. J. Harms, D. Cosgrove, S. Gray, and C. Kelleher. 2013. Automatically Generating Tutorials to Enable Middle School Children to Learn Programming Independently. In Proceedings of the 12th International Conference on Interaction Design and Children. 11--19.Google Scholar
- K. Hayat, N. Ali Al-Shukaili, and K. Sultan. 2016. Alice in Oman. Education and Information Technologies 22, 4 (2016), 1553--1569.Google ScholarCross Ref
- F. Heintz, L. Mannila, and T. FÃďrnqvist. 2016. A review of models for introducing computational thinking, computer science and computing in K-12 education. In 2016 IEEE Frontiers in Education Conference (FIE). 1--9. https://doi.org/10.1109/FIE.2016.7757410Google ScholarCross Ref
- F. Heintz, L. Mannila, L. Nordén, P. Parnes, and B. Regnell. 2017. Introducing Programming and Digital Competence in Swedish K-9 Education. In Informatics in Schools: Focus on Learning Programming. 117--128.Google Scholar
- F. Heintz, L. Mannila, K. Nygårds, P. Parnes, and B. Regnell. 2015. Computing at School in Sweden -- Experiences from Introducing Computer Science within Existing Subjects. In Lecture Notes in Computer Science. 118--130.Google Scholar
- R. Hijón-Neira, L. Santacruz-Valencia, D. Pérez-Marín, and M. Gómez-Gómez. 2017. An analysis of the current situation of teaching programming in Primary Education. In 2017 International Symposium on Computers in Education (SIIE). IEEE, 1--6.Google Scholar
- C. Hill, H. A. Dwyer, T. Martinez, D. Harlow, and D. Franklin. 2015. Floors and Flexibility: Designing a Programming Environment for 4th-6th Grade Classrooms. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE '15). ACM, New York, NY, USA, 546--551.Google Scholar
- W. Hnin, M. Ichinco, and C. Kelleher. 2017. An exploratory study of the usage of different educational resources in an independent context. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 181--189.Google Scholar
- J. Hromkovič, T. Kohn, D. Komm, and G. Serafini. 2016. Combining the Power of Python with the Simplicity of Logo for a Sustainable Computer Science Education. In Informatics in Schools: Improvement of Informatics Knowledge and Perception. Springer International Publishing, 155--166.Google Scholar
- J. Hromkovič, G. Serafini, and J. Staub. 2017. XLogoOnline: A Single-Page, Browser-Based Programming Environment for Schools Aiming at Reducing Cognitive Load on Pupils. In Informatics in Schools: Focus on Learning Programming. 219--231.Google Scholar
- M. Ichinco and C. Kelleher. 2015. Exploring novice programmer example use. In 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 63--71.Google Scholar
- V. Isomöttönen, A.I. Lakanen, and V. Lappalainen. 2011. K-12 Game Programming Course Concept Using Textual Programming. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education. 459--464.Google Scholar
- K. Kahn and N. Winters. 2017. Child-Friendly Programming Interfaces to AI Cloud Services. In Data Driven Approaches in Digital Education. 566--570.Google Scholar
- E. Kaila, T. Rajala, M.-J. Laakso, and T. Salakoski. 2010. Effects of Course-long Use of a Program Visualization Tool. In Proceedings of the Twelfth Australasian Conference on Computing Education - Volume 103. 97--106.Google Scholar
- J. S. Kay and J. G. Moss. 2012. Using robots to teach programming to K-12 teachers. In 2012 Frontiers in Education Conference Proceedings. IEEE, 1--6.Google Scholar
- Mizue Kayama, Takao Futagami, Atsushi Konno, Takeharu Tasaki, and Cortland Starrett. 2010. Let's Go! Magical Spoons: A High School Learning Program for Information Coding Fundamentals. In Proceedings of the 2010 ACM Conference on Information Technology Education (SIGITE '10). ACM, New York, NY, USA, 95--104.Google ScholarDigital Library
- Caitlin Kelleher and Randy Pausch. 2007. Using Storytelling to Motivate Programming. Commun. ACM 50, 7 (July 2007), 58--64.Google ScholarDigital Library
- Barbara Kitchenham, O Pearl Brereton, David Budgen, Mark Turner, John Bailey, and Stephen Linkman. 2009. Systematic literature reviews in software engineering -- A systematic literature review. Information and Software Technology 51, 1 (2009), 7--15.Google ScholarDigital Library
- S. Kocijancic and T. Kušar. 2008. Introducing programming languages through data acquisition examples. MIPRO 2008 - 31st International Convention Proceedings: Computers in Education 4 (2008), 258--261.Google Scholar
- Eleni Konidari and Panos Louridas. 2010. When Students Are Not Programmers. ACM Inroads 1, 1 (March 2010), 55--60.Google ScholarDigital Library
- Maria Kordaki. 2010. A drawing and multi-representational computer environment for beginnersâĂŹ learning of programming using C: Design and pilot formative evaluation. Computers & Education 54, 1 (2010), 69 -- 87.Google ScholarDigital Library
- W. W.Y. Lau, G Ngai, Stephen C.F. Chan, and J. C.Y. Cheung. 2009. Learning Programming Through Fashion and Design: A Pilot Summer Course in Wearable Computing for Middle School Students. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education. 504--508.Google ScholarDigital Library
- J. Lin, Y. Lie, R. Ho, and C. Lie. 2007. Effects of guided collaboration on sixth graders' performance in logo programming. In 37th Annual Frontiers In Education Conference - Global Engineering: Knowledge Without Borders, Opportunities Without Passports. 11--16.Google Scholar
- Jiangjiang Liu, Ethan Philip Hasson, Zebulun David Barnett, and Peng Zhang. 2011. A survey on computer science K-12 outreach: Teacher training programs. In Frontiers in Education Conference (FIE), 2011. IEEE, T4F--1.Google ScholarDigital Library
- Andrew Luxton-Reilly. 2016. Learning to Program is Easy. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). ACM, New York, NY, USA, 284--289. https://doi.org/10.1145/2899415.2899432Google ScholarDigital Library
- Linda Mannila. 2006. Progress Reports and Novices' Understanding of Program Code. In Proceedings of the 6th Baltic Sea Conference on Computing Education Research: Koli Calling 2006 (Baltic Sea '06). ACM, New York, NY, USA, 27--31.Google ScholarDigital Library
- L. Mannila. 2007. Novices' progress in introductory programming courses. Informatics in Education 6, 1 (2007), 139--152.Google ScholarDigital Library
- Monica McGill and Adrienne Decker. 2017. Computer Science Education Repository. (2017). https://csedresearch.orgGoogle Scholar
- Muhsin Menekse. 2015. Computer science teacher professional development in the United States: a review of studies published between 2004 and 2014. Computer Science Education 25, 4 (2015), 325--350.Google ScholarCross Ref
- A. Merkouris, K. Chorianopoulos, and A. Kameas. 2017. Teaching Programming in Secondary Education Through Embodied Computing Platforms: Robotics and Wearables. Trans. Comput. Educ. 17, 2 (2017), 9:1--9:22.Google Scholar
- N. Nikolova and E. Stefanova. 2014. Inquiry-Based Science Education in Secondary School Informatics --Challenges and Rewards. In Information Technology and Open Source: Applications for Education, Innovation, and Sustainability. 17--34.Google Scholar
- S. A. Nikou and A. A. Economides. 2014. Transition in student motivation during a Scratch and an App Inventor course. In 2014 IEEE Global Engineering Education Conference (EDUCON). IEEE, 1042--1045.Google Scholar
- Yutaro Ohashi. 2017. Preparedness of Japan's Elementary School Teachers for the Introduction of Computer Programming Education. In Informatics in Schools: Focus on Learning Programming. Springer International Publishing, 129--140.Google Scholar
- C. B. Owen, L. Dillon, A. Dobbins, N. Keppers, M. Levinson, and M. Rhodes. 2016. Dancing Computer: Computer Literacy Though Dance. In Proceedings of the 14th International Conference on Advances in Mobile Computing and Multi Media. 174--180.Google Scholar
- S. Papadakis, M. Kalogiannakis, N. Zaranis, and V. Orfanakis. 2016. Using Scratch and App Inventor for teaching introductory programming in secondary education. A case study. International Journal of Technology Enhanced Learning 8, 3-4 (2016), 217--233.Google ScholarCross Ref
- Seymour Papert. 1980. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.Google ScholarDigital Library
- A. Pears, V. Dagienė, and E. Jasute. 2017. Baltic and Nordic K-12 Teacher Perspectives on Computational Thinking and Computing. In Informatics in Schools: Focus on Learning Programming. 141--152.Google Scholar
- N. Pellas and E. Peroutseas. 2016. Gaming in Second Life via Scratch4SL: Engaging High School Students in Programming Courses. Journal of Educational Computing Research 54, 1 (2016), 108--143.Google ScholarCross Ref
- N. Pellas and E. Peroutseas. 2017. Leveraging Scratch4SL and Second Life to motivate high school students' participation in introductory programming courses: findings from a case study. New Review of Hypermedia and Multimedia 23, 1 (2017), 51--79.Google ScholarDigital Library
- Ljubomir Perković, Amber Settle, Sungsoon Hwang, and Joshua Jones. 2010. A framework for computational thinking across the curriculum. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education. ACM, 123--127.Google ScholarDigital Library
- Peter J Rich, Samuel F Browning, McKay Perkins, Timothy Shoop, Emily Yoshikawa, and Olga M Belikov. 2019. Coding in K-8: International Trends in Teaching Elementary/Primary Computing. TechTrends 63, 3 (2019), 311--329.Google ScholarCross Ref
- Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13, 2 (2003), 137--172. https://doi.org/10.1076/csed.13.2.137.14200Google ScholarCross Ref
- K.N. Rodhouse, B. Cooper, and S.E. Watkins. 2011. Programming for pre-college education using Squeak Smalltalk. Computers in Education Journal 21, 2 (2011), 101--111.Google Scholar
- K. Roy. 2012. App Inventor for Android: Report from a Summer Camp. In Proceedings of the ACM Technical Symposium on Computer Science Education. 283--288.Google ScholarDigital Library
- A. Ruf, A. Mühling, and P. Hubwieser. 2014. Scratch vs. Karel: Impact on Learning Outcomes and Motivation. In Proceedings of the 9th Workshop in Primary and Secondary Computing Education. 50--59.Google Scholar
- A. Sanzo, F. Schapachnik, P. Factorovich, and F. S. O'Connor. 2017. Pilas bloques: A scenario-based children learning platform. In 2017 Twelfth Latin American Conference on Learning Technologies (LACLO). IEEE, 1--6.Google ScholarCross Ref
- T. Sapounidis and S. Demetriadis. 2013. Tangible Versus Graphical User Interfaces for Robot Programming: Exploring Cross-age Children's Preferences. Personal Ubiquitous Comput. 17, 8 (2013), 1775--1786.Google ScholarDigital Library
- T. Sapounidis, S. Demetriadis, and I. Stamelos. 2015. Evaluating Children Performance with Graphical and Tangible Robot Programming Tools. Personal Ubiquitous Comput. 19, 1 (2015), 225--237.Google ScholarDigital Library
- C.D. Seals and L.O. Tripp. 2007. A study of science teachers utilizing visual programming techniques. IMSCI 2007 - International Multi-Conference on Society, Cybernetics and Informatics, Proceedings 2 (2007), 207--212. cited By 0.Google Scholar
- S. Sentance and A. Csizmadia. 2016. Computing in the curriculum: Challenges and strategies from a teacher's perspective. Education and Information Technologies 22, 2 (2016), 469--495.Google ScholarDigital Library
- G. Serafini. 2011. Teaching Programming at Primary Schools: Visions, Experiences, and Long-Term Research Prospects. In Lecture Notes in Computer Science. 143--154.Google Scholar
- F. Tort and B. Drot-Delange. 2013. Informatics in the French secondary curricula: Recent moves and perspectives. In International Conference on Informatics in Schools: Situation, Evolution, and Perspectives. 31--42.Google Scholar
- Jiří Vaníček. 2015. Programming in Scratch Using Inquiry-Based Approach. In Lecture Notes in Computer Science. Springer International Publishing, 82--93.Google Scholar
- Arto Vihavainen, Jonne Airaksinen, and Christopher Watson. 2014. A Systematic Review of Approaches for Teaching Introductory Programming and Their Influence on Success. In Proceedings of the Tenth Annual Conference on International Computing Education Research (ICER '14). 19--26.Google ScholarDigital Library
- Christopher Watson and Frederick W.B. Li. 2014. Failure Rates in Introductory Programming Revisited. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education (ITiCSE '14). 39--44.Google ScholarDigital Library
- M. Webb, N. Davis, T. Bell, Y. J. Katz, N. Reynolds, D. P. Chambers, and M. M. Sysło. 2016. Computer science in K-12 school curricula of the 21st century: Why, what and when? Education and Information Technologies 22, 2 (2016), 445--468.Google ScholarDigital Library
- D. Weintrop and U. Wilensky. 2015. To Block or Not to Block, That is the Question: Students' Perceptions of Blocks-based Programming. In Proceedings of the 14th International Conference on Interaction Design and Children. 199--208.Google Scholar
- D. Weintrop and U. Wilensky. 2015. Using Commutative Assessments to Compare Conceptual Understanding in Blocks-based and Text-based Programs. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research. 101--110.Google Scholar
- Jeanette Wing. 2011. Research notebook: Computational thinkingâĂŤWhat and why. The Link Magazine (2011), 20--23.Google Scholar
- Jeannette M Wing. 2006. Computational thinking. Commun. ACM 49, 3 (2006), 33--35.Google ScholarDigital Library
- C. Wu, I. Tseng, and S. Huang. 2008. Visualization of Program Behaviors: Physical Robots Versus Robot Simulators. In Lecture Notes in Computer Science. 53--62.Google Scholar
- D. Xu, A. Cadle, D. Thompson, U. Wolz, I. Greenberg, and D. Kumar. 2016. Creative Computation in High School. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. 273--278.Google Scholar
Index Terms
- Fifteen Years of Introductory Programming in Schools: A Global Overview of K-12 Initiatives
Recommendations
Introductory programming: a systematic literature review
ITiCSE 2018 Companion: Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science EducationAs computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been ...
50 Years of CS1 at SIGCSE: A Review of the Evolution of Introductory Programming Education Research
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationThe SIGCSE Technical Symposium is celebrating its 50th year, and a constant theme throughout this history has been to better understand how novices learn to program. In this paper, we present a perspective on the evolution of introductory programming ...
A review of introductory programming research 2003–2017
ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science EducationA broad review of research on the teaching and learning of programming was conducted by Robins et al. in 2003. Since this work there have been several reviews of research concerned with the teaching and learning of programming, in particular introductory ...
Comments