技术文章和通讯

利用MATLAB教授文科一年级学生解题技巧

罗伯特·塔尔伯特博士,富兰克林学院


今年春天,在富兰克林学院(Franklin College)参加CMP 150:计算机工具解决问题的学生们并不是那些通常参加MATLAB课程的人。很少有人是工程或科学专业的,更少的人有编程经验。大多数学生都在攻读教育学学位,之所以选择这门课程,是因为它是微积分的先决条件。

虽然学习MATLAB似乎对文科教育没有必要,但使用技术和批判性思维解决问题的能力无疑是必不可少的。我知道大多数学习CMP 150的学生最终会忘记函数名、命令和其他细节,但这并不重要。重要的是他们学会了如何使用MATLAB自己解决问题。

课程的动机

CMP150旨在为学生提供第一年的编程经验,并使他们能够满足我们双学位工程课程的要求。

多年来,富兰克林学院的数学专业学生都被要求学习c++编程入门课程。一些以前的学生告诉我们,如果有更多的应用程序编程经验,他们会受益。许多最近的毕业生指出,虽然他们不会用c++编写软件,但他们经常需要编写快速的、功能性的代码块来解决问题或执行使用电子表格难以完成的分析。

将CMP150加入我们的数学课程,使我们能够对富兰克林大学毕业生的反馈做出回应。它还帮助我们实现了课程修订的一个主要目标:将编程融入更多的课程,包括线性代数、微积分3和数值方法。

CMP 150还帮助富兰克林学院的本科生在印第安纳波利斯的普渡大学工程技术学院(Purdue University School of engineering and Technology)攻读我们的双学位工程课程,这需要在富兰克林学院学习三年,在印第安纳大学-普渡大学-印第安纳波利斯(IUPUI)再学习两年。过去,这些学生在IUPUI上了一门必修的MATLAB课程。在课程修订期间,我们决定创建自己的版本,涵盖与普渡大学课程相同的主题,但与我们的其他课程更紧密地结合。

在Robert Talbert博士的课程中,大多数学生从来没有写过计算机程序,而且几乎所有的学生都是第一次接触MATLAB。拥有范德比尔特大学(Vanderbilt University)数学博士学位的塔尔伯特采用了一种倒置的课堂模式,授课、阅读和作业都在网上发布,课堂时间用于实践实验。他的教学方法是基于这样一个信念:“当你给自己时间玩,给自己时间犯错误和改正错误时,学习计算机工具会更有趣——给自己时间养成计算机人使用的那种专家行为。”

倒教室

CMP 150每周一次,每次75分钟。为了充分利用这有限的课堂时间,我雇佣了一位倒教室模型在这种模式中,学生观看视频讲座,完成在线教程,并在家里完成所需阅读。课堂上的时间都花在动手做实验练习上,几乎没有讲座。这种安排使我能够花时间和学生们在一起,因为他们在每周的作业中分两到三组工作(图1)。虽然学生们花了一些时间来适应这种学习方式,但到了学期末,他们已经提高了一项宝贵的技能:自学和应用新概念的能力。

图1.Talbert博士和他的学生在CMP150实验课上。

视频讲座和教程很容易扩展。在一门由助教支持的课程中金宝app,我提供的一对一关注可以扩展到数百名学生。

MATLAB是这种方法的理想选择。mathworks.com上的入门视频做得很好,非常适合学习MATLAB的基础知识。我在mathworks.com上没有看到任何我觉得可以改进的材料,所以我就保留了它们。随着MathWorks教程变得越来越高级,我每周都会创建自己的关于新概念的视频,学生们在上课前会观看这些视频。进一步的支持可通金宝app过MATLAB获得医生命令,使学生能够直接从命令提示符获得关于任何MATLAB能力的信息。学生们发现他们不需要被告知要输入什么,他们可以通过使用来学习任何他们想要的东西医生并进行自己的实验。

