Using Elm to Introduce Algebraic Thinking to K-8 Students

Using Elm to Introduce Algebraic Thinking to K-8 Students
复制标题

使用 Elm 向 K-8 学生介绍代数思维

DOI:
--
复制
发表时间:
2018
期刊:
TFPIE@TFP
影响因子:
--
通讯作者:
Christopher Kumar Anand
Christopher Kumar Anand
中科院分区:
--
文献类型:
--
作者:
Curtis D'Alves;Tanya Bouman;Christopher W. Schankula;J. Hogg;Levin Noronha;Emily Horsman;R. Siddiqui;Christopher Kumar Anand

文献摘要

被引文献

相似文献

近年来,为K-8学生开发计算机科学课程的兴趣与日俱增。然而,创建和部署计算机科学课程在许多领域都存在重大障碍,包括教师的时间和其他21世纪技能的优先顺序。在麦克马斯特大学,我们开发了一般的计算机素养活动和特定的编程活动。这些活动的整合变得很容易,因为它们都支持现有的课程目标。本文重点介绍了函数式语言ELM和图形库GraphicSVG的编程。ELM属于ML(Meta Language,元语言)家族,具有精简的语法和易于包含的领域特定语言。这允许孩子们开始尝试将GraphicSVG作为描述形状的语言,并随着他们的成熟而学习核心的Elm语言。老师们看到孩子们在第一个小时内就能在计算机图形和数学之间建立联系。图形是声明式定义的,支持聚集和变换,即代数。变量最初是不需要的,但作为一种节省时间的功能引入后,立即被接受。因为变量是陈述性的,所以它们符合学生的期望。高级学生还可以通过编写对用户点击或点击做出反应的程序来接触State。这样做所需的语法紧跟理论概念,使其易于掌握。对于这些概念中的每一个,我们都会解释它们如何适应我们向学生所做的演示,比如2016年教授的5200名儿童。 最后,我们描述了iPad上正在进行的基于触摸的ELM编辑器的工作,该编辑器具有(1)类型突出显示(相对于语法突出显示),(2)在转换中保持正确的语法和键入,(3)上下文信息(例如,显示GraphicSVG函数的参数名称),以及(4)即时反馈(例如,在每次程序改变后重新启动动画)。
In recent years, there has been increasing interest in developing a Computer Science curriculum for K-8 students. However, there have been significant barriers to creating and deploying a Computer Science curriculum in many areas, including teacher time and the prioritization of other 21st-century skills. At McMaster University, we have developed both general computer literacy activities and specific programming activities. Integration of these activities is made easy as they each support existing curricular goals. In this paper, we focus on programming in the functional language Elm and the graphics library GraphicSVG. Elm is in the ML (Meta Language) family, with a lean syntax and easy inclusion of Domain Specific Languages. This allows children to start experimenting with GraphicSVG as a language for describing shape, and pick up the core Elm language as they grow in sophistication. Teachers see children making connections between computer graphics and mathematics within the first hour. Graphics are defined declaratively, and support aggregation and transformation, i.e., Algebra. Variables are not needed initially, but are introduced as a time-saving feature, which is immediately accepted. Since variables are declarative, they match students' expectations. Advanced students are also exposed to State by making programs that react to user taps or clicks. The syntax required to do so closely follows the theoretical concepts, making it easy for them to grasp. For each of these concepts, we explain how they fit into the presentations we make to students, like the 5200 children taught in 2016. Finally, we describe ongoing work on a touch-based Elm editor for iPad, which features (1) type highlighting (as opposed to syntax highlighting), (2) preservation of correct syntax and typing across transformations, (3) context information (e.g. displaying parameter names for GraphicSVG functions), and (4) immediate feedback (e.g. restarting animations after every program change).