技术文章和通讯

教计算机编程一年级工科学生用MATLAB和电子书

由迈克尔·菲茨帕特里克和阿尔卑斯山脉Ledeczi,范德比尔特大学


范德比尔特大学的电气工程和计算机科学系计算机编程提供了一年级课程超过30年。像其他大学类似课程,内容总是由计算机科学专业的需要。这种一刀切的方法未能参与许多工科学生,因为工程师和计算机科学家的方法编程与不同的目标。虽然工程师通常创建他们将使用自己的程序,计算机科学家通常由非程序员创建项目使用。

今天在范德比尔特,我们使用MATLAB®跨越工程和计算机科学之间的鸿沟。MATLAB为解决问题提供了一个通用的系统,但它也是一个动态编程语言,可以用来学习和教全面的计算机科学概念条件和变量递归和面向对象编程。

帮助一年级工科学生学习与MATLAB编程,我们开发了一个苹果®电子书相结合原则、词汇和计算机科学与工程的方法解决问题的交互式格式(图1)。使用电子书作为一门课程的教材开发MATLAB技术早在工程课程,从而能够覆盖更多的材料在上层需要MATLAB编程的工程课程。

图1所示。计算机编程与MATLAB电子书。
图1所示。计算机编程与MATLAB电子书。

介绍在范德比尔特大学的计算机科学

多年来,CS 101:编程和解决问题已经使用各种语言的教学,包括Fortran, Pascal, C, c++, Java™。

2000年,为了解决工程学生经历挫折CS 101范德比尔特工程学院的决定基于MATLAB提供了一种选择。首先,虽然许多部门主管承认,MATLAB是最好的语言练习工程师和科学家,他们可以理解的怀疑,它将支持编程构造教的数组金宝appCS 101。之前他们会允许他们的专业课程基于MATLAB,他们不仅需要确保MATLAB提供的分支,循环,和函数调用也结构、递归和pointers-everything所需编程入门课程。

在一个特殊的教师会议,迈克尔提出理由选择MATLAB为新课程。他引用从五大公司工程师赞扬MATLAB,帮助他们变得更加高效,实现时间减少“从一个星期到15分钟”和“从几个月到周。”他引用一个汽车工程师的声明,MATLAB是一个事实上的工业标准。他指出MATLAB在传统的第三代语言的许多优点解决工程问题。例如,教他们怎样一种常见的工程操作,矩阵乘法,在MATLAB实现与单个语句(X = Y * Z),对比,在C语言中的等价,这需要一个容易出错的,三重循环。最重要的是,他承诺的教师新课程将涵盖所有的主题CS 101

2001年1月,学校提供CS 103:入门编程工程师和科学家,25个学生的极限。25位立即填满。院长办公室安排课程在学校最大的教室,把所有人。上课开始的时候,68名学生被录取。第二年,有111人。

创建电子书

第一个挑战CS 103是找到一本教科书,包括MATLAB结构、递归和指针。没有被发现,而且,没有可用的MATLAB书使用标准计算机科学术语在描述MATLAB语言本身的特点。迈克尔选择了他所能找到的最好的书在MATLAB,史蒂文·j·查普曼MATLAB编程工程师,写了补充材料填写丢失的部分。

几年后,工作和研究生助教约翰Crocetti,他扩大了辅料的教科书。他最初的分布式介绍用MATLAB编程在网上,一章一章地进行。在随后几年,这本书提供了作为一个PDF文档在每个学期的开始。

在2012年,我们抓住了一个机会写一个新的、更新教材作为一个电子书,使它与iPad设备提供给学生。除了比传统的教科书更便携,苹果电子书提供了几个其他的优势。首先,它可以很容易地更新,包括新材料和反映了MATLAB的最新版本。其次,动画和视频可以包括,帮助学生理解抽象和复杂的主题与运动最好的说明。的CS 103电子书有很多视频,包括一个展示动画曲面图,另一个显示在一个链表中插入一个新节点(图2)。

图2。电子书视频中的一个节点链表的插入。
图2。电子书视频中的一个节点链表的插入。

