APP下载

应用型本科院校数值分析教学改革与课程思政

2023-01-10傅守忠孔丽英王肖义张会琴

肇庆学院学报 2022年2期
关键词:计算方法数值算法

傅守忠,令 锋,孔丽英,夏 艳,王肖义,张会琴

(肇庆学院 数学与统计学院,广东 肇庆 526061)

1 数值分析与计算方法

数值分析或计算方法是理工科许多专业开设的基础课,它们都是讲授利用计算机求解各种数学问题数值解的课程[1-3],内容包括:求各种问题数值解的方法,主要是计算公式的构造;在计算机上的算法实现;方法的收敛性、稳定性和误差分析.对于与数学相关的专业,该课程是数学理论与实际应用之间的桥梁,是数学模型课的必要准备,也是程序设计课的巩固延续;对于非数学相关的专业,该课程是由高等数学和线性代数延伸出的必要数学工具.

许多人说“数值分析”也叫“计算方法”,这种说法实际上是不对的.尽管它们研究的内容看似相同,但“计算方法”的重点在“方法”的实现和应用,而“数值分析”的精髓在理论“分析”.换言之,计算方法着重讲每一类问题要“怎么算”,数值分析关键在讨论各种数值计算的方法“为什么行”.它们的联系与区别同数学分析与高等数学、高等代数与线性代数的联系与区别类似.因此在数学与应用数学、信息与计算科学等以“数学分析”和“高等代数”为基础的专业应当开设“数值分析”,而物理、电子、机械等其它以“高等数学”和“线性代数”为基础的专业应当开设“计算方法”.

2 应用型本科院校数值分析与计算方法课的现状

2.1 学生的数学基础不扎实

应用型本科院校的大多数学生入学基础不够雄厚,进入大学后,学习不够积极主动,常有课堂上听不懂老师所讲或无法及时消化吸收的情况,而课余时间利用率也较低,不能及时复习弥补,因此,应用型本科院校的多数学生,包括数学专业的学生,数学分析和高等代数或高等数学和线性代数等数学基础很不扎实.

2.2 学生的程序设计基础较差

程序设计由算法设计和编写程序代码组成,其中算法设计是关键,有了算法的流程,只需要针对不同计算机语言的语法和结构,就能轻松地编写出相应的程序代码.算法设计需要较好的逻辑推理和演算基础,这本该是数学类专业学生的强项,但数学基础的欠缺也限制了许多学生的算法设计能力,加之好多学生把学习程序设计的重点放在某些特定计算机语言的语法上,一定程度上造成许多学生只会验证书上现有的程序,而不会设计程序.有些专升本的学生甚至没学过任何计算机语言.

2.3 课程的课时偏少

计算方法的理论教学至少需要54 学时,而数值分析则至少需72 学时,实验教学需再另加课时或由学生自主完成.受一些通识课和实践课等新型课程的挤压,现在专业基础课和专业主干课的课时都大幅减少.以我校为例,数学学院开设的数值分析仅有40 学时的理论课,外加16 学时的实验课.而我校近年教学改革,将每节课缩短成40 分钟,所以实际的理论课相当于仅有32~36 学时;有些非数学专业,只有32 课时的理论课.对于基础较差且自学能力不够强的应用型本科院校的学生,这些课时相对有点偏少.

2.4 不好选合适的教材

近年来许多学校都在搞教材建设,备选教材看似很多,但适合应用型本科院校使用的教材很少.重点院校特别是数学学院教师编写的传统《数值分析》教材,都侧重于理论分析,对数学基础要求较高,很少讲如何在计算机上具体实现;一般院校教师,特别是非数学专业教师编写的《计算方法》教材,多数忽略了理论分析,仅注重在某种具体计算机语言中的程序实现,甚至连为什么“两个相近的数相减会损失有效数字”和“两个相差太大的数相加,大数会‘吃掉’ 小数”这些与计算机工作原理关联的一些简单的数学理论也没讲清楚.还有些教材所用数学理论是错误的或不严谨的;也有些教材所给的程序,没有与原始数值计算方法对应,学生调试运行这些程序时,只知其然,不知其所以然,不能通过实验课巩固复习相关的理论知识.

3 教学改革措施

3.1 理论教学

鉴于上述实际情况,我们的数值分析和计算方法课都精选最基本的内容讲授,数值分析课的内容也仅间于数值分析与计算方法之间,或者说是只在计算方法的基础上加入少量的分析.在制定课程教学大纲时,严格明确各知识点分属“掌握”、“熟悉”和“了解”中的哪个层次:其中属于“掌握”层次的是要求必须学会的基本内容,上课时作为重点进行精讲,也是课程考核的重点,约占卷面分数的75%~80%;属于“熟悉”层次的是要求尽量学会的拓展内容,课堂上泛讲,基础较好的学生可通过课后复习进一步理解掌握,考核中占较小的比例,约占15%~20%,也是区分学生成绩是优良还是合格的主要内容;属于“了解”层次的是仅需要简单认知的内容,课上只简单介绍其基本思想,便于一些成绩较好的学生能够更容易通过自学学懂这些内容,考核时也只占极小的比例,仅占3%~5%.

课堂上采用多媒体和板书结合的方式讲授.基本概念、定理叙述和相关图形用多媒体课件演示,公式推导、定理证明和简单计算过程仍用板书讲解.多媒体演示是为了节省书写所占用的时间,而板书推导能使学生更容易跟着教师的讲课思路学会所讲的内容.由于大多数例题中的数据都是比较复杂的小数,手工计算很费时,所以对于通过迭代或递归求解的问题,讲授完相应的理论并对例题构造出计算公式后,都借助Excel的公式自动复制功能演示其求解过程,使学生对所讲的数值方法能有直观的认识,这对学习相关理论和编程实现都有很大的帮助.

