在可汗学院破解计算机科学教育

还没有读者喜欢这篇文章。
word learn in chalk on blackboard

Opensource.com

以下文学转录基于 John Resig 在罗切斯特理工学院 (RIT) 媒体、艺术、游戏、互动和创意中心 (MAGIC) 发表的演讲

今天我非常荣幸来到这里。我每隔几年都会回到 RIT,我现在住在纽约市。这里总是有新的建筑和新的事物发生。非常棒。

我今天来这里是为了谈谈我在 可汗学院 所做的事情。我是计算机科学院长,这其实有点开玩笑,因为我们可以自创头衔。我想,我先简单介绍一下可汗学院,然后深入探讨一下我特别在 CS (计算机科学) 平台 上所做的工作。

我在 2011 年加入可汗学院,之前我在 Mozilla 从事 JavaScript 工具开发工作。我们的大事,我们的目标是:为世界各地所有人免费提供世界一流的教育我们非常擅长制作教育材料。我们的数学、科学、计算机科学和艺术史都非常出色。大多数内容都以 知识共享 许可发布,因此您可以随意使用。

我们正在努力将我们的内容带给全世界。我一直在从事可汗学院的国际化工作。计算机科学中有些问题是“已解决的问题”,你可能会认为将网站翻译成多种语言也应该是其中之一……但这很难。有太多的边缘情况……我们有视频、文章、练习,所有与我们课程相关的内容。

这里有人使用可汗学院的数学课程作为补充吗?(许多人举手)非常好!我们通常倾向于比大学年龄更年轻的用户!

追踪更好的数据

我们所做的事情之一是跟踪你所做的所有工作,这样你就可以获得更有效的教育。对于每个练习和视频,我们都会跟踪你何时完成以及完成情况如何。如果你答对了或答错了;我们可以找出你为什么答错以及如何改进。我们有一个仪表板,我们可以推动你进行练习,以提升你的知识水平。

这是我在可汗学院构建的第一个东西,这个框架可以轻松创建练习。这是一个系统,其中包含问题、图表、提示,当你回答问题时,它可以引导你在答错时获得更好的理解。我也为此做了国际化工作,这非常困难。练习对英语和西方的做事方式做了很多假设。

以“简妮给弗雷德一个球”为例。“哦,这很简单,我们只需替换单词!” 但是,每种语言对单数和复数的概念都有不同的理解。有些地方有更多或更少的规则,甚至在数字以三结尾时还有单独的规则!我们现在提供西班牙语和巴西葡萄牙语版本。

我们网站上的许多材料都分为教程形式。在这里,你可以按线性顺序浏览、观看视频和做练习。这对于我们的数学内容非常有用,你看到许多中小学生都在使用它。正如我之前所说,我们正在跟踪大量数据,以便为学生和教师提供更好的体验。

可汗学院正在尝试改变我们对教育的看法。因此,我们可以为教师提供关于学生如何理解内容和进步的见解。你可以看到他们在哪里遇到困难。

我们想要改变“传统”模式,即老师走进教室,就某个材料向学生讲课,并假设每个人都处于同一水平。它假设每个人都具有相同的起点,但通常情况并非如此。有些学生落后,有些学生则远远超前。如果我们有更好的数据,教师可以做出更明智的决定。

一对一教学

我们为教师分解了这些数据,以便他们可以具体跟踪学生在特定时间正在做什么,并分析班级或跨班级的学生情况。他们不再需要进行一般的讲座。现在变成了“好的,现在是数学时间。你设定你的目标。”

本周,一个学生决定完成长除法。他们可以进行练习并观看视频。老师可以跟踪他们是否遇到困难,然后进行有针对性的讲座。如果有四个学生在长除法方面遇到困难,老师可以为这四个人进行讲座,以加强这些概念,而不是一遍又一遍地对全班做同样的事情。这意味着他们有时间进行更多的一对一教学。他们可以看到谁的理解水平较高或较低。这为教师提供了巨大的洞察力,以便更好地利用他们的时间。

现在有很多学生在使用这个系统:每天超过 300 万个问题!9 月开学初期会出现巨大的高峰——我们达到了 1000 万活跃学生。当然,我想在课堂上教学,但这是一种我可以更好地扩展自己并教授计算机科学内容的方式。根据你的衡量标准,我们有 25 万到 100 万学生在网站上学习计算机科学内容。

可汗学院的计算机科学

我在 2011 年底开始着手 计算机科学平台,并在 2012 年 8 月发布了它。我们迭代了很多次,最终确定了最终的实现方案。这里最重要的是:这是网站的计算机科学部分。我们有很多课程。我的同事 Pamela Fox 正在制作所有内容(视频、练习等)。

我们的课程涵盖到面向对象技术,与计算机科学 101 没有太多重叠,而且要成为“完整”的计算机科学课程还有很长的路要走。你可能还无法从这里出去找到工作。我想鼓励人们,特别是以中学生及以上为目标的人,找到编程中最让他们兴奋的事情,并将其应用到他们的生活中。

