从认知导师系统的角度体验CodeCombat平台(一)

今年暑假偶然间接触到一个编程游戏平台CodeCombat,这是一家美国公司开发的编程教育平台,让用户通过游戏闯关的方式来掌握编程的一些技能。网易公司今年获得了该平台在中国的独家代理权,把这个学习平台中国化了,这里得给网易点个赞了。

网易不愧是做游戏的企业里面最关注教育的,前面把minecraft中国化了,恰好minecraft和教育也有很多关系,现在网易卡搭平台作为做Scratch教育的平台,宣传的也很到位,这一次的CodeCombat目前从界面上来看做的也不错。我不知道网易为什么布局编程教育,当然不管动机如何,这对中国计算机科学的普及教育都是有益的,希望网易能坚持做下去。

言归正传,说说“认知导师”。一般来说,我们认为个别辅导比起传统的一对多的课堂教学的效果要好,学习者可以获得最及时的、最有针对性的指导,就像“师傅带徒弟”,但是这种方式成本高,现在的社会实现不了。计算机的出现提供了一个契机,人类的学习方式发生了一些改变,计算机辅助教学部分解放了老师的精力。但是,传统的计算机辅助教学平台没有吸收“学习科学”的理论成果,有时候更像是“操作指南”,并不完美。如果一款软件能符合学习者认知发展规律、吸收学习科学的研究成果,就有可能部分替代个别辅导,以这样的方法开发的教学辅助平台(软件),被称为“认知导师系统”。

并不是所有的教学软件都能称为“认知导师”哦。认知导师系统应当围绕学生当前所学知识的认知模型来进行建构。以学习编程为例,从一个“新手”学习者到“专家”的知识建构的轨迹是怎样的?在某个节点,学习者有可能会存在哪些迷思概念?学习者需要和哪些真实情境进行联结?这些都应当是认知导师系统需要考虑在内的。

接下来现身说法,聊聊编程学习,先说说我自己的经历,我的专业并不是计算机,只学过一学期的C语言。大学的课程安排一般是计算机领域的专家来敲定的,这样的课程一般逻辑缜密,步步为营,在知识结构上不会有什么问题。当时基本上从学习一个个编程的例子开始,用一个个例子来消化:选择结构、循环结构、函数、字符串、数组……等等这一些知识点,每当上机运行出现错误,都要举手询问老师我还记得经常出的问题:句末少加了一个分号、中英文输入法没转换、字母打错等等。每隔一段时间,老师会把一些常见的问题集中起来强调,还有一些好的敲代码的习惯,也是老师经常耳提面命的,不过大家听进去了多少,我就不得而知啦。等我们把这些“硬知识点”弄明白,接下来就是掌握一些算法了,也就跟数学挂钩,跟“语法”没太大关系了。我丝毫不怀疑大学老师知识结构的扎实,但是我也丝毫不怀疑当时教学方式的传统和单调,在学到一些有趣的算法之前的过程比较枯燥,需要重复练习多次才能掌握一些简单的知识,而且出现错误的时候得不到及时的解答。如果当时有现在的这些编程学习平台该多好……

我不知道CodeCombat的开发者当中是不是有学习科学的研究者,不过这里面确有一些“认知导师”的影子。 CodeCombat宣称课程学完的学生可以达到AP课程水平(大学先修课水平),按照一般中国大学对非计算机专业学生的编程能力要求来看,基本上要求相当。从下图我们可以看到这款游戏的知识点覆盖面还是比较完善的(以Python语言为例)。不仅和大学教授计算机语言的知识点教学顺序大致相同,同时还涉及了包括网页开发、游戏开发等初级项目内容(顺便说一下,大部分关卡是收费的哈)。

在下面几张图里,我们看看它的学习方式。第一张图,在每个关卡的开始,它会给你一个需要达成的目标,可以理解为维果茨基需要你跳一跳摘到的那个苹果。第二张图,代码的运行和人物角色的动作是同步的,将学习内容可视化的好处已经不必再说,Logo语言和Scratch的成功已经足够说明问题。第三张图,当你的代码出现错误,它及时的给出了反馈和纠正,这一点其实已经和人工辅导有相似效果了。第四张图,当你通过了这一关卡,通过获得宝石等方式给你一定奖励,评价的方式有对你代码水平的评价,还有一些有关游戏的内容,应该是为了避免枯燥。由于我只使用了一天,因此,对它完整的认知模型还没能了解透彻,感情是需要慢慢培养的哈。

未完待续……

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180829G1XGBK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券