精彩演讲 | 国防科技大学王怀民教授:从MOOC到MOOP
作者:    浏览:13554

2018年中国高校计算机教育MOOC联盟峰会11月17-18日在京盛大召开。本届峰会由教育部高等学校计算机类专业教学指导委员会,教育部高等学校软件工程专业教学指导委员会,教育部高等学校大学计算机课程教学指导委员会,教育部高等学校动画、数字媒体专业教学指导委员会,教育部高等学校教学信息化与教学方法创新指导委员会,中国高校计算机教育MOOC联盟主办,中教全媒体承办。国防科技大学王怀民教授以《从MOOC到MOOP》为题作了演讲。

国防科技大学王怀民教授

现场演讲内容整理

各位老师各位领导,大家上午好!很高兴有这个机会能够谈一谈我们最近围绕着MOOC和MOOC如何体现计算机的特殊需求所做的一些工作,我谈三个方面的问题。

教育创新是始于问题的,我们计算机MOOC的实践,乃至于在线教育的实践面临一些重要的问题。今天是MOOC大会,我首先从MOOC谈起。

MOOC的浪潮给我们计算机教育带来了什么呢?或者首先给中国教育带来什么?刚才宋司长做了非常精辟的总结,晓飞也对MOOC联盟这五年做了精辟的总结。我想成就非常显著,最突出的是留下了一批MOOC课程,由于这个MOOC课程承载的教育思想的变革,承载了教育资源的有效传播,对人群的影响,所以有很多重要的MOOC课程带来的成就。

我今天的报告主要想跟大家汇报的是,我们在计算机在线教育方面,慕课教育方面,还面临什么样的问题和瓶颈,我想这个问题,既是老问题,也是新问题。刚才徐晓飞老师列了90多门课,我看了一下,几乎所有课程都是计算机实践类的课程,也是我们今天推动计算机人才培养,解决问题最需要关注的实践能力。比如说程序设计能力如何形成的?算法设计能力如何形成的?问题求解能力是怎么形成的?软件开发能力是怎么形成的?靠听课行吗?

我们说听课很重要,但是实践更重要。我想刚才宋司长讲话当中特别提到了,未来要推动微实践,虚拟仿真实践,如何使得能够在线的从事实践,这是我们计算机在线教育,或者慕课教育,未来需要解决好的一个紧迫的现实问题。

因为我们知道能力的培养,不是靠老师就能教得出来的,需要创造一个环境,让学生在实践过程中通过“学、做、练、悟”逐步形成的,甚至不同的学生有不同的实践能力,需要在这样一个环境上,让学生展现出来,成长出来,表现出来。同时这个实践能力不是一次性铸就的,是不断循序渐进、长期实践、不断探索的过程。所以,能力的培养单靠老师,或者一些助教这个资源是不够的,还需要更多的资源来支持学生实践能力的培养和成长。

我们今天的教育,学生的实践能力是怎么培养的呢?老师再加上实践教材,这是我们比较典型的。在教室中进行的,再多一点大学有信息化,在局域网环境中做的,我们老师对实践能力这件事情非常困惑,基本上老师的作为,就是看学生的造化。看实践课占据老师很长时间,我们今天看到实践课的实践对象,就是一个班的学生,是相对封闭的,提供资源相对有限的,仍然是教材和老师,施展的空间也是有限的,老师在大学的信息空间里面完成的。辅助的手段还是以离线为主,我们哪怕在有慕课以后,也无法摆脱实践教学的困境,或者说束缚。

我们还能做什么呢?我觉得MOOC的实践,给了我们推动实践教学的改革以启发。我这里面提了一个新的词叫MOOP,对于我们计算机的课程,还可以叫Program,或者是Project,因此我们如何大规模开放课程,和大规模开放实践,今天MOOC有一个重要的特点就是随堂测试。计算机的随堂测试和其他的课程很相似,把今天讲什么叫抽象,什么叫虚拟化,什么叫算法,什么叫程序设计,把老师讲的概念,在下面给几个选择题,这个是培养不出实践能力的。能不能提供一些在线就能进行的实践的作业呢?有没有可能呢?而且是大规模开放在线的实践,有没有可能呢?实际上在计算机发展过程当中,开源社区是最早孕育了MOOC的实践模式,它比我们大学信息化的平台还要早,比我们MOOC的实践还要早。

