The Appropriateness of Scratch and App Inventor as Educational Environments for Teaching Introductory Programming in Primary and Secondary Education

Teaching programming is a complex task. The task is even more challenging for introductory modules. There is an ongoing debate in the teaching community over the best approach to teaching introductory programming. Visual block-based programming environments allow school students to create their own programs in ways that are more accessible than in textual programming environments. These environments designed for education allow students to program without the obstacle of syntax errors errors in typing commands found in traditional text-based languages. In this paper, the authors focus on the use of App Inventor and Scratch as blocks-based programming environments designed explicitly with novices in mind. In the authors' analysis, both Novice Programming Environments NPEs seemed to be attractive platforms for introducing fundamental concepts in computer programming and both look appealing for both majors and non-majors.

[1]  Sze Yee Lye,et al.  Review on teaching and learning of computational thinking through programming: What is next for K-12? , 2014, Comput. Hum. Behav..

[2]  Franklyn A. Turbak,et al.  Improving App Inventor usability via conversion between blocks and text , 2014, J. Vis. Lang. Comput..

[3]  David Wolber,et al.  App inventor and real-world motivation , 2011, SIGCSE.

[4]  Saquib Razak,et al.  From Alice to Python. Introducing Text-based Programming in Middle Schools , 2016, ITiCSE.

[5]  Celia Hoyles,et al.  Bridging Primary Programming and Mathematics: Some Findings of Design Research in England , 2017 .

[6]  Michail Kalogiannakis,et al.  Developing fundamental programming concepts and computational thinking with ScratchJr in preschool education: a case study , 2016, Int. J. Mob. Learn. Organisation.

[7]  Yasmin B. Kafai,et al.  From computational thinking to computational participation in K--12 education , 2016, Commun. ACM.

[8]  Michail Kalogiannakis,et al.  Designing and creating an educational app rubric for preschool teachers , 2017, Education and Information Technologies.

[9]  Emily Richards,et al.  Occupational Employment Projections to 2022 , 2013 .

[10]  Sergio Sandoval-Reyes,et al.  Visual Learning Environments for Computer Programming , 2011, 2011 IEEE Electronics, Robotics and Automotive Mechanics Conference.

[11]  Ilenia Fronza,et al.  Computational Thinking Through Mobile Programming - A Case Study in a Liberal Education Context , 2016, MobiWIS.

[12]  Karishma Chadha Improving the Usability of App Inventor through Conversion between Blocks and Text , 2014 .

[13]  Brian Harvey,et al.  Bringing "No Ceiling" to Scratch: Can One Language Serve Kids and Computer Scientists? , 2010 .

[14]  Krishnendu Roy,et al.  Comparing the mobile novice programming environments: App Inventor for Android vs. GameSalad , 2012, 2012 Frontiers in Education Conference Proceedings.

[15]  P E HuiRu Shih,et al.  Using MIT App Inventor in an Emergency Management Course to Promote Computational Thinking , 2014 .

[16]  Michail Kalogiannakis Training with ICT for ICT from the trainee’s perspective. A local ICT teacher training experience , 2008, Education and Information Technologies.

[17]  Roy D. Pea,et al.  Using a discourse-intensive pedagogy and android's app inventor for introducing computational concepts to middle school students , 2013, SIGCSE '13.

[18]  John Maloney,et al.  Starting with scratch in CS 1 , 2009, SIGCSE '09.

[19]  Christopher D. Hundhausen,et al.  Can direct manipulation lower the barriers to computer programming and promote transfer of training?: An experimental study , 2009, TCHI.

[20]  Mordechai Ben-Ari,et al.  Learning computer science concepts with Scratch , 2013, Comput. Sci. Educ..

[21]  Stamatios Papadakis,et al.  The Combined Use of Lego Mindstorms NXT and App Inventor for Teaching Novice Programmers , 2016, EDUROBOTICS.

[22]  Ioannis Ioannou,et al.  A Framework and an Instructional Design Model for the Development of Students' Computational and Algorithmic Thinking , 2016, MCIS.

[23]  Diana Franklin,et al.  Fourth Grade Students Reading Block-Based Programs: Predictions, Visual Cues, and Affordances , 2015, ICER.

[24]  M. Kara,et al.  ICT Teachers’ Acceptance of “Scratch” as Algorithm Visualization Software , 2016 .

[25]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[26]  Marie Vasek Representing Expressive Types in Blocks Programming Languages , 2012 .

[27]  Mark Szymanski,et al.  A State of the Art Cart: Visual Arts and Technology Integration in Teacher Education , 2014 .

[28]  David Wolber,et al.  Novel approaches to CS 0 with app inventor for android , 2010, SIGCSE.

[29]  Lauri Malmi,et al.  A survey of literature on the teaching of introductory programming , 2007, ACM SIGCSE Bull..

[30]  Chris Stephenson,et al.  Running on Empty: the Failure to Teach K--12 Computer Science in the Digital Age , 2010 .

[31]  Stavros A. Nikou,et al.  Transition in student motivation during a scratch and an app inventor course , 2014, 2014 IEEE Global Engineering Education Conference (EDUCON).

