数据结构c语言版 数据结构MOOC实践

[2018年12月07日 10:53] 来源: 中国大学教学 编辑:小编 点击量:0
导读:陈越 何钦铭摘要:笔者掌管的浙江大学“数据结构”MOOC课程已在爱课程网“我国大学MOOC”、网易云讲堂上开设。本文针对“数据结构”MOOC课程近一年的开课实践,总结剖析了MOOC课程规划及施行进程中最要害的三个方面的经历:内容规划、视频制造、课程施行,并剖析了该课程在爱课程网“我国大学MOOC”和网易云讲堂两次开课的

陈越 何钦铭

摘 要:笔者掌管的浙江大学“数据结构”MOOC课程已在爱课程网“我国大学MOOC”、网易云讲堂上开设。本文针对“数据结构”MOOC课程近一年的开课实践,总结剖析了MOOC课程规划及施行进程中最要害的三个方面的经历:内容规划、视频制造、课程施行,并剖析了该课程在爱课程网“我国大学MOOC”和网易云讲堂两次开课的部分统计数据,据此对在线教育存在的问题进行了评论。

要害词:MOOC;在线教育;DIY;实践教育;PAT

一、导言

跟着人类社会进入网络时代,以大规划敞开在线课程(MOOC)为代表的依据互联网的在线教育方式正敏捷构成对传统教育的冲击。如李晓明在《慕课》一书中所界说:MOOC应该是“主讲教师担任的,经过互联网敞开支撑大规划人群参加的,以讲课短视频、作业操练、论坛活动、布告邮件、查验考试等要素交错的,有必定时长的教育进程”[1]。尽管其间说到的各个要素看似在传统教育特别是传统远程教育中都有包含,但由于“对参加者学习进程无监督”这一特性,使得MOOC的教育办法与传统办法比较,面对着更大的应战。本文是两位笔者依据自己在爱课程网“我国大学MOOC”和网易云讲堂这两个渠道开设MOOC课程一年多时刻的亲自实践,总结剖析互联网环境下在线教育课程的施行经历,包含:教育内容规划、短视频制造、互动与实践辅导等方面的内容。

“数据结构”是计算机科学与技能专业、软件工程专业乃至于其他电气信息类专业的重要专业根底课程。它所评论的常识内容和发起的技能办法,不管对进一步学习计算机范畴的其他课程,仍是对从事大型信息工程的开发,都是重要而必备的根底。“数据结构”课程所应该培育的高档程序规划与算法剖析才干不仅是学生进一步进修的潜力表现,也是用人单位选拔优异毕业生的重要方针。

课程要求学员在把握数据结构底子概念和底子办法的根底上,能够针对具体求解问题规划适宜的数据结构和算法,并具有选用程序规划言语完结的才干。其间,一个重要意图是,协助学员了解一些经典的数据结构为什么存在以及在什么状况下能够最好地处理什么样的问题。针对课程教育方针和在线课程的方针特色和学习特色,咱们在MOOC课程规划和施行时,要害考虑:(1)内容怎么安排,以满意不同方针的学习需求和碎片化的学习特征;(2)视频制造怎么更有招引力,能杰出问题求解思路以及不同办法的特色;(3)教育进程怎么施行,特别是怎么加强实践才干培育和协作式学习,不断激起学习者的热心和动力。

为了促进学员自己着手编程实践、处理问题,一个功用强壮的实践教育渠道就是必不行少的支撑。另一方面,由于MOOC的教育施行与查核都是在无监督的状态下进行,现在尚无有用技能手段确保查核成果和证书获得者与课程完结人具有可信的对应联系,所以MOOC的学习成果很难得到用人单位(包含高校与企业)的充沛注重。美国的MOOC安排者(如Coursera、edX等)是经过线下有监督的考试来颁布更有参考价值的证书,但其规划遭到人力资源(阅卷教师)的约束。一个有监督的、由主动判题体系支撑的线上考试将能够部分处理上述问题。本文也将介绍笔者在渠道建造方面所做的部分作业。

二、碎片化的教育规划

MOOC与传统教育的一个很大的不同在于,传统教育中学生是被安排在一起学习的,各种教育环节的“有安排性”十分强,构成了强壮的外在驱动力。在这种前提下,即便教育办法单调板滞,即便学生的内涵动力不被激起,也能够在必定程度上用外力“推”着学生们向前走。而且同一教育环境中学生的年纪和根底布景类似,也使得教育内容的安排较简略共同。

