使用 Elm 向 K-8 学生引入代数思维
计算机与社会
2018-05-15 v1
摘要
近年来,人们越来越有兴趣为 K-8 学生开发计算机科学课程。然而,在许多地区创建和部署计算机科学课程存在重大障碍,包括教师时间和其他 21 世纪技能的优先级问题。在 McMaster University,我们开发了通用的计算机素养活动和特定的编程活动。这些活动的整合很容易,因为它们各自支持现有的课程目标。在本文中,我们重点关注函数式语言 Elm 和图形库 GraphicSVG 的编程。Elm 属于 ML (Meta Language) 家族,具有简洁的语法且易于包含领域特定语言 (Domain Specific Languages)。这使得儿童可以开始尝试将 GraphicSVG 作为描述形状的语言,并随着复杂度的提升掌握 Elm 核心语言。教师看到儿童在第一小时内就建立了计算机图形与数学之间的联系。图形是以声明式定义的,并支持聚合与变换,即代数。最初不需要变量,但将其作为一种节省时间的功能引入后,立即被接受。由于变量是声明式的,它们符合学生的期望。高阶学生还通过编写响应用户点击或敲击的程序接触到状态 (State)。实现此功能所需的语法紧密遵循理论概念,使其易于掌握。对于这些概念中的每一个,我们解释了它们如何融入我们向学生所做的展示中,例如 2016 年教授的 5200 名儿童。最后,我们描述了正在进行的 iPad 触控式 Elm 编辑器的工作,其特点包括:(1) 类型高亮(相对于语法高亮),(2) 在变换过程中保持正确的语法和类型,(3) 上下文信息(例如显示 GraphicSVG 函数的参数名),以及 (4) 即时反馈(例如在每次程序更改后重新启动动画)。
引用
@article{arxiv.1805.05125,
title = {Using Elm to Introduce Algebraic Thinking to K-8 Students},
author = {Curtis d'Alves and Tanya Bouman and Christopher Schankula and Jenell Hogg and Levin Noronha and Emily Horsman and Rumsha Siddiqui and Christopher Kumar Anand},
journal= {arXiv preprint arXiv:1805.05125},
year = {2018}
}
备注
In Proceedings TFPIE 2017, arXiv:1805.04255