Introducing computational thinking in primary school curricula implies that teachers have to prepare appropriate lesson material. Typically this includes creating programming tasks, which may overwhelm primary school teachers with lacking programming subject knowledge. Inadequate resulting example code may negatively affect learning, and students might adopt bad programming habits or misconceptions. To avoid this problem, automated program analysis tools have the potential to help scaffolding task creation processes. For example, static program analysis tools can automatically detect both good and bad code patterns, and provide hints on improving the code. To explore how teachers generally proceed when creating programming tasks, whether tool support can help, and how it is perceived by teachers, we performed a pre-study with 26 and a main study with 59 teachers in training and the LitterBox static analysis tool for Scratch. We find that teachers in training (1) often start with brainstorming thematic ideas rather than setting learning objectives, (2) write code before the task text, (3) give more hints in their task texts and create fewer bugs when supported by LitterBox, and (4) mention both positive aspects of the tool and suggestions for improvement. These findings provide an improved understanding of how to inform teacher training with respect to support needed by teachers when creating programming tasks.
翻译:将计算思维引入小学课程意味着教师需准备合适的教学材料,这通常包括创建编程任务。然而,缺乏编程学科知识的教师可能难以胜任此项工作,不完善的示例代码会误导学生形成不良编程习惯或错误概念。为解决此问题,自动化程序分析工具可通过辅助任务创建流程提供支持。例如,静态程序分析工具可自动检测优质与不良代码模式,并提供代码优化建议。为探究教师创建编程任务的常规流程、工具支持的可行性及教师接受度,我们开展了试点研究(n=26)与主体研究(n=59),研究对象均为职前教师,工具选用Scratch的LitterBox静态分析工具。研究发现:职前教师(1)通常从构思主题创意而非设定学习目标开始;(2)先编写代码后撰写任务文本;(3)在使用LitterBox辅助时,其任务文本中包含更多提示且更少出现程序缺陷;(4)既提及工具的积极影响也提出改进建议。这些发现深化了对教师培训过程中如何针对性支持编程任务创建的理解。