编程与在线教育

程序员思考的很多问题其实是具有一般性的,生活中的“程序”是普遍存在的,比如烧菜,又比如接受教育,在这些程序中虽然没有程序员 coding,但是他们都遵守一定的流程,程序员干的事情本质上也是为计算机实现某个任务设计一套流程,流程的合理实际上会影响到系统的性能。这里想讨论一下一些分布式系统和在线教育上的关联。

实际上教育的模式有很多种,这里指拿出两种模式来分析:

  • 老师每学期开课,在指定的地点和时间出现,并将准备的内容表述出来,形式主要是口述,身体语言,板书,幻灯片,不排除有的课程甚至到课外区域进行一些活动。学生需要进行注册,在开课时间出现在教室,课后需要完成一些作业并提交给老师或者 TA 进行评分。老师和学生在课上课下可以进行交互,比如问答,闲聊
  • 另一种形式类似讨论班,讨论的话题由老师选择或者学生自己寻找,课上少数几个人对话题进行主导性的谈论,并且与其他人进行问答

这种教育形式的一个问题是“同步”行为太多,可能会降低个体的效率:

  • 老师和学生必须同步出现在教室
  • 问答必须同步,而且一个人问,其他人即便已经明白了也得等待

另外即便使用 video 进行存档也有一些问题:看 video 的人会看到以往 video 里面一些无用的内容,仍然是同步的问答,尽管事后你可以通过剪辑的形式获得一个较为干净的 video。

Courcera 上的课程
Coursera 上的课程

那么我们是否可以通过异步的形式来解决以上同步的设计带来的问题呢?我们看第一个模式:

  • 老师事前录制传授的 video,学生什么时候需要看什么时候完成对 video 的学习,这解决了同步出现在教室里面的设计
  • 在视频播放的时候将有意义的问答(学生针对某段视频提出后,老师进行的回答,并通过学生类似 stack overflow 类似的系统将问答进行 ranking)展示给正在观看的人,他可以有选择的暂停播放浏览问答

问答的异步行为从某个角度来说是好的,每个人可以选择自己有空的时间解决这些问题;从另外一个角度提问者可能觉得没有能立即获得反馈。但这并不是一个很严重的问题:一方面存在大量的历史问题供其参考,另一方面可以要求教授方设立一个 SLA,比如一星期内给予解答,或者设立专门的 office hour 进行同步的解答。其实做作业这个事情本来就是异步的,在线教育上甚至可以进行一定程度的自动化。但是考试这个历史上就是同步的行为就比较难以异步化,一方面同步的要求可以降低作弊的机会,另一方面希望给参与者一个“相对公平的”环境。某些考核可以通过异步的行为完成,如撰写论文(因为主观性强,抄袭很容易发现),但如果主要是客观题也许仍然可以通过传统的形式来进行同步在线的实现(抄袭由于存在因果律,数据录入上可能能分析出来断言抄袭的 pattern)。

讨论班形式实际是一个高度同步的行为,因为有限的讨论时间里,很可能只能同时解决一两个人的 presentation,在线讨论班可以极大的为每个参与个体提供更多表达的机会:因为每个参与者可以同时独立的开始准备自己的材料,并独立的将自己准备的材料上传到课程在线论坛上,这样其他的参与者就可以在任一时刻进行阅读和讨论,好的材料会导致较多的讨论,而准备的较差的很可能不会被太多的人关注,通过 peer review 和 supervisor 的评判,很容易在一学期里进行远比经典设定情况下更多的 iteration,评判的标准也能更加多样化和合理,比如要求每个学生至少完成一次 presentation,成绩取若干次 presentation 的加权和,这样一次失败的人有机会在前面的 feedback 上进行改进。

这样做的难度是在于所有的参与者必须拥有同等的设备为自己的 presentation 准备内容。实际上从某个某种意义上来说,这部分可能发生在教育之前。

一个能清晰认识到系统中这些同步、异步设计的程序员很可能也能变革一些传统的程序,从这个角度来说学习分布式系统之类的东西还是很有一般性意义的。

coursera 现在提供的模式可能还是比较经典的讲授型流程,对于传统课堂上的一些东西整合的还不够,O2O 的路还有很长啊…

——————
I will pass through all thy flock to day, removing from thence all the speckled and spotted cattle, and all the brown cattle among the sheep, and the spotted and speckled among the goats: and of such shall be my hire.

Advertisements
编程与在线教育

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s