向人们展示编程如何帮助改进科学、生物学或艺术。我希望我们的计算机科学平台不仅仅培养计算机科学专业的学生,而是让学生能够做他们喜欢的事情,并用编程来帮助他们做得更好。会编程的艺术史学家。会编码的人文学科人士。传统上不重叠的学科之间的交叉融合。这很难,但这是我想看到的。

为所有学科编码

谁熟悉 GitHub(许多人举手)你可以编辑代码、fork 代码、上传代码,并对原始代码进行更改。同样,我们在可汗学院提供的功能是制作程序。有人听说过 Flappy Bird 吗?有人在可汗学院内重写了这个游戏

我们尚不允许外部图像,因此你在这里在计算机科学网站上看到的任何内容都是绘制出来的。所以,有人制作了这个游戏,一个我不认识的学生。到目前为止,它获得了 700 多票和 1600 多个“fork”,我们称之为衍生品。这些都是已制作内容的变体。看起来它们大多都差不多。只是“flappy bird”的颜色略有变化之类的。学生们正在获取代码并对其进行修改。这个程序已经有超过 1000 个衍生品,或者以某种方式克隆或修改的程序。排名最高的衍生品本身有 113 票,并且有超过 100 个自己的衍生品!这是一个非常不同的协作环境。人们制作东西并从中学习。

可汗的协作环境

我想基于开源模式进行构建。我希望代码成为中心和焦点,而不仅仅是显示图形内容,即使它不是编程练习。

我们与 NASA 建立了合作伙伴关系,我们正在进行大量的模拟工作。其中一项是让着陆器进入轨道并着陆。这真的很难。虽然这不是必需的,但我还是想展示代码。对太空感兴趣的人可以查看模拟,看到它,然后说“嘿,这是如何工作的?我如何才能了解更多?”我可以进入并修改模拟,将其保存为我自己的衍生品,并进行任何我想做的更改。这就是我们在这里采用的模式。

MinecraftCut The Rope 风格的游戏,这些在这里总是很受欢迎。有人制作了一个绘画程序。你无法真正保存“状态”,所以在程序结束时,它会吐出一大堆文本,你可以将其复制粘贴到程序中以重新创建你的绘图!

学生适应、修改和改变

学生们已经找到了绕过我们系统的方法。这种“元”编程和活动正是一切的意义所在。学生们甚至正在成立俱乐部。他们会在评论区闲逛并互相聊天。社交群体正在形成。

学生们也倾向于提出很多要求,并经常请愿很多事情。通常你会在几乎每个页面的顶部找到一个。经常被要求的一件事是支持播放声音,我怀疑学生会滥用它。(观众大笑)我喜欢学生自己发现事物。他们从中学习到的东西往往会更深入地扎根。他们为此感到更加自豪。

这一直是我的心血,实时注入 JavaScript 代码,这样你就可以将“状态”注入到正在运行的代码中。我觉得这是值得的。你获得了更引人入胜的体验,并且可以在事情发生时对其进行操作。你不必等待程序重新启动。即使在我们输入代码时,程序仍在运行!它运行得非常好。

我们可以记录所有操作、击键和说的话。我们可以回放命令和音频。我们经常使用视频,但我不认为它们非常适合计算机编程。你希望学生做的是获取一些代码,暂停它,并更改内容以自行弄清楚。

我们曾经有一些非常糟糕的解决方案,我们会暂停 YouTube 视频并重新生成代码,但我们已经达到了这一点。现在,你可以暂停、进行更改,然后在点击播放时,它会恢复代码,并从你离开的地方继续。

我们现在也有交互式字幕,这样如果你听力有障碍,或者你想要所说内容的文字记录,你可以获得它。我们现在也开始将这些翻译成其他语言(我们正在努力翻译音频)。

所有执行这些操作的能力都由浏览器技术提供支持,例如 HTML5。我们从 Amazon S3 获取内容,并且效果出奇地好。

我向你展示了数学练习,其中学生会得到一个数学问题,他们输入答案,然后他们会得到“正确或错误”的结果。这对于数学来说还可以,但对于编程来说不太适用。学习编程的有效方法实际上是编写代码。我希望学生们编写代码。这比录音更进一步。我们基本上是在向你展示要编写什么代码,并在此基础上,他们可以将其变成自己的东西。从基础知识可以制作出更复杂的程序。

我要提到的一件事是,很多代码都是开源的,并且在 GitHub 上可用。如果你有兴趣做出贡献,所有代码都在那里

我们今年夏天构建了一个名为 Structured.js 的框架。我们认为它非常酷。你可以为你希望学生编写的代码定义一个粗略的结构,然后分析代码以查看它是否与结构匹配。我们解析学生代码,将其转换为语法树,并将其与我们的语法树进行比较。

我们在前端使用 jQuery,以及 backbone.js 和 Facebook 的一个新框架,名为 react。它非常疯狂,我认为你应该看看。我正在慢慢习惯它。在后端,我们在 Google 的 App Engine 上使用 Python。有时我们会出现在 60 Minutes 节目中,流量会在一两个小时内激增,然后又会降下来。Google App Engine 处理得非常好。

我想我就此结束,并回答大家可能有的任何问题。关于我在可汗学院所做的事情的问题,当然还有关于 jQuery 的问题。(观众笑声)