比如说从开源这个名称出来之后,我们说上世纪末,source forge,以及被微软收购的平台GitHub,都可以和慕课紧密联系在一起,开放大规模实践的有效平台。这个里面有成功案例的,比如说大家知道,当年在赫尔辛基大学,老师上一门课,让学生做小的操作系统,这里有一个学生,大家都知道他是林纳斯·托瓦兹,他在里面做了这件事情,按照今天来讲,似乎有点偷懒,做着做着,在网络上喊了一嗓子,大家愿意和我一起做吗?居然就有那么多人参与去完成了Linux开源软件,不仅是开源软件,开源还带来了一个新型的软件产业,代表性公司redhat用Linux代码挣钱,IBM和微软都是传统软件产业的巨头,居然把挑战传统软件挣钱模式的开源产品和生态平台给购买了。是不是值得我们对开源软件产业引起足够的关注?还需要我们教育界对这个事情的高度关注。在这个过程中出现了林纳斯·托瓦兹这样的人才,从学生开始,在项目实践中成长出来的新一代的产业领袖精英,这是不是我们今天教育主动要做的事,这就是我今天跟各位领导和老师交流的看法。

今天,这就需要在云模式和平台下,支持两个空间,一个是开源创作和生产空间,以及能够帮助学习者和创业者随时部署接受反馈的一个运行与服务空间,这两个空间合在一起,就使得我们今天能够高效低成本地实现大规模开放在线实践。它的过程大概是这样,有一个核心团队,这个核心团队可以是老师发起的一个实践项目,可以是我们一个同学发起的一个创业项目,也可能是已经存在于开源空间里的一个核心项目。这个项目完成以后,就可以在我刚才说的运行与服务空间上部署发布,让更多的人去体会和评价你所做的这个软件,究竟怎样。

比如说以前高校很火的课程表服务,这样一个软件,不知道它现在去哪了?那个小伙子当年是一个创业明星,你就做一个全部大学的课程表放在上面,做完了以后,大家喜欢吗?部署上去,有云服务大家都可以去使用。这就进入到开源的空间,大家可以去体验,可以分享,可以吐槽,甚至拿到它的开源软件进行修改,再一次完成这样一个迭代过程。这个就是开源实践大规模开放实践活动,这个活动能不能够、需不需要自觉的引入到大学教学实践中,甚至和我们MOOC连在一起呢?我觉得是有必要的,是有可能的,是卓有成效的。我们可以做什么呢?让大学的所有实践课程,在这样一个体系下,走进大学,就像今天的慕课走进大学一样,进入到软件生态中开展实践,让我们一年级学生就可以读到好代码,让二年级的学生就可以学习到好的技术,让三年级的学生就可以用高级的工具,让我们四年级的学生就可以创建项目。当然整个这个过程在一年级就可以开始。也就是我们今天有了MOOC,MOOC是什么呢?是施教者把他的课程放在一个课程学习平台上,让学习者使用,未来我们希望有这样一个服务平台,使得学习者又是生产者,又是创作者,在这样一个实践的平台上,大规模开放在线实践的平台上,和整个产业生态联系在一起,完成学生在校的实践学习,这件事情我们分析开源的实践,是绝对可能的。

那么我们应该怎么做?下面我结合我们课题组,在过去十年的科研实践,在过去五年基于这个科研实践的成果,支持大学大规模开放在线实践的成果,向各位老师谈一谈,构建这样一个平台的思路和平台建设初步的情况。软件工程教育在于实践。

首先介绍一下我们这个成果,十年前,我们关注到开源对软件开发技术的影响,发起了称为叫Trustie的项目,我们称为软件开发群体化方法,这个方法简单来说,干了三个连接的事,第一个连接是核心团队和互联网上大规模涉众的连接。第二个连接是把开源空间里面的软件创作活动,和企业内部的软件生产活动连接起来,第三个连接是把开源空间的创作活动,所产生的软件作品和市场需要的软件产品连接起来。怎么连接呢?我们提供了三个重要的支持机制,一是大众化协同,二是开放式共享,三是持续性评估。关于这个技术,我就不一一展开了。也是2015年获得了国家的技术发明奖的成果,一会儿我留下网址,大家可以体验。我讲一下过去五年,我们如何支持大规模开放实践所做的工作,做进一步解释。

基于这样一个群体化软件开发方法,我们推动了产学融合的模式。也就是让学生在大学的群体学习活动和未来走向社会的群体生产活动,连接在一起,使得产业领域,或者整个开源生态里面产学资源和在大学的学习任务,以及在开源空间的产生所谓的创作的制品连接在一起,使得这个体系融合为一体。各位老师,这个是具有丰富的想象空间的,对于我们教育推动的改革,是有丰富想象空间的。我们似乎和产业的结合,要到了四年级,要到了研究生阶段,实际上不是这样的,这个课程一开始就可以做。我们提供这样一个基于网络的大规模的云基础设施,使得我们所有教学活动,比如说一年级,刚才周老师,讲的计算机基础,一年级新生进来,在这个平台上要做程序编译部署执行,所有这些都由这个云平台支持,这个教学活动的组织,是基于Trustie这个平台,建立共建共享的软件实验的教学平台,在这个上面教师和学生创建了一系列的所谓的实训项目。刚才也提到了和企业联合,未来企业也要创造一系列的实训项目,发看看学生能不能做?不一定,学生如果做了,就是这家公司,以最低的成本选择到了最优秀的员工,在大学学习期间,在它的学习实践中,就可能被发现了。我特别强调了,把选择人才的成本,放在学生学习期间,这个是各个企业非常愿意做的事情,大家知道过去企业选准一个人才,成本是很高的。

