教育应用

Blockly 团队在设计教育应用方面拥有多年的经验。以下是他们学到的一些经验,可能有助于您设计自己的教育类应用。

自由作答练习优于填空练习

旨在教授特定概念的练习通常会提供部分解决方案,学生需要修改这些解决方案才能达到预期效果。Blockly 中创建了一类不可编辑、不可移动、不可删除的块来支持此功能。不过,学生们很讨厌这些填空练习。 他们对解决方案没有所有权意识。

以下是一个填空练习的示例,其中包含一个重复执行代码块,学生必须从下拉菜单中选择重复次数。

设计用于教授相同概念的自由形式练习更具挑战性。事实证明,一种成功的方法是使用学生自己针对某道练习题给出的解答作为下一道练习题的起点。

建议:不要为用户编写代码。

使用持久性指令

Blockly Games 专为自学而设计,无需教师或课程计划。为此,Blockly Games 的第一个版本在每个关卡中都提供了说明。大多数学生都不会阅读这些内容。我们将它们缩减为一句话,增大了字号,并以黄色气泡突出显示。大多数学生不会阅读这些内容。我们创建了包含说明的模态弹出式窗口。大多数学生都会本能地关闭弹出式窗口而不阅读其中的内容,然后就迷失了方向。

一个无法关闭的弹出式说明,其中包含一个指向需要更改的块的箭头。

最后,我们创建了无法关闭的弹出式窗口。它们经过编程,可以监控学生的行动,并且仅在学生完成所需操作后才会自行关闭。这些情境感知弹出式窗口难以编程,但效果相当不错。此外,这些设备还必须位于视野范围内,同时不会干扰工作区。

建议:说明应简短且持久,但不要令人反感。

在帮助中使用实时代码块图片

一个包含希伯来语文本的三元块。

块的文档应包含其所指块的图片。截取屏幕截图非常简单。但如果有 50 张这样的图片,并且应用翻译成 50 种语言,那么突然之间,您就需要维护 2,500 张静态图片。然后,配色方案发生变化,2,500 张图片需要再次更新。

为了摆脱这种维护噩梦,Blockly Games 将所有屏幕截图替换为以只读模式运行的 Blockly 实例。结果看起来与图片完全相同,但保证是最新的。只读模式使国际化成为可能。

建议:如果您支持多种语言,请使用只读模式。

为学生制定退出策略

基于块的编程通常是编程的起点。在计算机编程教学方面,它是一种入门级工具,可让学生沉迷其中,然后再让他们学习更难的内容。学生应学习多长时间的基于块的编程,这是一个备受争议的问题,但如果您的目标是教授编程,那么这种学习应该是暂时的。

鉴于此,用于教授编程的基于块的编程环境必须具有适合学生的退出机制。Blockly Games 提供了四种策略:

  1. 块上的所有文字(例如“if”“while”)均为小写,以与基于文字的编程语言保持一致。

    一个带有圆括号和大括号的 while 代码块,用于展示 JavaScript 语法。

  2. 在每个级别之后,系统都会显示学生代码的 JavaScript 版本,以提高熟悉度。

  3. 在倒数第二个游戏中,块文本被替换为实际的 JavaScript(如右侧所示)。此时,学生正在使用 JavaScript 进行编程。

  4. 在终极游戏中,代码块编辑器会被文本编辑器取代。

用于教授编程的基于块的编程环境需要制定明确的学生毕业计划。完善的退出策略也有助于安抚那些认为基于块的编程不是“真正的编程”的人。

建议:考虑用户的最终目标,并相应地进行设计。