而MOOC的学员来自社会各界,具有跨度很大的年纪层、天壤之别的根底布景、形形色色的学习意图,在各自内涵动因的唆使下,集合到同一门课程中学习。这种安排办法下构成的内聚力比校园中专业的内聚力弱许多,所以教师有必要尽力让自己的课程发生满足大的招引力,“吸”着学员们向前走。而招引力最首要的根底,就是课程内容的安排。

由于互联网让各种信息的获取变得越来越简略,各种针对人类注意力的心理学研讨标明,过多信息耗费了承受者的注意力,导致信息碎片化成为不行避免的趋势。MOOC课程教育规划面对的首要问题就是,怎么运用碎片化的信息为学员供给体系化的常识。传统讲堂要求的按45~50分钟安排的教育内容,在MOOC中有必要被更详尽地整理、切分,成为每个6~10分钟的矮小视频——这使得学员能够随时随地充沛运用自己业余时刻的零散碎片,在注意力最能有用会集的时刻区间里进行学习。一起,碎片化的教育内容安排也简略满意不同学习者的学习方针。

例如:在“数据结构”的第一次课上,咱们需求讲清楚两个底子概念,即“什么是数据结构”以及“什么是算法”。在传统讲堂上,咱们大约别离需求花32分钟和23分钟完结教育,而且最终花20分钟经过解说一个具体的运用实例来协助学生更感性地知道了解这两个笼统的概念。而在MOOC上,一段长达32分钟的理论教育视频足以令绝大多数学员封闭视频窗口,由于他们比传统讲堂里趴在教室后排呼呼大睡的学生多了随时拔电源的自在。为了习气学员碎片化的学习习气,咱们有必要把这三大块内容进行更详尽的切分,如表1所示。

这种碎片化规划的要害是环绕课程的教育方针进行“自顶向下”的内容规划:整个课程需求区分哪些专题(相当于“章”),每个专题下又需求区分哪些主题(相当于“节”),每个主题又是怎么引进问题、怎么打开、怎么经过比方强化以及怎么收敛等等。每个主题下具体的内容就能够由一系列相对独立的短视频来完结。

注意到咱们着重应该规划6~10分钟的短视频,是由于有不少心理学研讨标明,成年人的“倒U型注意力曲线”在峰值邻近持续的时刻长度大约为6~10分钟[2]。但这并不是说咱们有必要把一段杂乱的、不行能在10分钟内讲清楚的内容硬性压缩成10分钟,或许不吝损坏内容的完好性也要切分。这个“6~10分钟”的规则仅仅提示咱们,应该知道学员在这样一个时刻段邻近会呈现注意力不会集现象。教师能够经过发生额定的影响——比方俄然改换语调,或许在视频中刺进一个发问(“我国大学MOOC”和网易云讲堂都供给在视频中刺进发问的功用,视频播映会在发问后暂停,学员有必要答复了问题后才干持续播映),哪怕是开一句打趣,到达将学员的注意力拉回到峰值水平的意图。例如表1中列出的10段短视频中就刺进了6处发问。endprint

碎片化内容规划的另一个注重点,是为根底不同、学习才干不同的学员供给不同层次的协助。例如咱们在课程中除了有惯例的授课内容,还规划了“小白专场”,针对根底比较单薄的学员,具体解说部分操练题的C言语程序完结细节。而这一部分又细分为三个进程,即:问题的了解和算法思路、程序结构的树立、要害细节的完结。学员在这个逐渐细节化的进程中,有或许依据自己的了解才干在任何一个环节茅塞顿开,退出视频开端自己着手实践。而这种教育作用却是传统的讲堂难以到达的。

三、重实效的朴素制造

MOOC的制造办法多种多样,有奢华的,也有朴素的。依据咱们的了解,决议学员去留的要害因素,是课程内容的安排和教师教育的技巧,至于视频制造的专业技巧、声响和画面的质量等等,则归于如虎添翼。不过,从实践状况看,与画面比较,声响的作用更大,因而一个好的话筒是MOOC视频制造的要素。

在个人有限的精力和教育作用之间权衡之下,咱们挑选了注重实效的DIY朴素制造计划,即选用简略的“居家”制造设备,彻底自己着手,乃至没有动用任何助教,就完结了悉数138段视频的录制与后期制造。

咱们制造视频的首要东西有:具有录制短视频功用的相机(配三脚架和遥控器)、麦克风(配三脚架、调音台)、补光灯、视频修改软件。事实上,真实重要的东西就是相机、麦克风和视频修改软件。当室内天然光线满足时,恰当调大相机ISO能够底子到达专业补光灯的作用。

