关于Matlab课程教学的几点探讨
2015-07-18章权兵程鸿张芬
章权兵+程鸿+张芬
【摘 要】Matlab是目前国际上公认的准确可靠的科学计算标准软件,也是理工科专业学生非常重要的一门工具课。本文就如何培养学生的学习兴趣和参与热情、如何根据Matlab语言的特点教学,及如何与相关课程相结合等问题,对该课程的教学方法进行了探讨。旨在为人才培养模式和教学方法改革进行一定的探索。
【关键词】Matlab课程教学;任务驱动式教学;教学研究
一、引言
Matlab是一种广泛应用于算法开发、数据可视化、工程计算及数值分析等领域的高级语言,并已成为国际学术界公认的准确可靠的科学计算软件。在设计研究单位和工业部门,Matlab已被认作进行高效研究和开发的首选软件工具。在欧美各高等院校,Matlab已经成为线性代数、数字信号处理、图像处理等课程的基本教学工具。目前国内许多高校的理工科专业也都开设了Matlab课程。本文结合作者对Matlab课程的教学经验,就如何培养学生的学习兴趣和参与热情、如何根据Matlab语言的特点教学,及如何与相关课程相结合等问题,对该课程的教学方法进行了探讨。
二、培养学生的学习兴趣和参与热情
高校教育要以学生为中心,以学生自主学习能力和创新能力培养为目标。任何一门课程的教学,培养学生的学习兴趣都是至关重要的,因为“兴趣是最好的老师。” 对于Matlab课程,一开始就很抽象地介绍其环境和特点,很难激起学生的兴趣。我们第一节课在介绍课程内容之前,会为学生展示多种实例。例如,以线性代数中的解方程组、求矩阵的特征值和行列式,高等数学中的求函数的极限、导数和积分等为例向学生展示Matlab解决具体数学问题的便捷性;以函数作图和图像处理为例展示Matlab强大的可视化功能等。使学生对这个软件的重要性和实用性有着最直接的感受,并进而激发学生的学习兴趣。
但兴趣只是起点,如果在Matlab的后续教学中,仍然采用常见的“学生听教师讲、看教师做”的教学模式,会让学生产生“工具虽好,与己无关”的思想,从而又失去学习兴趣。为保持学生学习的积极性、主动性和参与热情,可采用众多教学者建议的实例和任务驱动式的教学模式。我们的实际做法是:一方面,教师以专业课程中的相关问题为背景设计教学任务,例如,以绘制和比较《数字信号处理》中不同的信号为任务,使学生掌握Matlab中的基本绘图和参数设置方法、图形标注和修饰命令、绘制子图的不同方法、GUI设计等内容。另一方面,可鼓励和指导学生根据自己的专业和兴趣选择合适的任务,充分发挥学生的主动性、积极性和创新精神。很多学生对此的参与热情非常高,例如,电子专业的学生模拟了不同信号与谐波的叠加、设计了不同的滤波器,物理专业的学生模拟了麦克斯韦速率分布律和双缝干涉现象,计算机专业的学生模拟了加密解密算法,还有对音乐感兴趣的学生利用Matlab合成出了美妙的音乐,等等。我们的教学经验表明,以专业课程中的相关问题为背景设计教学任务,采用实例和任务驱动式的教学方法组织教学活动,引导学生对Matlab的学习,既能提高学生的学习兴趣和应用Matlab软件工具的能力,又能深化学生对专业课程基本知识的理解。
三、根据Matlab语言的特点教学
Matlab除了具有非常强大的数值计算、符号运算和数据可视化等功能外,还提供了信号处理工具箱、图像处理工具箱、计算机视觉工具箱、通信工具箱、控制系统工具箱、优化工具箱、统计工具箱等数十种应用于不同工程领域的功能丰富的工具箱。Matlab的强大功能也使得其内容相当庞杂,因此不可能通过一学期的教学就让学生掌握Matlab的所有相关内容。教师对教学的意义也并不要求教师直接向学生传授和灌输知识,而是对学生起到帮助和促进作用,因此要根据Matlab的特点和课时有限的实际情况,重点教给学生使用Matlab的思想和方法。
例如,Matlab的一大特色是其矩阵和数组运算。数组是Matlab的核心数据结构,矩阵和向量主要由数组表示(矩阵和向量是特殊的数组),而Matlab中的多数功能都是基于矩阵、向量和数组运算的。充分利用Matlab中的矩阵和向量运算、冒号算子(:),以及数组的乘法(.*)、除法(./)和乘方(.^)等运算,不仅可以简化程序的编写,更重要的是能有效地提高Matlab程序的运行效率。但这对于刚接触Matlab语言的学生来说很难熟练掌握,因此在教学中要反复练习。
另一方面,对于如解线性方程组、求函数的极限、导数和数值积分等大量Matlab函数和指令的运用,不需要花过多的时间跟学生讲解,可以让学生自己查看Matlab的帮助文档,并上机练习。Matlab提供了几乎包含其所有内容和功能的在线帮助文档,其中的“Matlab函数参考”覆盖了Matlab所有核心函数,提供了有关函数句法、详细资料、数学算法(部分)等,很多函数还给出了实例。有效地引导和帮助学生运用Matlab的帮助文档非常重要,既可避免教师填鸭式的教学,又可培养学生的自主学生能力。
四、与相关课程的结合
如前所述,为培养学生学习的积极性、主动性和参与热情,采用以实例和任务驱动式的教学模式。在实际教学中,实例和任务应该与学生所学的相关课程紧密结合,并且要从易到难,具有渐进式特点,这样才能更容易被学生接受,更有效地提高学生的学习兴趣,并加深学生对相关课程的理解。例如,我们依次与《线性代数》、《高等数学》、《数字信号处理》、《数字图像处理》、《数学建模》等课程相结合。
Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,因此首先以《线性代数》中的计算问题来设置任务,使学生顺利入门,并掌握Matlab的基本运算。然后,以《高等数学》中的数值计算和公式推导等来设置任务,使学生可以熟练运用Matlab进行常见的数学运算和简单的公式推导。接着以电子专业的《数字信号处理》和《数字图像处理》中的基本问题来设置任务,使学生加深对专业课程理解的同时,熟练掌握Matlab进行数字信号处理和数字图像处理,及数据可视化等功能。在学生掌握了以上基础之后,我们根据多年来一直参与学校数学建模竞赛的培训和指导工作的经验,将数学建模竞赛中出现的编程问题提炼出来设置任务,以提高学生综合运用Matlab的编程能力和解决实际问题的能力。这往往能激起学生很大的兴趣以及对Matlab继续学习的热情。
五、结束语
我们的教学经验表明,以上的教学方法取得了不错的教学效果。当然,问题总是不可避免,只有不断地进行教学反思,继续进行教学探索和改革,才能进一步提高教学效果。
【参考文献】
[1]周开利,邓春晖.MATLAB基础及其应用教程[M].北京大学出版社,2007
[2]邢雪宁,刘丽娜.关于MATLAB课程教学的探讨[J].计算机时代,2011,(7):67-69
[3]李秀滢,王建新,彭静.Matlab教学中任务驱动式教学法的应用[J].电气电子教学学报,2010,32(2):104-105
【作者简介】
章权兵(1977—),男,汉,籍贯安庆,安徽大学电子信息工程学院副教授,博士,研究方向为计算机视觉。
(基金项目:安徽大学本科教育质量提升计划项目(教学研究类)xjjyxm14045和xjjyxm14046.)
(作者单位:安徽大学电子信息工程学院)