在这样一个平台下,我们可以支持和MOOC相联系的智慧的课堂平台,这些作业可以和课程联系在一起,和MOOC学习联系在一起,可以和毕业设计联系在一起,可以和他的专业技能联系在一起,所有这些课程,不光是MOOC资源,老师授课所有资源,学生实践的所有资源,都可以在这个平台上得以留存并实现共享。有了这样一个,我们刚才提到的Trustie的成果的大众化协同实践,开放式资共享和持续性可信评估,我们就可以支持项目持续有序推进,在MOOC实践中可以和实训项目联系在一起,MOOC学习完了以后,实训项目可以伴随这个学生在校学习的所有时光,甚至可以伴随这个学生离开学校的创业历程,甚至可以伴随这个学生的职业生涯。从什么时候开始,从大学的第一天他所学习的计算机课程开始。他留下了痕迹,就在这样一个平台上完成。

在这个平台上,学生可以做什么?一年级学生,我特别强调要阅读代码,评价好的软件,可以参与开发,可以使用已经发布的工具,同时创建有创意的项目。下面结合Trustie已经提供的功能,给大家做一个简要说明,比如说怎么读好软件,怎么评价一个好软件,首先找到一个软件,这个软件怎么找到的呢?通过这个平台提供支持,现在这个平台上已经汇聚了将近400万个项目,以及在开源社区的1400万关于软件项目的评论,汇聚在这个平台上,给了很好的搜索工具,可以找到相应的项目,比如说你要搞机器学习研究,你就可以在这个平台的排行榜上,找到排行榜最好的机器学习项目,也可以找到这个排行榜上所谓的最好的团队,去学习,这些数据是怎么来的呢?是因为大规模开放实践,在这个平台上留下的数据,使得这个推荐引擎,或者搜索引擎,能够把大众的实践所形成的意愿数据,形成涌现和汇聚。找到好项目,就可以很好的读软件,读软件怎么读,老师让学生读软件,我怎么评价的,在我们这个平台上提供一个平台阅读的,软件阅读的平台,叫Codepedia,一年级选软件,平台会给代码摘要,老师会问这个摘要说的准确吗?他必须要读代码,读完代码以后,要在这个平台留下对这个代码的功能性能,以及设计技巧,或者说表达的算法的表述,这就是学生留下的痕迹和作业,批注,这个批注就可以作为老师评价这个学生读代码的效果,比如说这就是我们在平台上学生留下的评注的效果,这个评注效果有什么好处?可以反过来调整自动摘要软件的摘要效果。各位老师好好体会一下,是不是这样?

更进一步,我们可以用学生留下的作业的评注,作为搜索到好代码的搜索的入口,也就是评注留下多了,我们找代码会更准确。更进一步的我们可以让若干个代码分析工具,比如说代码分析工具,可以分析你这个代码有什么不良的习惯,这个代码留下什么隐患,然后把这个东西变成一个问题,说这个代码有一个指针没有赋初值,有危险,你看哪一个指针,这个学生就得看代码,这个问题是软件分析工具出的,学生得答出来这个问题,不懂能答明白吗?答完以后,这个指针的悬空可能不是要害问题,反过来给代码分析工具工程师修改他的代码分析的分析结果会提供帮助。因此我们说这样一个阅读平台,不仅可以考学生读代码,大家都知道,我们所有受过代码训练的计算机人员,都觉得老师讲课是一方面的学习,但后来自己提高最大的是读了一个好代码,跟踪一个好项目,这个最重要。

做完之后跟踪这个项目,到发布平台上使用这个项目,在它的开发空间里去品头论足,因此你可以去评价这个软件,评价这个软件既是考核学生对这个软件的使用的理解力,也是这个项目获取需求的重要时机。有了这样一些需求反馈以后,这个项目的管理者,可能是一个高年级的学生,就可以启动它的项目管理工具,把有价值的评论,比如说应该是某一个东西的升级,纳入到它下一个开发的里程碑当中去,这就是我讲的创作活动和生产活动的衔接,就可以推动这项工作。