由于后期制造是自己着手,所以录制进程能够比较天然,不用强记台词。缺陷是后期制造假如精雕细镂,则需求花费较多时刻编排。编排的要害,并不在于制造出多么炫意图视觉作用,而在于牢牢把握住对学员视野以及思路的引导。

视野引导是影响听众注意力的一种办法。在传统讲堂上,教师能够经过在讲台上移动以及丰厚的肢体言语引导学生的视野改变,用教鞭等东西指引学生跟从自己的思路。在MOOC视频中,能够经过人像的动作、课件放映中鼠标箭头的移动以及视频修改软件供给的高亮、笔画等功用到达相同的作用。至于人像和课件呈现的份额、频率究竟应该多少为宜,其实并无必定之规,要害点是:尽或许在屏幕上坚持改变。切忌让一个充满了文字的、彻底停止的画面持续若干秒钟。

思路引导较视觉引导更为重要。咱们的课件规划是极简风格的,对一切课件中动画的规划,原则上是对考虑进程的展现;而一切无助于此的元素,都不用呈现,以节约学员下载课件的时刻。例如,在展现一个杂乱算法的伪代码时,并不是一次性将悉数伪代码放映出来,再逐行解说其功用——这是计算机履行的进程,并不是人类考虑的进程。咱们会从全体思路下手,先依据算法流程展现出代码结构,再逐渐演示结构内各个模块的细化进程,必要时辅以实例的动画演示。

四、教育进程中的互动与实践

关于习气于在讲堂上与学生频频互动的教师而言,MOOC在师生互动方面具有显着的缺陷。不过,各大渠道都供给了多种补偿的办法,如:视频内刺进发问、视频间刺进查验、学员评论区等。充沛运用这些东西,也能够在必定程度上到达较好的互动作用。

视频内刺进发问在第二节现已说到,等价于教师在传统讲堂上抛出一个较为简略的问题,等待学生在短时刻内给出反应。这样做的意图并不是调查学生对常识的把握,而首要是影响学生的注意力,将或许开端松懈的思想拉回到主题。MOOC在这方面乃至或许到达比传统讲堂更好的作用,由于讲堂上总有松懈的学生底子不睬会教师的问题,往往只需少量活跃的学生答复;而MOOC中一切在看视频的学员都会被打断,有必要进行一些考虑才干持续。

视频间刺进查验则是有传统讲堂无法到达的杰出作用。当一个常识点解说完结,及时的小查验能够十分有用地协助学生查验自己的听课作用。而在传统讲堂中,频频的查验不仅对教育进展形成担负,而且添加教师课后修改的作业量,成果反应也不能做到十分及时。MOOC支撑在任何一段视频完毕后,刺进一个小查验,由体系主动判题,即时给出成果。学员经过这样的查验,能够查看自己对前一段视频中要害内容的了解程度,及时发现问题,还能够重复观看学习。

评论区是讲堂的延伸。咱们充沛运用评论区功用,在每次课后安置了一些评论论题,这些论题多为视频解说内容的深化延伸,供学生课后考虑评论。例如在介绍完平衡二叉树之后,提出“是否能够用左右子树结点数差来衡量二叉树是否平衡”;在介绍了图的两种遍历办法后,要求学生“试比较DFS和BFS的长处和缺陷”等。论题一般在一个主题完毕后发布,最好为生生互动留一段时刻教师再介入,能够点评学生的答复,1~2周后发布参考答案。

关于“数据结构”这种实践性比较强的课程而言,还有一个十分重要的环节,就是着手实践。现在各个MOOC渠道关于程序规划类课程的实践支撑较弱,而遍及各大高校的在线裁判体系(Online Judge,简称“OJ”),其初衷是为参加ACM大学生程序规划比赛的学生而树立,普遍存在几个问题:

(1)标题类型单一。一般OJ只支撑比赛类型的编程题。

(2)标题难度偏大。由于面向的用户是各校顶尖的参赛选手,所以标题多为比赛型,即触及常识点的综合性很强,但缺少针对单一常识点的根底练习标题,也无显性的常识点相关。

(3)判题进程为黑盒查验,很难强制学生有必要运用某种指定的数据结构处理问题。例如最常见的问题是,妄图调查链表处理底子功的标题,底子上都能够用数组处理。

(4)判题办法苛刻。一般为0/1式,即经过悉数查验用例可得到满分,不然零分。这种办法对初学者冲击较大,而且从教育的视点考虑,区分度也较差。

(5)教育管理功用短缺。OJ的风格是直接面向自我练习的学生,并不考虑教师的参加,因而绝大多数OJ不具有教育安排功用。

