用MATLAB和MOOC向各地学生教授计算机编程

迈克·菲茨帕特里克(Mike Fitzpatrick)和Ákos Lédeczi,范德比尔特大学(Vanderbilt University)


几年前,我们写了一篇文章用Matlab和电子书向一年工程学生进行教学计算机编程“这是讲述Vanderbilt University的介绍性编程课程的CS 103故事。该课程现在重新编号为CS 1103,因此大小增加了。随着越来越多的学生认识到编程是一项基本就业技能,其受欢迎程度继续增长。

鉴于我们在范德比尔特大学的成功,我们决定通过创建大规模在线开放课程(MOOC),让所有人都可以免费获得这些材料。我们给MOOC命名用Matlab进行编程简介.虽然我们预计它比每年招收的300名Vanderbilt学生达到更大的受众,但参加MooC的数字超越了我们最疯狂的期望。

在第一年提供的三节课中,有超过8万名注册学生观看了200多万次讲座,提交了10万多套习题供评分。在注册的学生中,通过习题集及格而完成课程的人数大约是过去15年在范德比尔特完成课程的总人数的两倍。MOOC目录和学生评论的管理者Class Central表示,用Matlab进行编程简介在2015年的最佳在线课程列表中排名第二,在撰写本文时,第五位在网站上有6,000名MoOC中排名第五。

为什么用MATLAB教授计算机编程?

用Matlab进行编程简介是一个介绍性的大学课程,教授学生如何应用计算机科学的原则,词汇和构建,以解决Matlab的科学和工程问题®

许多覆盖介绍性编程的MOOCs使用诸如C ++,Java等通用语言®, Python®.我们决定使用MATLAB,因为它是通用的,容易学习。此外,该语言的设计使得用几行代码就可以编写出强大的程序(图1)。虽然问题可能比较复杂,但解决这些问题的MATLAB程序要比用通用语言编写的等效程序简单得多。最后但并非最不重要的是,MATLAB被广泛应用于各种领域,包括自然科学和金融,以及工程,它在工业中被大量使用。许多学生被我们的MOOC所吸引,仅仅是因为它使用MATLAB。

图1.在Matlab中绘制的视频讲座,演示了如何使用两行Matlab代码创建一个螺旋的3D图。

创建视频讲座

该课程提供了40多个视频讲座,涵盖矩阵和运算符、函数、绘图和调试、选择(条件语句)、循环、数据类型和文件输入/输出。根据主题的不同,讲座的长度从几分钟到近一个小时不等。在这些课程中,我们鼓励学生查阅MOOC的电子书,我们强调,学生通过实践而不是观看来学习编程最好。尽管如此,我们还是花了相当多的时间制作视频,因为我们希望讲座尽可能吸引人,信息量尽可能大。

我们在很大程度上依靠多年的课堂教学经验来克服所有教育者在制作教学视频时所面临的挑战:即,我们不了解我们的观众,我们不能在教学时观察他们的反应,我们在课堂上得不到即时的反馈。此外,我们必须考虑到我们的目标受众的多样性,不仅包括大学生,也包括中学生和大学毕业生。

在视频中,我们缓慢地浏览课程材料,并尽可能清晰地展示想法(图2)。我们还加入了幽默,希望为讲座增添生活气息。事实证明,这本身就是一个挑战:当你不知道观众是否会笑时,在一个安静的演播室里对着摄像机讲笑话需要勇气。值得庆幸的是,这方面的反馈都是积极的。这些评论很典型:“我喜欢他的幽默感。”“他也很有趣,能使你全神贯注。“老师很幽默,让我保持微笑,享受课程!”至少他们在微笑!

图2。菲茨帕特里克教授正在做关于MATLAB数据类型的视频讲座。

事实上,这些视频总体上受到了学生们的好评。一位总结了许多学生共同主题的人说:“我很欣赏这些视频看起来多么干净、流畅和专业,也很感激你们的解释非常透彻和清晰……每个视频对我来说都有‘啊哈时刻’。”对科学家来说,顿悟的时刻很少,这对我来说很重要。”

开发任务和自动成绩

每一个特定主题的系列视频讲座之后都有分级作业。总共有6个作业,每个作业有8个问题,学生必须通过编写MATLAB程序来解决。随着课程的进行,作业变得越来越有挑战性。例如,在最后一组中,学生们被要求编写一个将罗马数字转换为阿拉伯数字的函数,以及另一个计算保龄球分数的函数。