我们小心翼翼地提供一致的、公认的定义中使用的所有计算机科学方面的课程。当学生遇到一个新词的电子书,用一个点击,他们可以看到一个定义,跳到术语表,甚至切换到浏览器并在维基百科上阅读更多关于这个词。他们可以做笔记,突出文本,在MATLAB和复制代码片段(图3)。


图3。学生选择注释显示代码复制和文本突出显示以供稍后查看。
图3。学生选择注释显示代码复制(蓝色)和文本高亮显示为以后回顾(绿色)。

许多学生使用MATLAB移动™iPad上尝试新的编程概念,他们学习。MATLAB移动使他们能够执行脚本和命令通过MATLAB会话运行在云(图4)。学生可以使用此功能的校园宿舍里或其他地方,释放他们不必访问计算机实验室或随身携带笔记本电脑尝试新的想法。

图4。MATLAB在iPad上移动界面。
图4。MATLAB在iPad上移动界面。

编程概念覆盖着CS 103

让学生没有编程经验的速度,我们开始CS 103为期两周的介绍可视化编程,从麻省理工学院媒体实验室使用抓环境。简化的教训后,我们告诉学生们,是时候开始真正的编程中,我们遵循主题的电子书。

之后引入MATLAB环境,包括矩阵和运营商,我们教过程式编程,开始与一个教训的功能。学生学习的重要性,定义良好的接口以及如何使用函数来创建可重用的软件组件。在接下来的几周中,我们将介绍选择(也称为分支)使用如果开关语句、循环、数据类型和文件输入/输出。然后我们来看一个更深入的函数,引入函数具有数量可变的参数和递归。

课程涵盖了线性代数,包括MATLAB反斜杠(\)操作符和不一致的、超定的和欠定的方程。最后的课程涵盖搜索,包括顺序和二进制搜索,排序算法,包括选择排序和归并排序。

CS 103最后一个项目的学生中学到的概念运用在整个学期。过去的项目包括数据处理和分析Twitter在MATLAB和计算所需的力弹弓火箭在木星的太阳系为例。

CS 103今天

CS 103现在一年级土木的必修课程,化学、机械、生物医学工程在范德比尔特大学的学生。课程科学专业等非工程学生中也很受欢迎,和大约四分之一的200多学生每学期的课程作为选修课。

除了在学生中越来越受欢迎,这门课程已经获得工程教师跨部门的批准。因为学生现在学习MATLAB在第一年,教授阶课程时不再需要浪费宝贵的课堂时间MATLAB基础教学。事实上,我们量身定做课程,以满足其他教授范德比尔特的需求;例如,文件输入和输出的教训,电子书有一个关联的部分,增加了基于教师的建议。

至于电子书,深受学生好评。一个学生说,“我真的很喜欢课本。一开始简单和容易理解的例子和进步在每一章更具挑战性。评论很有趣,和功能的这一章真的帮了我实践的概念。很高兴在线解决方案的一半是容易。金宝搏官方网站图形和图像也很好,容易理解。最后,我感谢电脑版本的教科书,这使它容易携带。使我的课堂更加有趣。”

CS 101、工程学生感觉不适应课程面向计算机科学家。在CS 103,不再是这样。他们显然享受过程,结果,努力工作和学习更多的知识。

关于作者

迈克尔·菲茨帕特里克是范德比尔特大学(Vanderbilt University)计算机科学的名誉教授。他在2011年退休后35年来学院教学水平,教学为29年计算机科学,计算机编程和教学与MATLAB 11年。他收到了物理学学士学位和计算机科学硕士学位从北卡罗莱纳大学教堂山分校,并从佛罗里达州立大学物理学博士学位。他在研究使用MATLAB计算机辅助手术。

阿尔卑斯山脉Ledeczi副教授计算机工程和软件集成系统研究所高级研究科学家在范德比尔特大学,在那里他一直与MATLAB计算机编程教学五年了。他拥有电气工程硕士学位从布达佩斯的科技大学,范德比尔特大学电子工程博士学位。他的研究包括model-integrated计算和无线传感器网络。

2013 - 92151 v00出版

查看相关文章的能力