[32]  Michail Kalogiannakis,et al.  Using Scratch and App Inventor for teaching introductory programming in secondary education. A case study , 2016 .

[33]  Andrey Soares Reflections on Teaching App Inventor for Non-Beginner Programmers: Issues, Challenges and Opportunities. , 2014 .

[34]  Thorna O. Humphries,et al.  A CS0 course using Scratch , 2011 .

[35]  Krishnendu Roy,et al.  App inventor for android: report from a summer camp , 2012, SIGCSE '12.

[36]  E. Steiner,et al.  Using OSHA Inspection Data to Analyze Respirator Protection Program Compliance , 2013 .

[37]  David Weintrop,et al.  Using Commutative Assessments to Compare Conceptual Understanding in Blocks-based and Text-based Programs , 2015, ICER.

[38]  Andy Cockburn,et al.  Leogo: An Equal Opportunity User Interface for Programming , 1997, J. Vis. Lang. Comput..

[39]  Timothy C. Bell,et al.  Should your 8-year-old learn coding? , 2014, WiPSCE.

[40]  Michail Kalogiannakis,et al.  Novice Programming Environments. Scratch & App Inventor: a first comparison , 2014, IDEE '14.

[41]  Georgios Fesakis,et al.  Influence of the familiarization with "scratch" on future teachers' opinions and attitudes about programming and ICT in education , 2009, ITiCSE.

[42]  Mark Guzdial,et al.  Computers for communication, not calculation: media as a motivation and context for learning , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[43]  John Maloney,et al.  Alice, Greenfoot, and Scratch -- A Discussion , 2010, TOCE.

[44]  Harold Abelson,et al.  Democratizing Computing with App Inventor , 2015, GETMBL.

[45]  Evrim Guler,et al.  Teaching computing and programming fundamentals via App Inventor for Android , 2012, 2012 International Conference on Information Technology Based Higher Education and Training (ITHET).

[46]  Allan Tucker,et al.  Python for Teaching Introductory Programming: A Quantitative Evaluation , 2011 .

[47]  Stamatios Papadakis,et al.  Creativity and innovation in European education. Ten years eTwinning. Past, present and the future , 2016 .

[48]  Pedro Guillermo Feijóo García,et al.  RoBlock - Web App for Programming Learning , 2016, iJET.

[49]  Sohail Iqbal Malik,et al.  Role of ADRI model in teaching and assessing novice programmers , 2016 .

[50]  Stefania Bocconi,et al.  Developing Computational Thinking in Compulsory Education - Implications for policy and practice , 2016 .

[51]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[52]  Colleen M. Lewis How programming environment shapes perception, learning and goals: logo vs. scratch , 2010, SIGCSE.

[53]  Diana Franklin,et al.  User-Centered Design in Block-Based Programming: Developmental & Pedagogical Considerations for Children , 2016, IDC.

[54]  Mark Sherman,et al.  Mobile computational thinking with APP inventor 2 , 2014 .

[55]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[56]  Francisco José García-Peñalvo,et al.  An overview of the most relevant literature on coding and computational thinking with emphasis on the relevant issues for teachers , 2016 .

[57]  Michail Kalogiannakis,et al.  Comparing Tablets and PCs in teaching Mathematics: An attempt to improve Mathematics Competence in Early Childhood Education , 2016 .

[58]  Pavel Smutny Visual programming for smartphones , 2011, 2011 12th International Carpathian Control Conference (ICCC).

[59]  Derek Walter,et al.  Learning MIT App Inventor: A Hands-On Guide to Building Your Own Android Apps , 2014 .

[60]  Ioanna Bellou,et al.  Educational Robotics as Mindtools , 2013 .

[61]  Mitchel Resnick,et al.  Designing ScratchJr: support for early childhood learning through computer programming , 2013, IDC.

[62]  Kalogiannakis Michail,et al.  Hybrid learning for women and socially sensitive groups for the promotion of digital literacy , 2008 .

[63]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[64]  Mitchel Resnick,et al.  Mother's Day, Warrior Cats, and Digital Fluency: Stories from the Scratch Online Community , 2012 .

[65]  Stamatios Papadakis,et al.  Improving Mathematics Teaching in Kindergarten with Realistic Mathematical Education , 2017 .

[66]  Shaileen Crawford Pokress,et al.  MIT App Inventor: Enabling Personal Mobile Computing , 2013, ArXiv.

[67]  Stelios Xinogalos,et al.  Microworlds, games, animations, mobile apps, puzzle editors and more: What is important for an introductory programming environment? , 2015, Education and Information Technologies.

[68]  Jason Freeman,et al.  Engaging underrepresented groups in high school introductory computing through computational remixing with EarSketch , 2014, SIGCSE.

[69]  Marisol Estevez-Menendez,et al.  The Effects of Interactive Multimedia iPad E-Books on Preschoolers' Literacy , 2015 .

[70]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[71]  Sayamindu Dasgupta,et al.  Youth Perspectives on Critical Data Literacies , 2017, CHI.

[72]  Michail Kalogiannakis,et al.  Using Mobile Devices for Teaching Realistic Mathematics in Kindergarten Education , 2013 .