我们很早就意识到,成千上万的学生提交了成千上万的问题集,不可能手工给所有的作业打分。为了解决这一挑战,我们在MATLAB中开发了一个自动评分系统,一旦学生准备测试完成的作业,它就会提供即时反馈。作业可以直接在MATLAB中完成,也可以使用MATLAB在线通过网络浏览器完成。对于每个作业,学生写一个MATLAB函数来解决一个问题。

在开发MATLAB中的函数后,学生使用自动化成员检查每个,该分级为一系列输入检查功能的输出。除了测试学生解决方案的功能之外,GERGER还可以确保学生遵循对其解决方案的某些限制。例如,在逻辑索引分配上,我们不允许使用为了要么循环。评分员扫描提交的代码以执行这些规则。

就像学生对视频课程的反馈一样,对作业的反应和评分系统都是积极的。正如一个学生所说,“这些作业很好地测试了一个人对这门学科的理解。”另一位评论道:“作业是这门课最好的部分。这些任务细致、精确、富有挑战性,足以让你留下深刻印象。”

自2016年初以来,Fitzpatrick博士和LedeCzi博士已通过Matlab Online作为其MooC的平台。

“我喜欢MATLAB在线,”Fitzpatrick博士说。“自从25年前我开始使用MATLAB以来,这是我见过的最令人兴奋的添加。它为我提供了我在研究工作中所依赖的强大功能,而我们MOOC的学生几乎可以立即获得同样的功能。你只需要一个浏览器和一个登录,在不到一分钟的时间里,你就可以使用最新版本的MATLAB进行云计算了。”

建立在线社区

MooC成功的最终关键因素是当课程进展时聚集在一起的学生和志愿者的在线社区。我们MooC的Coursera论坛举办了关于讲座材料和问题集的动画讨论。一系列社区教学助理(Coursera的导师)在一天中的所有时间都接受了自己的问题,并自愿帮助测试和改进自动成绩。最繁忙的导师在论坛上贡献了超过1000个帖子。两个MathWorks工程师还定期检查论坛并回答了关于Matlab安装和Matlab环境的问题。

我们每天都查看论坛,但经常发现当天所有学生的问题都已经得到了同学、导师或MathWorks工程师的回答。我们只是对这个在线社区的回应、耐心和慷慨感到惊讶。

下一个步骤

目前,我们已经连续第二年开办MOOC课程。我们更新了一些课程,制定了一套全新的作业。一些去年修完这门课的学生告诉我们,他们今年又要修这门课了,因为他们想要挑战和享受做新作业的乐趣。

有这么多学生告诉我们,他们对MOOC帮助他们实现目标的方式感到非常高兴,在注意到我们的MOOC在2015年仅次于第一名,排名第二之后,幸福和满足的生活,我们被诱惑对我们的课程进行最后一次修改:将其名称更改为幸福与满足编程与MATLAB!

确认

我们要感谢我们奉献和不知疲倦的课程导师,Brandon Armstrong, Kate Brady, Lee Lafferty, Aatish Kumar, Réal Labrie, Paul Mielke和Matt Tearle。我们感谢MathWorks提供的学生许可和资金支持,感谢Vanderbilt Institute for Digital Learning (VID金宝appL)提供的视频制作和其他后勤帮助。

关于作者

迈克·菲茨帕特里克是范德比尔特大学计算机科学荣誉退休教授。他在大学任教35年,教授计算机科学29年,用MATLAB教授计算机编程11年之后,于2011年退休。他持有the University of North Carolina at Chapel Hill的物理学学士学位和计算机科学硕士学位,以及the Florida State University的物理学博士学位。他在计算机辅助手术研究中使用MATLAB已有20多年。

Ákos Lédeczi是范德比尔特大学(Vanderbilt University)计算机工程教授和计算机科学研究生研究主任,他在那里用MATLAB教授计算机编程已有8年时间。他持有the Technical University of Budapest的电气工程硕士学位,以及Vanderbilt University的电气工程博士学位。他的研究兴趣包括模型集成计算和无线传感器网络。

发布于2016 - 93056v00

查看相关功能的文章