问答环节

问: 在 Structured.js 中,事物的书写顺序重要吗?

答: 在这里的具体情况下,它强制你先写 'if' 语句,然后再写循环,所以是的。像这样的工具肯定可能被滥用。这就是为什么我们有如此详细的提示。我们将结构本身作为提示提供。这是比视频更进一步的东西。他们可以随意命名他们的变量,我们不在乎,这比大多数类似的系统都好。这相对较新,但学生们喜欢它,并且他们正在大量使用它。

问: 你正在浏览器中进行这种教学,这很好,但是在可汗学院是否有任何“下一步去哪里?”的资源?

答: 我们有一篇文章叫做 “下一步学什么”,我们在其中引导学生学习教程和文章、要做的项目、一般的 Web 开发以及其他语言资源。在这一点上,我们不是所有人的所有东西,但我们希望成为发射台。这是你的第一次尝试,然后你就可以从那里出发了。

问: 结构都是 S3 和 Google App Engine 吗?

答: 是的,都是云托管的。S3 用于文件托管,视频通常从 YouTube 拉取。我们没有任何物理服务器。这就是现在“在未来”的美好之处,我们不需要任何这些。(观众笑声)

问: 这个名字的历史是什么?

答: 它是由 Salman Khan 创建的。他在网站上制作了许多视频。我们也有其他教授和专业人士制作内容,但他做了大部分。它最初是他的 YouTube 频道,旨在帮助他的表弟学习数学。它变得越来越大,直到达到一百万人左右。

问: 你们如何审核所有内容?可能会有潜在的负面内容,对吗?

答: 我们有一个系统,人们可以“标记”内容,这会将其放入审核员队列中。一旦收到三个标记,它就会被自动审核,然后可以由审核员重新批准。我们还没有遇到任何太糟糕的事情。它自 2012 年以来一直在运行。实际上,问题不在于程序,而在于评论……大惊喜!(观众笑声)曾经有“派系”的中学生在评论区争斗。我们一开始很担心,但这实际上还没有发生。我们禁止外部图像,只允许我们提供的图像。我们有一个学生编写了一个程序,将图像转换为对矩形函数的多行调用以重新创建它。如果我们找到一种禁止某些东西的方法,学生们总会找到绕过它的方法。他们主要做的事情是张贴他们最喜欢的宝可梦的照片。

问: 可汗学院最大的技术挑战是什么?

答: 实时的东西非常重要。过去一年的国际化工作非常困难,但困难的方式不同。不是“我们如何扩展”的困难,而是“理解跨文化问题”的困难。他的平台面临的难题之一是使其能够让年轻学生理解正在发生的事情。我们举办了一个完整的暑期学校,并进行了大量的游戏测试。我们每周都会收到不同的批次。他们会获得暑期学校学分,我们会收到错误报告。我们拿着笔记本在那里,并通过 JSHint 运行所有内容。我们试图提供更直观的错误,但这并不是一个明确的技术问题。

问: 你谈到了在评论中形成的“俱乐部”,我想知道你愿意在伪社交方面走多远?是否有计划扩展到不同的语言或其他类型的编程?

答: 是的,在某些领域。我立刻想到的一个领域是人文学科。我最初没有想到这一点,但是当你制作这些程序并构建创意作品时,你会花费大量时间,并且你希望人们能够协作。这可以发生在写作、诗歌、艺术、音乐等所有这些在线教学没有模型的领域。拥有用于作曲的五线谱和节拍器,并实时听到回放将是很好的。更好的是为其他人进行实时 fork 和编辑以进行协作。更及时地获得关于学生构建的项目的反馈是一个目标。

我们唯一想要扩展的其他语言是 HTML/CSS/JavaScript。JavaScript 的巨大优势在于它可以原生运行,你不需要来回传递它。目前,我们将坚持使用浏览器原生语言。

问: 可汗学院是免费的,对吗?你们现在是如何赚钱的,你认为未来会有什么变化吗?

答: 我们由捐款资助。比尔和梅琳达·盖茨基金会、卡洛斯·斯利姆基金会等。有很多兴趣和资金,我们不像其他教育创业公司那样——你向教师、学校或学生收费。我不想从学生的口袋里抠钱。为了增加收入,我们与在商业环境中使用我们内容的人签订了合同。

我们确实有很多工作,大量的实习机会。整个计算机科学平台是由我和实习生共同构建的,所以如果你想和我一起工作并构建酷的东西,请加入我们。

 


本文基于 http://ejohn.org 的工作。

 

标签
User profile image.
在 Fedora 项目中,Remy 担任社区行动和影响主管,为发行版的用户和贡献者基础带来更多活力。

1 条评论

为什么提到 Flappy Bird(它违反了规则)和衍生品(人们认为它们是原创程序,因为他们没有看“基于”)?相反,你可以提到另一个游戏,比如 <a href="http://www.khanacademy.org/cs/falling-pixel/1053970737">这个</a> 或 <a href="http://www.khanacademy.org/cs/a/1106141208">这个</a>

本作品根据 知识共享署名 4.0 国际许可协议 获得许可。

© . All rights reserved.