针对上述问题,咱们联合网易公司开发了“程序规划类试验辅佐教育渠道”(英文名“Programming Teaching Assistant”,简称“PTA”,网址:http://pta.patest.cn/),作为根底程序规划类课程、数据结构、算法剖析等课程的试验渠道,免费向全国高校教师敞开。现在渠道中有判断题、挑选题、程序填空题、函数题、编程题共千余道,并具有以下特色:endprint

(1)面向教师,供给命题、安置作业/考试、成果一键导出等底子教育安排功用。

(2)标题具有灵敏的课程常识点相关,便利教师依据教育进展安置针对单一常识点的强化练习,也能够相关多个常识点规划综合性标题。

(3)标题有难度符号,便利教师安排不同强度层次的练习。

(4)函数题、编程题按查验用例评分,具有杰出的区分度。

(5)查验用例供给“要害提示”,当教师注意到大多数学生都不能正确经过某些查验用例时,能够敞开针对该用例的提示,对坚持初学者的决心会有协助。

这儿特别值得一提的是“函数题”的规划。函数题要求学生严厉依照标题给定的接口描绘,完结具有指定功用的函数代码。这类题意图长处是练习要害杰出,能够让学生注重杂乱算法的中心流程,而不用纠结于输入输出的格局处理或是曾经现已练习过的简略函数的重复完结。例如要完结“最小生成树”的Kruskal算法,咱们需求用到最小堆和并查集。这两个结构都现已在学习“树”的进程中练习过,且编程量较大,但仅仅Kruskal算法的辅佐东西。假如不想让学生在辅佐东西的完结上花费太多时刻,教师就能够将这个练习出成函数题的方式,由教师准备好最小堆和并查集的功用函数,学生只需在树立最小生成树的进程中调用即可。另一方面,函数题由教师规则接口,就使得指定数据结构成为或许。例如要练习处理链表的才干,只需规则链表结点的结构,并规则函数传入的参数为链表头指针即可。

五、课程施行数据及考虑

迄今咱们现已先后在爱课程网“我国大学MOOC”和网易云讲堂两个渠道上别离开设了一个完好学期的课程,表2列出了部分统计数据。

总体上看,如大多数MOOC课程相同,对证书有爱好的学生占比很低,这与咱们在评论区与学员互动得到的印象是底子共同的。部分学员表明,注册课程只为看其间某一章节,作为讲堂学习的弥补;别的也有学员表明自己的意图是应对IT业求职的书面考试和面试等等。一个重要的原因,或许是MOOC的教育施行与查核都是在无监督的状态下进行的,所以证书没有得到用人单位的充沛注重,考取证书的必要性不大。

咱们自2011年8月起创办了计算机程序规划才干考试(Programming Ability Test,简称PAT),选用分级式在线考试及主动评测办法,客观地查核考生的算法规划与程序规划完结才干。现在在全国18个省/直辖市设置了考点,有包含谷歌、微软等“国际500强”企业以及百度、网易、阿里、腾讯等96家知名企业签署协作联盟协议,承受将PAT查验成果作为衡量应聘人员程序规划才干的规范(划定分数线、供给介绍信),遭到考生和企业的欢迎。咱们也将到达PAT甲级考试浙江大学计算机专业学生平均分的成果作为MOOC课程优异证书的规范,现在有2位学员承认得到了优异证书。

另一方面,从开课阶段和结课阶段的参加人数比较来看,也表现了MOOC学员的特色:大多数人在没有满足外力唆使的状况下,十分简略抛弃。在此咱们不断反省自己的教育办法,还有很大的提高空间。两次开课之间,咱们所做的比较重要的调整首要是两方面:一是将课时从10周延长到12周;二是弥补了部分程序完结的源代码。做这样的调整,首要是依据第一次开课得到的反应,发现学员的学习才干差异巨大,咱们需求弥补更多细节协助不同层次的人跟上进展。从数据比较来看,第2次开课尽管选课总人数下降,但坚持的人数百分比略有上升。这使得咱们持续添加了“小白专场”系列以及评论题参考答案系列,以加大对根底单薄学员的协助力度。笔者著此文时,本课程正在“我国大学MOOC”渠道上再次开课,而且现已招引了2.4万余名学员注册学习。后期尽力的作用尚有待查验。

参考文献:

[1] 李晓明. 慕课[M]. 北京:高等教育出版社,2015.

[2] 露西·乔·帕拉迪诺. 注意力曲线:打败分神与焦虑[M]. 苗娜译. 北京:我国人民大学出版社,2009.

[责任修改:余大品]endprint