Programming Misconceptions for School Students

Programming Misconceptions for School Students
复制标题

小学生的编程误解

DOI:
10.1145/3230977.3230995
复制
发表时间:
2018
期刊:
Proceedings of the 2018 ACM Conference on International Computing Education Research
影响因子:
--
通讯作者:
Marileen Smit
Marileen Smit
中科院分区:
--
文献类型:
--
作者:
Alaaeddin Swidan;F. Hermans;Marileen Smit

文献摘要

被引文献

相似文献

编程误解一直是编程入门教育中感兴趣的话题,重点是大学水平的学生。如今,学校越来越多地向年幼的孩子教授编程,有时甚至将其作为课程的一部分。在这项研究中,我们旨在探索年龄较小的学龄儿童所持有的误解。为此,我们设计了一个带有Scratch编程练习的选择题问卷。这些问题代表了11个已知的误解,并与基本的编程概念有关。145名年龄在7到17岁之间、有编程经验的参与者参加了这项研究。我们的结果显示,最常见的三个误解是:难以理解语句的顺序,变量一次只保留一个值,以及需要用户输入时程序的交互性。数字的数学效应、标识符的语义意义以及对计算机功能的高期望都会影响误解的产生。从结果中得出的其他见解表明,年龄较大的孩子回答正确的问题更多,特别是在变量和控制概念方面。与使用Scratch和其他语言编程的孩子相比,使用Scratch编程的孩子似乎只是在正确回答问题方面有困难。我们的研究结果表明,工作应侧重于识别划痕引起的误解,并尽早制定干预方法来消除这些误解。最后,对于开始用Scratch学习编程的孩子,材料应该更加概念丰富,并为每个概念包括不同的练习。
Programming misconceptions have been a topic of interest in introductory programming education, with a focus on university level students. Nowadays, programming is increasingly taught to younger children in schools, sometimes as part of the curriculum. In this study we aim at exploring what misconceptions are held by younger, school-age children. To this end we design a multiple-choice questionnaire with Scratch programming exercises. The questions represent a selected set of 11 known misconceptions and relate to basic programming concepts. 145 participants aged 7 to 17 years, with an experience in programming, took part in the study. Our results show the top three common misconceptions are the difficulty of understanding the sequentiality of statements, that a variable holds one value at a time, and the interactivity of a program when user input is required. Holding a misconception is influenced by the mathematical effect of numbers, semantic meaning of identifiers and high expectations of what a computer can do.Other insights from the results show that older children answer more questions correctly, especially for the variable and control concepts. Children who program in Scratch only seem to have difficulties in answering the questions correctly compared to children who program in Scratch and another language. Our findings suggest that work should focus on identifying Scratch-induced misconceptions, and develop intervention methods to counter those misconceptions as early as possible. Finally, for children who start learning programming with Scratch, materials should be more concept-rich and include diverse exercises for each concept.