技术文章及通讯

使用MATLAB教授波士顿大学一年级工程学生编程

波士顿大学的斯托米·阿特维博士


在我教书的20年里工程计算概论在美国,我们使用了几种不同的语言,包括Pascal、Fortran、C和c++,但这门课程基本上没有改变,直到最近,一个工程学院的工作小组开会重新考虑了课程目标。

来自电气和计算机工程系的教师发起了这一变化,他们告诉委员会,他们希望所有学生都能使用MATLAB学习基本的编程概念®这样学生就可以在他们的高级课程和更高级别的课程中有效地使用MATLAB。

bu_collage.jpg
从左到右,从上到下:Attaway博士讲解for-loops,学生演示风力涡轮机数据收集项目,学生在黑板上用MATLAB解决问题,课程教科书,学生在实验室与Attaway博士合作,波士顿大学的工程大楼,学生创建的MATLAB图来比较DNA样本。

一些教师最初犹豫不决,认为这是MATLAB和入门编程之间的选择——没有意识到MATLAB具有所有必要的编程结构。

乍一看,生物医学工程专业的学生只需要知道如何有效地使用MATLAB,计算机系统工程师只需要知道编程概念,但在今天的工程领域,这两种技能都是至关重要的。另一个需要考虑的问题是,在学习MATLAB之前学习低级语言(如c++或Java™)的学生往往使用MATLAB效率不高,至少在开始时是这样。他们不使用代码向量化技术和MATLAB内置的许多强大函数,而是依赖于-loops和其他低级结构。这种方法不仅需要更长的时间,而且得到的解决方案通常没有针对性能进行优化。金宝搏官方网站

由于这些原因,在工程计算概论我们决定采用独特的方法,同时教授编程概念和内置函数,使用MATLAB作为两者的载体。每个学期,所有工程学科的约200名工程专业学生学习如何在MATLAB中使用变量、数据结构、循环、条件、函数、输入和输出以及其他编程概念,以及如何有效地使用MATLAB解决工程问题。

直接进入

当我使用c++教授这门课程时,我面临的最大障碍之一就是如何让学生开始学习。关于如何打开适当的代码编辑器并开始输入,我不得不给他们一份两页的单倍行距讲义,我花了整整一节课的时间来讲解基本的设置步骤。

使用MATLAB,学生可以直接进入;他们在命令窗口中输入命令并立即看到结果。没有任何恐吓。对于编程新手来说,这比其他语言所要求的编辑-编译-执行-调试周期要容易得多,也更有动力。

第一堂课不再讨论如何使用开发环境,现在我可以讨论赋值语句、变量、表达式、运算符、优先级和向量。

当学生们能够以新的方式想象结果时,他们也会受到激励。我在本学期早期讲过MATLAB绘图,因为使用对学生来说,用循环来创建图形和图表要比反复打印字符串有趣得多。

课程结构

这门课程是基于我的书,MATLAB:编程和问题解决的实用介绍.它包括每周两次一小时的讲座,每次讲座之后是一个半小时的计算机实验室。周末一小时的非正式讨论为学生提供了更多的提问机会。

在讲座中,我重复5到10分钟的演讲过程,展示一个使用MATLAB的例子,然后让学生解决一个问题。讲座过去在计算机实验室举行,学生们直接在MATLAB中解决问题。然而,我发现,当他们使用笔和纸来思考问题而不是立即编写代码时,他们学得更好。(出于同样的原因,测试以书面问答形式给出,而不是在MATLAB中给出。)在每节课之后,他们在实验室中使用MATLAB解决更高级的问题,这使他们有机会立即应用他们刚刚学习到的抽象概念。

结对或三人一组,学生在课程中完成三个项目。这些项目比我在实验课程中给出的更复杂,旨在让学生了解各种工程学科如何使用MATLAB解决实际问题。我通常每学期都会从每个工程学院的院系中挑选一个项目。最近的项目包括用于涡轮叶片质量控制的图像处理,检测图像差异,指纹识别,用于传热应用的有限差异,以及用于癌症检测的弹性散射光谱。

超越基本编程概念

MATLAB对学生来说非常容易使用和学习,我可以覆盖我们过去使用其他平台所覆盖的所有基本编程概念,再加上大量的数学和基本问题解决,包括线性代数、曲线拟合和统计分析的介绍。

MATLAB也使我能够尝试新的教学方法。例如,在一个暑假的课堂上,学生们使用乐高积木®MINDTORMS®NXT系统和MATLAB构建机器人,并编程它们导航障碍课程。最近,我们在风洞中设置了一台台式风力涡轮机,并使用MATLAB收集和分析数据,进行曲线拟合,计算产生的功率,并进行模拟。

积极的反馈

在与大二和大三学生的公开会议上,我们一遍又一遍地听到他们对在波士顿大学的第一年学习MATLAB感到多么高兴。我也从工程学院那里听到了对这门课程的积极评价。我正在与几位教授合作,进一步将MATLAB整合到工程课程中。例如,我们计划在线性代数和工程力学课程中更广泛地使用它。

在我听到的唯一抱怨中,有几个高年级学生选修了c++版本的课程,他们希望自己有机会学习MATLAB(后来以广受欢迎的周六教程的形式为他们提供了MATLAB)。

用MATLAB教授编程概念产生了一些我们预想到的优势,也有一些我们没有想到的优势。我们希望可视化、交互式的MATLAB环境能够吸引学生并帮助他们学习新概念。事实证明,MATLAB也让他们对这些概念有了更透彻的理解。例如,许多学生通常很难理解嵌套循环的概念。当我们学习矩阵运算时,我将通过遍历MATLAB文件来演示如何在MATLAB中实现这些运算。学生们可以看到嵌套循环是如何工作的,以及它们为什么工作。许多人感到惊讶的是,一个最初很难的概念现在对他们来说如此简单。

在工程教师中有一个常见的误解,即使用MATLAB教授计算课程意味着放弃编程概念。这根本不是真的。我们在波士顿大学已经证明,您可以在用户友好的MATLAB环境中传授编程技能、高效编码和基本问题解决方法。

作者简介

斯托米·阿特威博士是波士顿大学工程学院的助理教授和课程评估与改进主任。Attaway博士持有南卡罗来纳大学(University of South Carolina)的地质学学士学位,波士顿大学(Boston University)的计算机科学硕士学位和计算机科学、应用数学和工程学跨学科博士学位。她是那本广泛使用的教科书的作者MATLAB:编程和问题解决的实用介绍

发布于2010 - 91847v00

下载188bet金宝搏产品使用