文章目录
Snap! microworld & AI 助手
judge
采用测试驱动的风格
评估当前用户是否完成某个目标任务
judge 本身可以构建为 Snap! 的一个角色。这个角色以 system_
开头, 用户无法修改它。
当前的 judge 角色代码,类似于测试驱动的代码,如果用户成功完成的任务,这些测试代码将可以通过。这样一来,用户拥有解决问题的自由度,同时不需要人工审查。
Snap! 的元编程能力可以允许 judge 支持各种评估机制:
- 用户是否经过了某个特定位置
- 是否踩到特定颜色的砖块上
- 是否采集了沿途的水晶
- …
- 用户使用的积木数量是否超过限制?
- 用户是否使用了指定的积木(如必须包含循环)
- 用户是否使用了递归算法解决问题(检查某个自定义积木是否包含自身)
- …
code org 关卡练习
将 code org 的关卡模式视为一种 microworld, 可以帮助用户锻炼一些特定技能。 但技能本身并不重要, 它类似肌肉训练, 一旦具备基本能力,就应该去做对自己更有意义的项目(社区/项目/同伴/热情)
通过以下方式在 Snap! 中构建 code org 关卡:
- judge(评判者) 建模为角色
- 关卡建模为场景
以上所有功能都可以实现为一个普通 Snap! 项目
AI 助手
AI 助手可能起到的作用
- 解释当前关卡
- 根据用户当前的境地(诸如出错或者卡住),给与合适的引导
- 根据预制的答案(solution)给与引导式讲解(对比用户与答案的差距, 给出针对性引导)
如何实施
student 页面
js function 隐藏 system_ 角色
文章作者 种瓜
上次更新 0001-01-01