教育应用

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

尽量使用自由形式的练习,而不是填空练习

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

空白填充练习示例:重复块,学生必须从下拉菜单中选择重复次数。

设计用于教授相同概念的自由形式练习更具挑战性。一种已被证明行之有效的做法是,将学生对某个练习的解题方法作为下一个练习的起点。

建议:请勿为用户编写代码。

使用永久性指令

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

一个无法关闭的弹出式窗口说明,其中有一个箭头指向需要更改的代码块。

最后,我们创建了无法关闭的弹出式窗口。它们会被编程为监控学生的操作,并且仅在学生执行所需操作后关闭。这些感知上下文的弹出式窗口很难编程,但非常有效。另外,摄像头还必须位于视野范围内,且不会干扰工作区。

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

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

一个三元块,其中包含希伯来文文本。

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

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

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

为学生制定退出策略

基于块的编程通常是编程的起点。在教授计算机编程的过程中,它就像一种诱导学生上瘾的“入门毒品”,在学生上瘾后,再引导他们学习更难的内容。关于学生应使用基于块的编程方法多长时间,人们争论不休,但如果您的目标是教授编程,则这种方法应该是暂时性的。

因此,用于教授编程的基于块的编程环境必须具有适合学生的退出路径。Blockly Games 有四种策略:

包含圆括号和大括号的 while 代码块,用于显示 JavaScript 语法。

  1. 代码块中的所有文本(例如“if”“while”)均采用小写形式,以匹配基于文本的编程语言。
  2. 系统会在每个等级后面显示学生代码的 JavaScript 版本,以便学生熟悉该语言。
  3. 在倒数第二个游戏中,代码块文本会替换为实际的 JavaScript(如右侧所示)。此时,学生正在使用 JavaScript 编程。
  4. 在最终游戏中,块编辑器会替换为文本编辑器。

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

建议:考虑用户的最终目标并进行适当的设计。