工程硕士课程数值分析教学改革措施
工程硕士课程数值分析教学改革措施 摘要:从工程硕士的培养目标出发,对数值分析课程进 行教学改革探索。首先,从改革教学理念着手,改变传统的 填鸭式教学模式,要重视算法的思想方法和计算能力的培养, 多举一些工程实际应用中的例子,让学生认识到这门课是非 常有用的;其次,在教学手段上采用了多媒体、板书与MA TLAB软件相结合的方式,避免了传统教学中只用板书的 单一模式;
另外,在教学内容上做了适当的取舍,在考试题 型和成绩考核等方面也做了相应的改革。以上教学改革取得 了明显的教学效果,为提高学生的数值计算能力奠定了基础。
关键词:数值分析;
教学改革;
数值计算能力;
工程硕 士 引言 随着计算机技术的快速发展与普及,科学计算已经成为 一种重要的科研方法,与科学计算密切相关的数值分析课程 也已经成为高等学校工科专业研究生的一门重要公共基础 课。数值分析课程的教学目标是使学生系统掌握数值分析的 基本思想、基本概念、基本理论和基本算法,教学中以提高 学生数值计算能力和解决工程实际问题的能力为重点。它与 其他数学类课程的最大不同点在于它强调计算机的应用,它 不仅提供了利用计算机进行求解数学问题的数值方法,而且 为学生提供了一些解决工程实际问题的近似计算思想,解决 了传统高等数学和线性代数课程中无法解决的计算问题,能够开拓学生的视野,培养学生使用计算机进行科学与工程计 算、解决工程实际问题的能力,这是其他数学课程都无法做 到的。然而,目前的教学模式很难达到这一教学目标。长期 以来,国内数值分析课程教学中普遍存在教学理念陈旧,教 学内容枯燥,教学方法单一,理论与实践严重脱节等问题, 很多高校将数值分析作为一门纯粹的数学理论课程来讲授, 并没有使用数学软件进行程序设计,这使学生很难对数值分 析的一些重要特征(如算法的稳定性和计算速度,龙格现象 等)有深入的理解,造成传统教学中一般只讲算法原理和误 差分析,而不涉及数值实验。数值分析是在沈阳工程学院工 程硕士研究生的公共基础必修课,其重要性是毋庸质疑的。
工程硕士的培养侧重解决工程实际问题,在课程的内容上也 应侧重于应用性和实践性。从2012年起,笔者相继承担 了沈阳工程学院电力工程、热能工程这两个工程硕士专业的 数值分析课程。经过几年的教学积累,数值分析课程于20 15年7月被评为沈阳工程学院研究生精品课程。在这2年 的精品课程建设过程中,以提高教学质量,培养工程硕士研 究生的数值计算能力、解决工程实际问题的能力为目标,全 面深入教学改革,在实践中取得了良好的效果。本文将从以 下几个方面详细阐述数值分析课程改革的思路和措施。这是 笔者在教学过程中的体会,供大家批评指正。
1数值分析课程教学改革的思路和措施 1.1教材与教学内容合理取舍数值分析课程内容多,课时少,只有40学时。在学时 非常有限的情况下,考虑到沈阳工程学院培养的对象为工程 硕士研究生,因此必须在教材和教学内容上进行合理取舍。
目前选用的是由全国工程硕士专业学位教育指导委员会推 荐使用的《数值方法》[1]。在内容上主要选取线性代数 方程组直接求解法和迭代解法,非线性方程的数值解法,插 值法,曲线拟合,数值积分与数值微分,常微分方程初值问 题的数值解法。
1.2由实例导入新课在教学中,每章采用一个工程方 面的实际 例子来引入新课,通过实例引出相关的基本概念,通过 近似计算的思想来介绍一些基本算法的原理在对算法的分 析过程中,进行相关数值稳定性、收敛速度等方面的分析这 样的实例导入教学不仅能够激发学生的学习兴趣,让学生带 着问题学习将被动式教学转为与学生互动式教学,而且能提 高学生分析问题和解决工程实际问题的能力。下面的表格列 举了数值分析相关问题的应用实例[2]。
1.3强调算法原理和计算方法 数值分析不能像纯数学那样只研究数学本身的理论,而 是要把数学理论与计算机紧密地结合起来。针对数值分析的 特点,在讲授时既要重视基本思想、概念、方法,又要重视 它的实际应用及综合能力的培养。然而在传统的教学中,教 师只一般重视基本概念和算法的数学公式,通过繁琐的理论推导来演示算法的来由,这样学生会觉得数值分析课程太枯 燥无味,为了应付考试只能死记硬背一些公式,随着时间的 流逝,学生会逐渐淡忘曾经背过的公式,对算法的基本思想 也忘得一干二净,完全不能体会到这门课的实用性。为了能 让学生掌握这门课程的知识精华,教师一定要重视算法原理 的讲授,给学生讲清数学家是如何运用近似逼近的思想得到 一个算法的,该算法的数值稳定性如何,精度和收敛速度怎 样,为了改进原有算法的精度和收敛速度,数学家们又是如 果把原有算法进行改进,从而得到另外一个算法的。学生只 要把这些算法的基本思想、原理理解了,才能将它们牢记。
对那些过于繁琐的算法公式可以不讲理论推导,直接给出算 法的公式和MATLAB程序,让学生知道如何用软件来求 解就可以了。比如,在讲授3次样条插值函数时,由于3次 样条函数的理论推导和计算非常繁琐,所以教师在介绍完3 次样条插值函数的定义和各种边界条件以后,直接引入MA TLAB中的内置函数csape命令,给学生演示用cs ape命令是如何轻松完成3次样条插值函数计算的[3]。
1.4板书、课件与MATLAB软件有机结合 数值分析课程具有“概念多、算法多、公式多、图形多、 理论推导繁琐”等特点,所以需要把板书、课件与MATL AB软件结合使用。对例题、基本概念及算法的推导等内容, 若能使用课件教学,不但能提高教学的效率,而且能让学生 对所讲知识有深刻理解,例如在讲授龙格现象、曲线拟合等问题时,若能使用MATLAB软件编程,然后通过屏幕来 直观演示必能使学生理解深刻。但是在给学生分析一些重要 算法的稳定性、收敛速度等问题的时候,为了让学生能跟上 老师的思路,教师应该用板书来推导,这样有利于学生理解 和记忆,达到理想的教学效果。数值分析中每种数值算法的 计算过程通常是非常复杂的,在传统教学中,教师为了节省 时间,基本上不会给学生演示计算的过程,推导出算法的计 算公式后只告诉学生计算的步骤。对传统的数值分析实验课 是采用计算机高级语言编程实现,但学生却往往因为一个小 的语法错误就使得程序无法继续下去,既耗费了时间也丧失 了数值实验的趣味性。在学生熟悉了算法的原理和计算公式 后,教师应该引入专门的数学软件(比如MATLAB、m athematica),将学生的注意力从编程过程转移 到问题解决上,不但能提高教学效率,而且能加深学生对课 程中所涉及的数学原理、方法实现的理解,为学生快速、准 确地完成复杂计算提供有效的教学手段和途径,从而提高学 生应用所学知识、方法解决实际问题的能力。教学中要给学 生演示编程的详细过程,让学生观察用MATLAB软件解 题是多么轻松快捷,调动学生学习积极性、主动性。教师在 编程时不但要解释每行语句的含义,更要尝试用MATLA B软件自带的各种命令来编程,让学生感受到MATLAB 软件功能的强大,学生课后通过反复编程训练,计算能力一 定能得以提高。教师在授课过程中,教师不但要把重要的算法的MATLAB函数文件编好供学生学习参考,而且要给 学生讲授MATLAB本身所提供的内置函数命令,同时要 把数值计算方法与内置函数作比较。例如,在讲解拉格朗日 插值的时候应该介绍interp1的使用方法;
在讲样条 插值时应介绍csape,spline等命令;
在讲解曲 线拟合的时应该介绍polyfit,cftool,po lytool,lsqcurvefit,lsqnonl in等命令;
在讲矩阵三角分解应介绍lu命令;
在讲数值 积分时应介绍quad,quadl,trapz等命令;
在讲微分方程数值解的时应介绍ode23,ode45等 命令。这些内置函数用法非常简单,学生很容易掌握。
1.5编写数值分析实验辅导书、开设数值实验课 很多高校因为学时有限而没有开设数值分析实验课,学 生会因为用手动计算太麻烦而根本不参与直接计算。久而久 之,学生会觉得数值分析课程不实用,产生厌烦情绪。因此, 开设数值分析实验课,并编写一本数值分析实验辅导书是非 常必要的。可以将实验题分为两类:必做题与选做题。从实 验类型上又可以分:基本题型和综合题型。综合题型要选用 具体工程实际问题,让学生从实际问题→建立数学模型→选 择数值计算方法→程序设计→计算出结果并分析→撰写论 文,这样的训练过程对学生将来参加数学建模竞赛和撰写学 术论文、毕业论文都有很大帮助。通过在计算机上进行数值 实验,加深了学生对数值分析的基本概念、基本方法、基本思想的理解,提高了学生的学习兴趣,提高了学生编制程序 能力、数值计算能力及使用数学解决实际问题的综合能力。
1.6同一题目,采用不同数值计算算法和MATLA B内置函数 数值分析中每个实际问题都涉及多种不同的算法,在教 学过程中教师应该把各种算法的适用条件、优缺点、数值稳 定性、收敛速度等方面给学生讲清楚,然后针对一个具体的 实际问题,采用不同的算法进行编程,然后对结果进行比较 和分析,这是培养学生数值计算能力的很好方式。例如在讲 授非线性方程求根的时候,对同一个题目可以采用二分法、 不动点迭代法、牛顿迭代法、斯蒂芬森迭代法、弦截法,以 及MATLAB软件中的内置函数fzero,fsolv e,roots等来实现。
1.7编写课后习题全解、丰富习题课 目前选用的教材[1]课后习题没有详细的答案,有的 题有些难度,学生在自学的过程中存在诸多困难。为了解决 这个问题,编写了课后习题的详细答案供学生学习参考。由 于课后习题数目有限,教师可以补充一些题目供学生课后练 习。同时要多收集日常生活中常见的,学生比较感兴趣的实 际问题或者工程案例,留给学生课后自己独立完成或者小组 完成,学生通过自己的努力将问题解决后会感觉到数值分析 课程的实用性,从而激发学生学习的兴趣。
1.8建立辅导答疑制度由于数值分析课时(40学时)非常有限,如果全靠教 师上课来讲授,同时还要在课上给学生介绍MATLAB软 件,那么要想完成教学任务是非常难的。因此,引导学生通 过自学来扩展知识面、了解一些新的数值方法及其相关理论 是非常有益的。比如教师在讲授非线性方程求根这一章时, 二分法、不动点迭代法、埃特金加速法、斯蒂芬森迭代法、 牛顿迭代法可以由教师来讲授,至于牛顿下山法、弦截法、 抛物线法及非线性方程组求根的牛顿迭代法可以安排学生 自学,把学生分成小组进行讨论。然后,利用课后时间跟学 生进行互动讨论,把学生们不懂的地方讲解一下。同时,每 两周安排一次固定的辅导答疑时间,及时解决学生不懂的问 题。通过这种方式不但增加了师生的友谊,而且能提高学生 的学习成绩。1.9积极参与数学建模竞赛数学建模就是用 数学方法解决实际问题,数学建模过程的一般步骤为:(1) 形成问题(2)模型假设(3)模型的建立(4)模型求解 (5)模型分析(6)模型检验与修正(7)模型的应用。
在模型求解这个步骤中,经常涉及到数值分析中的各种算法, 因此数值分析课程对解决实际问题至关重要。在教学过程中, 若能通过实际案例将数学建模的思想融入到教学中,这对培 养学生解决实际问题的能力是非常有帮助的。沈阳工程学院 的研究生每年在参加全国研究生数学建模竞赛和东三省数 学建模竞赛中都取得了优异的成绩。1.10改革考试考核 方法考核采用期末考试与平时考核相结合的方法。期末考试采用闭卷考核方式,满分100分,考试时间150分钟。
试题主要考查学生对数值分析基本概念、理论、方法及其应 用的掌握程度,题型分为填空题、选择题、计算题、分析题、 程序设计题,期末考试成绩占总评成绩80%;
平时考核成 绩占总评成绩20%,平时考核内容有出勤情况、自学讨论 表现、作业完成情况和上机实验情况。1.11参与导师的 科研项目电力工程与动力工程这两个专业中的许多研究问 题都涉及到数值计算方法,鼓励学生积极参与到导师的科研 项目中去,让学生承担题目科研项目中有关数值计算方面的 工作,用数值分析课上所学到的知识解决自己研究方向中存 在的问题,使学生能学以致用,体会到学习的乐趣。
2结语 本文提出了数值分析课程教学改革的思路与措施,采用 板书、多媒体课件与MATLAB软件结合的教学手段。数 值分析课程的教学改革需要教师不断探索,在数值分析的教 学中要树立如下教学指导思想:以学生为中心,以科学计算 方法为主线,以数学软件为工具,培养学生应用数学方法求 解实际问题能力,同时在教学中加深学生对计算方法基础、 理论、应用的直观理解,加强数值分析课程建设、努力培养 学生科学计算能力。在课程教学中既要教会学生掌握成熟的 有效的计算方法,又要教会学生如何建立逼近论的思想、如 何灵活地构造新的数值算法,采取精讲多练、案例式、启发 式等教学方法,培养学生的学习兴趣和数值计算能力。参考文献:
[1]关冶,陆金甫.数值方法[M].北京:清华大 学出版社,2011. [2]陆建芳,谢聪聪,练晓鹏.数值计算基础[M]. 北京:科学出版社,2013. [3]耿爱成.MATLAB在三次样条函数教学中的 应用[J].价值工程,2016,35(422):18 1-182. [4]向华,李大美.数值计算及其工程应用[M]. 北京:清华大学出版社,2015. [5]邱启荣.矩阵论与数值分析:理论及其工程应用 [M].北京:清华大学出版社,2013. [6]万中,韩旭里.《数值分析》课程教学的新认识 及改革实践[J].数学教育学报,2008,17(2):
65-67. [7]杜延松.关于《数值分析》课程教学改革研究的 综述和思考[J].大学数学,2007,23(2),8 -15. [8]桂曙光.基于MATLAB平台工科硕士研究生 数值分析教学实践[J].安徽理工大学学报(社会科学版), 2010,12(3):90-92.