我使用克里夫·莫勒在线教科书中的练习和例子用MATLAB进行实验。否则,CMP150没有必修教材。相反,我建议学生们学习MATLAB和Simulink学生版。我指出,这是一项他们将在本科期间使用的投资。金宝app

宽松到MATLAB

首先,学生发现计算机编程的概念很难掌握。我以他们可以立即联系到的主题开始课程,使用真实世界的数据使它们更有趣和引人注目。因为大多数学生都熟悉绘图,而绘图和可视化数据是MATLAB的一大优势,所以我从这里开始(图2)。

图2.学生生成的MATLAB绘图。

学生们分析从印第安纳州运输部和其他在线资源下载的数据。在一项研究中,他们使用了一个庞大的数据集,其中包括25年来每个月的平均汽油价格。数据采用矩阵形式,以月为列,以年为行。为了创造图表,学生们必须学会如何操纵数据。这个练习是对MATLAB矩阵运算的一个很好的介绍。学生创建一个MATLAB脚本,使用重塑函数访问不同月份的价格数据,并生成这些价格的图表。然后,他们使用这些图表得出有关数据的结论。

本课程的下一部分涉及统计绘图、回归分析和曲线拟合。在微积分课程中,学生们使用电子表格来执行回归,对其中一些主题已经很熟悉了。他们很快就了解到,对于这类工作,MATLAB比电子表格强大得多,提供了更精确的多项式系数和更大的控制。

实验与符号数学

当学生熟悉MATLAB环境并具有绘图、使用变量和运行脚本的经验时,我将介绍基本的编程结构,包括条件和循环。虽然编程对大多数学生来说都是全新的事物,但我鼓励他们去尝试。犯错并改正是学习新技能的好方法。

在一项作业中,学生们编写了一个简单的程序,该程序取一个数字分数并生成相应的字母分数。例如,91分会生成一个a-。我不会引导学生找到一个特定的解决方案,而是让他们自己设计。有些人会被一系列的答案所吸引如果条件句;其他人选择开关声明。当我们在课堂上讨论他们的解法时,他们发现在M金宝搏官方网站ATLAB中有很多方法可以解决同一个问题。

在课程结束时,学生使用符号数学工具箱象征性地解决问题。上个学期,一个教微积分2的同事告诉我,他的一些学生在无穷级数上很吃力。由于那次谈话,我改变了下个星期的计划。我向我的班级展示了如何使用MATLAB脚本计算级数的部分和,然后要求他们使用MuPAD笔记本界面象征性地解决相同的问题,该界面包含在Symbolic Math Toolbox中。这个练习不仅帮助他们理解他们一直在纠结的数学概念;它也提供了一个很好的例子,他们可以如何应用MATLAB和符号数学工具箱在他们的课程以外的CMP 150。

期末考试及以后

期末考试中,学生必须在四个方面展示能力:绘图和可视化、数据处理、数学分析和编程。他们有两个小时的时间使用MATLAB解决每一类中的一个问题。其中一个编程问题要求他们创建一个函数来近似Ex用泰勒多项式。另一种选择是编写一个脚本来生成第一个N斐波那契数列中的数N是脚本的整数输入。我对学生们的考试成绩感到满意;这表明他们在短短14周内就取得了长足的进步。

我们继续将MATLAB集成到余下的课程中。学生们已经在微积分3中使用MATLAB了,我正在与科学和商业部门的同事们合作,以增加他们对MATLAB的使用。学生的反馈是积极的。一些参加过c++编程课程的学生告诉我,他们非常想念用MATLAB编程。许多学生表示,这门课程最有价值的部分是学习如何自己处理一个新概念——如何找到文档或其他信息来源,并坚持下去,直到他们理解它。

批判性思维、获取和理解信息是文科教育的核心智力技能。MATLAB是学生在大学生涯早期发展和磨练这些技能的良好环境。

关于作者

罗伯特·塔尔伯特博士是富兰克林学院数学和计算科学副教授。他拥有博士学位。来自范德比尔特大学,他在那里专攻代数拓扑学。

2011年出版-91906v00

查看相关功能的文章