3.2 实验教学

为了让学生既能完成课程必要的数值计算方法的程序演算,又能使程序设计能力有所提升,我们将实验分成3类.

第一类是设计型的,学生自己完成流程设计和相应代码编写,比如解非线性方程的简单迭代法和解线性方程组的Gauss消元法等.

第二类是验证型的,我们给出完整的流程图及对应的Matlab语言版和C++语言版的源程序,学生只需读懂流程图就基本能理解对应的源程序了,然后通过自己输入程序和运行,就能进一步理解该数值计算方法,同时程序设计和调试能力也会有所提高.比如计算多项式的直接算法与秦九韶算法的比较,其中涉及到统计各算法在计算机上的运行时间,这部分的程序大多数学生不会编写;又如解线性方程组的LU分解法,其中涉及到读取数据文件和数据的存储格式等手段,多数学生还没有掌握。因此这些实验我们都给出完整的程序资料.

第三类是完善填空型的,给出源程序的基本框架,将相应数值方法中的关键步骤留空,让学生通过填空来完成程序.比如数值积分中的Romberg算法等,对这些问题,学生自主完成自顶向下的算法设计会有一定困难,我们将顶层的结构设计好,让学生只完成底层部分的设计.这样做可以适当降低实验的难度,使更多学生能顺利完成这些实验并从中有所收获.

4 思政元素的融入

习近平总书记在全国高校思想政治工作会议上强调,要把思想政治工作贯穿教育教学全过程,各类课程都要与思想政治理论课同向同行,形成协同效应,把立德树人作为教育的根本任务[4,5].

在第一节课的课程介绍中,讲到数值计算方法求得的是实际问题的近似数值解,而非精确的解析解时,我们会融入航空航天及气象预报等现代科技领域的一些实际问题.比如会介绍神州飞船返回就是在忽略空气阻力等假设下,计算降落在主着陆场中心点时,需要在近地轨道的什么位置开始制动.但实际降落的位置总有偏离,这些误差是数值计算不可避免的.随着科技的进步,我们会尽力缩小这些误差,像北斗导航系统已经可以提供误差不超过10 m甚至厘米级的定位.以此可以培养学生认真做事的科学精神,树立学生的爱国主义思想.

在讲授Newton 迭代法和数值积分时,分别融入“刘徽割圆”中“以直代曲”和分割近似计算的逼近思想.在讲授方程组消元法时,会介绍约于公元1世纪就成书的《九章算术》中的“方程术”,它就是在有了分数的概念,且仅能用汉字描述数字的情况下,利用算筹进行的类似于“Gauss消元法”的计算方法.当时我国还没有小数的概念,也没有阿拉伯数字这样的简单数字符号,但计算的思想和方法较西方同类方法要早近两千年.讲授插值法时,会介绍我国南北朝计算地球每天围绕太阳公转的角度方法,其实当时人们认为是太阳在地面的上空运动,计算的是太阳相对地球转过的角度,从几何学的观点看,这两个角度是相等的.我国的天文学家已发现每天转过的角度不同,由于技术手段无法测出每天的中心值,就测每个节气的中心值,然后用插值的方法估算每天的中心值.隋朝的刘焯为提高计算的精确度,又发明了二次等间距内插法,其实就是一种特殊的Newton 插值法.融入这些中国古代数学方法的元素,使学生进一步了解我国古代的许多数学思想和方法比西方相应的思想方法早了几百到上千年,可激发学生为实现中华民族伟大复兴而奋斗的热情.

解方程组的Gauss-Seidel迭代法是在Jacobi迭代的基础上,是以新产生的分量值代替上一步迭代向量中对应的旧分量值进行迭代的改进方法.在Jacobi迭代“渐近”收敛时,Gauss-Seidel迭代的收敛速度会更快,这会使学生产生两个错觉:“Jacobi迭代收敛时Gauss-Seidel迭代也一定收敛”,且“Gauss-Seidel迭代总比Jacobi迭代收敛快”.在讲授解方程组的迭代法的收敛性时,通过两个具体的例子说明,二者的收敛性间没有关联,再分析当Jacobi 迭代“进退交替式”收敛时,Gauss-Seidel 迭代可能发散.这里融入了“宏观与微观”的辩证法思想,即Jacobi迭代宏观上收敛,但微观上,迭代得到的新值的精确度可能比迭代前的旧值更差,此时以新代旧的效果会变差,由此也说明“差之毫厘谬以千里”的道理,培养学生养成认真做事的习惯.

其实,在思政教育方面,身教胜于言传.教师认真备好并讲好每节课,细心批改学生的作业和实验报告,都是对学生最好的思政教育,对培养学生认真严谨的工作态度,都很有效.甚至于俯身捡起地上的粉笔头和擦拭干净讲台及电脑上的灰尘等,也是对学生进行爱护公物和勤俭节约等优良传统教育的直接体现.

5 结语

教学中因材施教,使学生学会基本的内容,了解更多的知识;实验中量体裁衣,使学生在实验课上都能有收获,并有所提高.教师要不断提升自己的专业知识水平和思想素养,才能在教书的同时细雨润物般育人,为社会主义建设和中华复兴培育出专业能力和政治思想都合格的人才.

猜你喜欢

计算方法数值算法
槽道侧推水动力计算方法研究
浮力计算方法汇集
体积占比不同的组合式石蜡相变传热数值模拟
哪种算法简便
极限的计算方法研究
数值大小比较“招招鲜”
舰船测风传感器安装位置数值仿真
铝合金加筋板焊接温度场和残余应力数值模拟
Travellng thg World Full—time for Rree
进位加法的两种算法