杜大刚
(苏州科技学院 数理学院,江苏 苏州 215009)
1996年在教育部立项的面向21世纪非数学专业数学教学体系和内容改革的总体构想中,把“数学实验”列为数学基础课之一.从此,“数学实验”作为一门全新的课程正式进入全国各地的大专院校.关于“数学实验”课程的教学实践已有许多研究成果[1-5].文献[1]坚持以学生为主、教师引导的原则,注重学生的发现和探索,将数学实验课程分四个层次进行组织.文献[2]根据“数学实验”课程的特点,讨论了在开设“数学实验”课程时,为了更好地激发学生学习的热情和兴趣,培养学生的探索性思维和创造意识,在选择实验课题以及对选定的实验课题设计问题时应遵循的原则.文献[3]论述了对数学实验课的地位、作用、本质和内容的认识以及作者在数学实验教学过程中的实施方法和体会.文献[4]针对不同的实验内容采用不同的教学设计范式来提高大学数学实验课的教学效率.文献[5]划分了数学实验的层次,阐述了数学实验在教学中的地位,针对数学实验在大学数学教学中的应用提出了一些问题.上述文献主要讨论了如何实施“数学实验”这门课程的教学过程,实验的设计以及所需遵循的原则等等.十多年来,全国各地的大专院校大都有了各自比较固定的这门课程的教学模式.但是作为一门新兴课程,“数学实验”的现有教学模式还有许多不足,同时,目前关于“数学实验”课程的教学改革方面的文章也比较少见.
笔者连续教授“数学实验”多年,针对学生的实际情况不断调整教学手段、修改实验内容、完善实验过程,进行了一些教改尝试.
目前,“数学实验”在“教”与“学”两方面尚存在种种不足.
1) 笔者讲授“数学实验”选择了计算方法、概率统计和优化方法三大类内容,先简单介绍理论结果,然后结合工具软件Matlab要求学生完成实验.一般的学生会把“数学实验”简单地当做“计算方法”、“概率统计”和“线性规划”三门课的结合体来学习,编完程序运行出结果就万事大吉了.殊不知“数学实验”是“数学+实验”,“数学”两个字几乎包括了所有的数学领域,而限于课时的有限,一个学期笔者只能选择若干领域来进行实验.
2) 众所周知,Matlab软件并不是一个狭隘的数学软件,除了包括插值、拟合、微分方程、统计、优化等工具箱以外,还包括了图像处理、小波分析、信号处理、鲁棒控制、金融分析、地图绘制、模糊控制、神经网络等工具箱,所以它是一套功能十分强大的综合数值软件.熟练掌握这个软件是学好“数学实验”课程的前提,但是学生在入学之初普遍对该软件接触不多,或者只会一些基本操作,比如函数作图和方程求根等.
3) 类似其他数学上机课程,学生以为做完实验递交了电子作业就结束了,不再花时间去思考为什么不同的参数会得到不同的实验结果,实验过程中使用的算法能否进行改进,实验解决的数学模型有哪些应用价值等问题.
4) “数学实验”与针对一年一度的全国大学生数学建模竞赛的联系还远远不够.一般学校参加数学建模竞赛的学生以数学与应用数学专业和信息与计算科学专业为主,物理、计算机、电子、土木等其他专业为辅.“数学实验”一直是数学与应用数学专业的必修课,而其他专业都没有开设这门课程,导致每次针对参赛学生的赛前培训都要花一周时间进行Matlab软件的讲解,临阵磨枪,事倍功半.
针对以上不足,笔者结合“数学实验”课程特点做了一些改革的尝试.
1) “数学实验”包括的理论部分相当丰富,从微积分到线性代数,从复变函数到计算方法,从概率统计到线性规划,从控制论到金融数学,实在是数不胜数.针对数学与应用数学专业学生的特点可选择计算方法、概率统计和优化方法三大块内容,设计Matlab软件初步、非线性方程、常微分方程、插值方法与数值积分、线性方程组、回归分析、线性规划和非线性规划八个实验.区别于“计算方法”和“概率统计”等课程,实验设计选择了一些实际应用问题和最新的优化算法,比如微分方程在种群相互竞争模型中的应用,二维插值方法在山区等高线图绘制中的应用,回归分析在人口预测中的应用,蚁群算法在0-1背包问题中的应用等等.学生在完成这些实验的过程中按照实验要求自己建立数学模型,采用软件编程求出实验结果,最后还要对结果进行分析.
2) 软件是“数学实验”课程的基石.离开软件,“数学实验”就成了无本之木,无源之水.鉴于学生普遍对Matlab软件接触不多,利用课程开始的前两周安排学生练习Matlab软件初步这个实验,包括简单的矩阵点运算、二维函数作图、函数文件和命令文件的编写、帮助文档的查阅等.通过两周课时的练习,学生掌握了Matlab软件的一些常用命令,并且学会了插值、拟合、微分方程、统计、优化等工具箱的使用.这为学生今后的“数学实验”课程学习奠定了扎实的软件基础,不需要再花大量的时间在软件的使用上,而把重点放在做实验上.
3) 为了体现“数学实验”的课程特点,区别于一般的上机课程,要求学生做完实验必须完成实验报告.实验报告主要有实验准备(用到哪些Matlab软件的工具箱和算法)、完成实验的主要思路(建模流程和程序流程图等)、算法实现的核心代码、实验过程中遇到的问题、实验结果(图和表格)、结果分析等六部分内容.学生通过撰写实验报告可以清晰地展示自己做实验的全过程,尤其是实验过程中遇到的问题和结果分析两部分最有意义.由于这两部分无法抄袭,学生只能自己认认真真地动手做实验,而不会去玩游戏浪费时间了.教师通过批阅实验报告可以充分了解学生掌握算法的程度以及软件的实际使用情况,并实时对后续实验的难易程度进行调整,保证了良好的教学效果.
4) 一年一度的大学生数学建模竞赛为学生提供了一个展示自己综合能力的平台.“数学实验”课程就是采用计算机软件解决实际的优化、近似计算和数理统计问题,而历年的建模竞赛题目都是概率统计和优化方面的,所以它与建模竞赛的联系十分密切.学好了“数学实验”,学生就具备了较好的使用Matlab软件的能力,较强的建立数学模型的能力,独立理解消化新算法的能力,这些是参加建模竞赛获得好成绩的必要条件.除了给数学与应用数学专业的学生讲解“数学实验”之外,还应有计划地针对非数学专业的学生在全校开设“数学实验”公选课.这样一来,今后可以有更多对数学有兴趣的学生参加建模竞赛并且取得较好的成绩.
以上的教改尝试,取得了一些实践效果.大多数学生都能独立完成教师布置的实验,少数学生在得到实验结果的基础上能进行归纳总结,极少数学生需要依赖教师的指导完成实验.几乎所有学生都掌握了Matlab软件的基本使用,包括函数作图、矩阵运算、函数文件和命令文件的编写、插值、拟合、微分方程的求解、非线性方程求根、优化以及回归分析等等.部分学生会熟练使用各种工具箱,编写自己的函数文件,查阅帮助文档,实现新的算法.虽然取得了上述实践效果,但是仍然还有很多值得改进的地方,比如改善实验室条件,升级计算机硬件和充实软件配置;考核方式可以尝试笔试与上机考试相结合;在二年级开设该课程比较恰当等等.
[1] 任善强,刘琼荪.“数学实验”课程的教学研究与实践[J].高等数学研究,2004,7(1):8-13.
[2] 许立炜.《数学实验》课程中的实验设计原则[J].大学数学,2010,26(4):17-20.
[3] 秦宣云,李学全.对数学实验课教学的认识以及教学过程实施方法[J].工科数学,2002,18(6):44-46.
[4] 但琦,杨廷鸿,吴松林,等.论大学数学实验课的教学设计[J].大学数学,2010,26(5):1-5.
[5] 王明礼.数学实验在大学数学教学中的应用[J].高等数学研究,2009,12(3):26-28.