培养CMP 150的学生:在富兰克林学院解决问题的计算机工具,这个春天不是通常采取Matlab类的人。很少有工程或科学专业,仍有更多的编程经验。大多数人正在追求教育学位,并正在进行课程,因为它是微积分的先决条件。
虽然学习MATLAB似乎对文科教育没有必要,但使用技术和批判性思维解决问题的能力无疑是必不可少的。我知道大多数学习CMP 150的学生最终会忘记函数名、命令和其他细节,但这并不重要。重要的是他们学会了如何使用MATLAB自己解决问题。
课程的动机
cmp150的创建是为了在学生的第一年提供编程经验,并使他们能够满足我们的双学位工程课程的要求。
多年来,富兰克林学院的数学专业是介绍C ++编程课程。几位前学生告诉我们,他们将从更适用的编程经验中受益。许多这些最近的毕业生指出,虽然他们在C ++中写软件时,它们通常需要写入快速,功能块的代码来解决问题或执行难以使用电子表格进行的分析。
在我们的数学课程中加入CMP 150使我们能够对富兰克林学院毕业生的反馈做出回应。它还帮助我们实现了课程修订的一个主要目标:将编程集成到更多的课程中,包括线性代数、微积分3和数值方法。
CMP 150还帮助了富兰克林学院的本科生,他们在印第安纳波利斯的普渡大学工程技术学院注册了我们的双学位工程项目,该项目要求在富兰克林学院学习三年,在印第安纳大学-普渡大学-印第安纳波利斯(IUPUI)学习两年。过去,这些学生在IUPUI上的是必修的MATLAB课程。在我们的课程修订期间,我们决定创建我们自己的版本,涵盖与普渡课程相同的主题,但与我们的其他课程更紧密地结合在一起。
倒立的课堂
CMP 150一周仅举行一天75分钟。充分利用这个有限的课堂时间我雇用了倒课堂模型。在这种模式下,学生可以观看视频讲座,完成在线教程,并在家里完成要求的阅读。课堂时间用于实践实验练习,几乎没有讲座。这种安排让我花时间与学生工作组织的两个或三个每周任务(图1)。尽管学生花了一些时间来适应这种学习方式,到学期结束的时候他们已经完善的技能:学习并应用新概念的能力。
视频讲座和教程很容易可扩展。在教学助理支持的课程中,万博1manbetx我提供的一对一注意力可以扩展到数百名学生。
MATLAB是这种方法的理想选择。mathworks.com上的入门视频做得很好,非常适合学习MATLAB的基础知识。我在mathworks.com上没有看到任何我觉得可以改进的材料,所以我就保留了它们。随着MathWorks教程变得越来越高级,我每周都会创建自己的关于新概念的视频,学生们在上课前会观看这些视频。进一步的支持可通万博1manbetx过MATLAB获得博文
命令,使学生能够直接从命令提示符获得关于任何MATLAB能力的信息。学生们发现他们不需要被告知要输入什么,他们可以通过使用来学习任何他们想要的东西博文
并自己尝试。
我使用的练习和例子来自Cleve Moler的在线教科书与MATLAB实验.另外,cmp150没有必修教材。相反,我建议学生学习MATLAB和Simulink学生版。万博1manbetx我指出,这是一项投资,他们将在整个本科阶段使用。
宽松到MATLAB
起初,学生发现计算机编程概念难以掌握。我从主题开始课程,他们可以立即联系,使用真实世界数据使它们更有趣和引人注目。由于大多数学生熟悉绘图,并且绘制和可视化数据是Matlab的巨大优势,我从那开始(图2)。
学生分析了从印第安纳州交通部和其他在线来源下载的数据。在一次练习中,他们使用大型数据集,其中每个月包括汽油的平均价格超过25年。数据处于矩阵形式,数月作为列和数月作为行。要创建情节,学生必须学习如何操纵数据。本练习是MATLAB矩阵操作的出色介绍。学生们创建一个使用的matlab脚本重塑
函数访问不同月份的价格数据,并生成这些价格的图表。然后,他们利用这些图表得出有关数据的结论。
本课程的下一部分涉及统计绘图、回归分析和曲线拟合。在微积分课程中,学生们使用电子表格来执行回归,对其中一些主题已经很熟悉了。他们很快就了解到,对于这类工作,MATLAB比电子表格强大得多,提供了更精确的多项式系数和更大的控制。
实验与符号数学
当学生对MATLAB环境感到满意并且有一些绘图的体验,使用变量和运行脚本,我介绍了基本的编程构造,包括条件和循环。虽然编程对大多数学生来说都是新的,但我鼓励他们尝试。犯错并纠正它们是学习新技能的绝佳方式。
在一项作业中,学生们编写一个简单的程序,该程序取一个数字分数,然后得出相应的字母分数。例如,如果91分,就会得到A-。我不会把学生引向一个特定的解决方案;我让他们自己设计。一些人被一系列的如果
条件;其他人则选择开关
声明。当我们在课堂上讨论他们的解法时,他们发现在M万博 尤文图斯ATLAB中有很多方法可以解决同一个问题。
在课程结束时,学生使用符号数学工具箱来象征性地解决问题。这一学期,教授微积分2的同事告诉我,他的一些学生正在努力与无限系列斗争。由于该谈话,我在下周改变了我的计划。我展示了我的课程如何使用MATLAB脚本计算数值数值序列的部分和,然后要求它们使用MUPAD Notebook界面来象征性地解决同样的问题,其中包含符号数学工具箱。这项练习不仅帮助他们了解他们正在努力的数学概念;它还提供了一个很好的例子,它们如何在CMP 150之外的课程中应用MATLAB和符号数学工具箱。
最终考试及以后
在期末考试中,学生必须证明在四个方面的能力:绘图和可视化、使用数据、数学分析和编程。他们有两个小时的时间用MATLAB解决这些类别中的一个问题。其中一个编程问题要求他们创建一个函数来近似ex使用泰勒多项式。另一个选项是编写一个生成第一个的脚本N在斐波纳契序列中的数字,在哪里N是脚本的整数输入。我很高兴学生的考试成绩;这表明,他们在短短14周内取得了长足的进步。
我们继续将MATLAB集成到余下的课程中。学生们已经在微积分3中使用MATLAB了,我正在与科学和商业部门的同事们合作,以增加他们对MATLAB的使用。学生的反馈是积极的。一些参加过c++编程课程的学生告诉我,他们非常想念用MATLAB编程。许多学生表示,这门课程最有价值的部分是学习如何自己处理一个新概念——如何找到文档或其他信息来源,并坚持下去,直到他们理解它。
批判性思考、获取和理解信息是文科教育的核心智力技能。MATLAB为学生在大学生涯中早期发展和磨练这些技能提供了一个很好的环境。