A Methodology Proposal Based on Metaphors to Teach Programming to Children

Interest in studying computer science has been extended to children. However, it is unclear which educational method should be used. Teachers need help to tackle this task. Therefore, this paper proposes using metaphors, such as recipe/program (and sequence), pantry/memory, and boxes/variables. It also illustrates the possibility of applying these metaphors to any resource available to the teacher. Four step-by-step scripts of how to use the metaphors in class are provided, with the opinions of sixty-two children (enrolled in grades fourth, fifth, and sixth of Spanish Primary Education, 9 to 11 years in age) and their teacher’s opinion.

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

[2]  R. Benjamin Shapiro,et al.  Metaphors we teach by , 2014, SIGCSE.

[3]  Filiz Kalelioglu,et al.  A new way of teaching programming skills to K-12 students: Code.org , 2015, Comput. Hum. Behav..

[4]  Aman Yadav,et al.  Expanding computer science education in schools: understanding teacher experiences and challenges , 2016, Comput. Sci. Educ..

[5]  Fredrik Heintz,et al.  A review of models for introducing computational thinking, computer science and computing in K-12 education , 2016, 2016 IEEE Frontiers in Education Conference (FIE).

[6]  Derek H. Sleeman,et al.  A Summary of Misconceptions of High School Basic Programmers , 1984 .

[7]  G. Lakoff,et al.  Metaphors We Live by , 1981 .

[8]  Soufiane Lahmine,et al.  Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment , 2015 .

[9]  Ana Casali,et al.  Computational thinking: Panorama of the Americas , 2016, 2016 International Symposium on Computers in Education (SIIE).

[10]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[11]  Walter William Milner,et al.  A broken metaphor in Java , 2010, SGCS.

[12]  Po-Yao Chao,et al.  Exploring students' computational practice, design and performance of problem-solving through a visual programming environment , 2016, Comput. Educ..

[13]  Lauri Malmi,et al.  Observations on student misconceptions—A case study of the Build – Heap Algorithm , 2006, Comput. Sci. Educ..

[14]  David Ginat On Novice Loop Boundaries and Range Conceptions , 2004, Comput. Sci. Educ..

[15]  Paolo BOERO,et al.  METAPHORS IN TEACHING AND LEARNING MATHEMATICS: A CASE STUDY CONCERNING INEQUALITIES , 2004 .

[16]  Ishbel Duncan,et al.  Emergent Requirements for Supporting Introductory Programming , 2011 .

[17]  Campbell J. McRobbie,et al.  Using a Metaphor for Learning to Improve Students' Metacognition in the Chemistry Classroom , 2001 .

[18]  Sasko Ristov,et al.  Computing as a new compulsory subject in the Macedonian primary schools curriculum , 2016, 2016 IEEE Global Engineering Education Conference (EDUCON).

[19]  Francisco José García-Peñalvo Proyecto TACCLE3 – Coding , 2016 .

[20]  D. Clements Young Children and Computers: Crossroads and Directions from Research. Research in Review. , 1993 .

[21]  Ricardo Jiménez-Peris,et al.  The locker metaphor to teach dynamic memory , 1997, SIGCSE '97.

[22]  Francisco J. Garcia-Penalvo,et al.  A brief introduction to TACCLE 3 — coding European project , 2016, 2016 International Symposium on Computers in Education (SIIE).

[23]  Shawn M. Glynn,et al.  Elaborate analogies in science text: Tools for enhancing preservice teachers’ knowledge and attitudes , 2000 .

[24]  Damir Sersic,et al.  How to teach basic university-level programming concepts to first graders? , 2014, 2014 IEEE Integrated STEM Education Conference.

[25]  Lecia Jane Barker,et al.  Exploring factors that influence computer science introductory course students to persist in the major , 2009, SIGCSE '09.