我们一个同学有了这些感觉以后说,我说了半天的这个问题,核心团队怎么还不给予改进,我现在有本事了,我要自己做,没问题,你可以Fork,在这个平台上复制这个平台发布的资源,到你的私有空间里面自己去修改,修改完了以后,这个代码质量怎么样?你可以寻找一些工具来检查你的代码,比如说代码分析工具,自动测试工具,完全是在这个学生自主的空间里,对它所关注的项目进行一次全程的修改,修改完了以后,他可以做一次Pull Request,相当于做一次投稿,说你这个功能我做的特别好,也做了测试和分析,你不信上部署的平台体验这个功能,就可能被采纳,这就是学生可以参与一个非常有名的工程的实践,在这个平台上我们提供了很好的支持。概括一点讲,我们这个平台可以对一本书当中,老师创作的所有作业建一个项目,提供支持,可以对某项职业技能培训做全程的支持,可以对创业软件项目做一个支持,乃至于这个学生离开学校以后的创业提供支持。

创新实践始于足下,我简单讲一讲,我们的实践过程,在这个过程当中,现在已经有600多家高校参与其中,计算机学会、中国开源推进联盟,绿色机损产业联盟,乃至教指委都给予这项工作很好的支持。

在五年来的实践当中,已经在这个平台上覆盖了八类有3600多种技能点的实训体系得到部署,有若干个程序语言支持这项实践工作。这是国防科技大学开展的实践工作。国防科技大学,现在大学计算机基础类的课程,是成功的实践课程,作为一个专业课学院,现在开始推进公共基础课的教学,大学基础究竟应该怎么做,计算思路怎么教,48学时,让学生第二节课就开始做实践,第二节课就用编译环境和调试环境做程序,所有这些活动都在云上完成的,学生所有的犯的错误都在云端,对于工具和支持,都是有价值的工具,对于老师和学生评价的情况,都是有价值的数据。这项工作也在不断的共享,在这个月底,计算机学会的系统专委和软件工程专委,将开会,交流相关的成果,大家有兴趣可以参加,23、24号在深圳举行的计算机软件与应用的专委会的年会,去进行交流。

做了这项工作以后,这些数据留下了,就可以对学生的学习活动进行评价,大家说学生的实践活动,大规模开放实践活动怎么评价?一样留下了数据,就可以对学生的实践活动进行评价,这个细节我也不展开了。目前我们还和中国高校绿色联盟的计算大赛,在一起推动这个活动,绿色联盟是通过ARM生态形成的联盟,他们希望在这个联盟上把ARM生态体系,让学生做出贡献形成能力,未来形成一批支持中国自主可控的基础软件和芯片的生态发展,成为生力军。

有了这个工作,因为数据留存在平台上,老师可以用这样的教学数据,对学生的课程学习,毕业设计实习的情况进行评价,对它的专业学习的效果进行评价,对企业在大学实训活动进行评价,并且选择人才,更重要的是这些数据留下以后,我们教育部推动的计算机相关专业的工程认证,也可以基于这个平台获取对这个大学相关数据的采集和评价使用。以后专业认证,老师再也不用做数据上这个平台看看就清楚了。因此这件事情对于推动智能+教育,应该怎么做,在实践,在MOOC这个环节上,MOOC+MOOP环节上,有很大的施展空间,一方面可以通过学生的实践数据提升软件的智能水平,我们知道软件工具要改变,必须要软件大数据,在今天看来。同时软件工具提升以后,会对实践教学活动提供更有力的支持,比如说刚才提到的,软件标注怎么出题,就可以用工具来做,等等一系列的问题,有很美好的愿景。

因此我最后对这件事情做一个小结,刚才司长提到,我们未来推动的是智能,不光是智能专业,而且说智能怎么支持实践教学,怎么支持教育改革,我们说群体智能,对于我们软件的产学平台的升级,更好的智能化将是一个重要的支持。什么是群体智能呢?我们说群体智能是群体使能的人类智能+群体大数据使能的人工智能,什么叫群体使能的人类智能呢?开源软件,众包,是典型的群体使能的人类智能,大家都知道这个智能比我们每一个人的智力水平都高。同时在这个活动中留下了人类行为的产学活动的数据,这个数据又留存在大数据空间里面,通过机器学习,利用这些数据通过机器学习,可以推荐更好的项目,可以推荐更好的软件代码,它凭什么能推荐呢?是因为我们学生写作业留下的批注数据,今天计算机凭什么能够翻译,能够识别各种图像,是因为历史上留下了大量的评价数据,因此我们在计算机里面,也有这种可能,因此这样一种联合将使得我们计算机的MOOC教育和MOOP教育,和大学在校园里的教学活动,乃至于走出校园的实践活动,提供更加智能化的支持。这是我今天和各位老师和领导汇报的有关情况,请大家批评指正。

谢谢大家!

(整理:中教全媒体 付安然)

本文作者:

1、本文是中教全媒体原创文章,转载此文章请注明出处(中教全媒体)及本文链接。
2、本文链接:http://www.cedumedia.com/i/21212.html
3、如果你希望被中教全媒体报道,请发邮件到 new@cedumedia.com告诉我们。

来源:中教全媒体

参与讨论 0

评论前必须登录!