论文部分内容阅读
【摘 要】数值分析课程是本科数学专业和工程专业学生的必修课,并且数值分析被广泛应用于自然科学研究和工程研究。笔者根据自身教学实践,结合课程定位,从教学方法、算法实践、教师科研素质提升等方面给出了一些建议,以期提高数值分析课程效果。
【关键词】数值分析;教学方法;工程计算
【中图分类号】G642 【文献标识码】A 【文章编号】1671-8437(2020)28-0010-02
随着科学研究的发展,许多学科突破了原有的界限,开始互相融合。近年来,伴随着计算机软件技术的飞速发展,以及实际工程计算需要的变化,科学计算在各学科的研究中愈发重要,并且被广泛应用于流体力学、空气动力学、量子力学、生物学、建筑设计等学科的研究中。目前,科学计算已和理论研究、科学实验共同成为科学研究的三大支柱,而数值分析正是科学计算的基础。数值分析课程是各高等院校数学专业和工科专业学生的必修课,数值分析属于应用数学范畴,有着基础数学的严谨性和逻辑性,却又与基础数学存在着本质区别,其独特的理论特点与工程技术紧密相关。
数值分析课程关注工程模型问题或数学模型的算法、效率以及计算资源的消耗等。从科学研究的角度来讲,就是如何利用有限的计算资源以最快的速度得到问题最精确的解。高等院校各个专业开展该课程的目标是以数学模型为载体,着重教授学生各类模型的算法、构造原理及相关理论知识,使学生熟练地将各类算法应用于实际问题的求解中,培养学生严密的数学逻辑思维以及应用能力。因此,该课程的学习对学生的专业研究及思维能力提升都具有重要的意义和作用。该课程教学活动的开展需要学生在具备基础数学专业知识的同时,还要扎实地掌握计算机专业的一系列课程。该课程的双重要求导致学生学习时存在诸多困惑和困难,高等院校虽普遍开展了该课程的教学,但往往达不到预期效果。目前,许多学者对该课程的教学做出了有益的探索,并提出了一些改革建议[1-3]。接下来,笔者将结合自身的教学实践,谈谈该课程教学改革的一些探索和建议,供各位同行参考,以期共同推进该课程的教学工作。
1 课程定位
数学专业和工科专业的人才培养目标明显不同,且不同专业学生所具备的知识基础存在较大差别,因此,在教学中需设定不同的教学目标、采取不同的教学手段。数学专业的学生一般具备较好的数学分析能力以及高等代数基础,因此该课程教学中教师可适当偏重于算法原理以及算法理论的分析讲解。只有让学生了解算法的本质才能从根本上明确问题解决的思路、手段以及关键点,从而培养其良好的数学思维和数学逻辑。此外,只有明确算法的本质,才能弄清楚数值分析课程与基础数学课程的本质区别,进而解决学生的困惑,激发学生的学习热情。工科学生普遍数学基础相对薄弱,因此针对该类学生,教师需基于算法学习的目的性和实用性,注重算法应用的讲解。至于一些算法的理论分析则需根据实际情况进行安排。在具体的教学过程中,通过一些问题导入需要讲授的内容,这样可以让工科类学生在心理上认可数值分析课程的价值,从而有效地提升其学习热情,促使他们将数值方法应用于其他专业课的学习。
2 教学方法
2.1 运用问题驱动教学的方式
课程教学的首要目标是让学生了解所学知识点的背景和应用价值。具有实用价值的知识更能激发学生的学习主动性,提高其学习的投入度。实际教学中并不需要让所有学生都达到深入认知的程度,只需让其达到主观上认可所学内容对后续专业课学习具有重要作用即可。这种逐步引导的教学方式适合大多数普通高校的学生。教学实践中,笔者经常采取问题驱动的方式引导学生进入新知识点的学习。如在教学线性方程组的各种解法时,适当介绍流体方程的数值计算方法、数值天气预报相关的数值计算等。该过程中无需纠缠于数值算法的构造理论,只要让学生明白许多问题最终都可归结为线性方程组的求解即可。通过问题驱动,引导学生意识到线性方程组高效数值求解的重要性,进而带领学生进入新知识点的学习。再如学习数值积分时,可向学生介绍传统牛顿-莱布尼兹公式的不足,进而引入数值积分的重要性。问题驱动教学的目标是让学生对知识的学习从被动接受变为主动出击,激发学生的学习热情,使其主动了解各种问题解决的方式和采取某种方式的原因。
2.2 优化教学内容
首先,国内数值分析课程的教材比较多,内容侧重点和面向的对象各有不同[4-6],因此需要教师依据不同专业学生的特点和需求选择合适的教材。其次,数值分析所涵盖的内容较多,绝大多数知识点之间关联度不高。在具体的教学中,要进一步选取需着重讲授的知识点。根据笔者对科学工程计算专业的了解,线性方程组求解、非线性方程组求解、数值积分和微分方程数值解都是极其重要的基础知识点,因此,在教學中,很有必要强化学生对这些内容的学习。
2.3 适当采用翻转课堂的教学方式
为了激发学生学习的责任心和积极性,笔者在近两年的教学实践中多次鼓励学生主动参与部分知识点的讲授活动。这一活动完全采用自主报名的方式,参与的学生非常有责任心,课前根据所需讲授的内容进行了认真、全面的备课,还与笔者认真讨论。学生授课结束后,笔者会对学生的讲授做一个简短的评价,并且强调本节课的重点知识。简短的评价不但可以鼓励授课的学生,还可以增进学生对知识点的掌握。笔者发现让学生自主授课对其他听课的学生也有极大促进作用。实践表明,适当采用这种翻转课堂的教学方式不但效果良好,还能增强师生间的互动。
3 强化编程实践
数值分析课程的一个重要部分是讨论如何离散连续模型得到可控制精度的数值算法。由于绝大多数连续问题或模型的离散过程比较繁琐,得到的公式相当复杂,很多学生难以及时消化吸收相应的知识点。同时,数值分析也是一门理论与应用紧密结合的课程。因此,提升学生编程实现算法的能力是极其必要的。上机编程的过程是对所学理论再次深刻理解的过程,也是将理论应用到实际问题的过程。在程序反复调试的过程中,学生能够发现理论学习时的疏忽点以及理解不深刻的地方,甚至错误的概念和过程。程序反复调试后得到正确结果,能极大地增强学生对问题的理解能力,更能使学生收获满满的成就感和满足感,从而有助于提升学习兴趣。数值计算方法目前发展比较完善,许多商用软件都很成熟,如MATLAB、MAPLE等。商用软件针对的是工程应用,为了使用方便,这些软件往往只需输入参数,即可获得结果。实际教学中直接使用软件必然会导致学生对问题解决的原理及求解过程缺少了解。所以,笔者并不建议教师直接使用商用软件,而倾向于使用基本编程语言来实现一些基本的计算,如C语言或Fortran语言等。针对有些学生编程能力相对薄弱的问题,笔者在教学实践中,采用了分组实践的模式,即将2—3名学生分为一组,让一组学生共同完成一个算法的程序编制并撰写实验报告。分组实践不仅有助于基础薄弱的学生对知识点的掌握,对学生团队合作能力的培养也是十分有益的。笔者在教学实践中对以上方法进行了多轮尝试,效果较为明显。
4 教师个人学术素养的提升
科研与教学相辅相成,互相促进。高校教师努力追求科研对教学工作有积极的促进作用。科研能够拓展教师的视野,改变其看待问题的角度,加深其对问题的理解。通过科研,教师能够深刻领会不同方法在求解同一问题时效率的差异,以及不同算法提出的初衷。这种深刻的领会能够促使教师在教学中把复杂的问题尽量讲得简单、透彻,帮助教师让学生从本质了解问题的解决思路及技巧。教师在科研过程中会发现一些问题求解的新思路、新方法。这些新方法会在一定程度上促进学生对新事物探究的积极性,使教学效果得到一定的提升。从本质上来讲,教师素质在很大程度上影响着教学效果,只教不研会使教师的专业素养原地踏步,也会导致教学思想固化、教学内容缺乏新意。因此,专业课教师非常有必要参与一定的科研工作,提升自身的创新思维,进而促进教学手法、内容的创新。
笔者依据数值分析课程的教学实践,给出了一些课程教学定位、教学内容选择以及编程等方面的经验和思考。但是,良好的教学效果离不开好的考核体系,笔者将在这方面进行进一步探索。
【参考文献】
[1]汪海鹰,易发胜,张君雁.“数值计算方法”课程教学探索——以软件工程专业为例[J].教育与教学研究,2017(31).
[2]胡金蓉,吴霞.数值计算方法课程中计算思维能力的培养[J].科技文汇,2015(371).
[3]蒋莉.《数值计算方法》课程教学改革刍议[J].湖南农业大学学报(社会科学版),2013(14).
[4]施吉林,刘淑珍,陈桂芝.计算机数值方法[M].北京:高等教
育出版社,2009.
[5]林成森.数值计算方法[M].北京:科学出版社,2005.
[6]D. Kincaid,W. Cheney. Numerical analysis:Mathematics of scientific computing[M].China Machine Press,2003.
【作者简介】
蔡加祥(1981~),男,汉族,江苏淮安人,博士,副教授。研究方向:微分方程数值解。
【关键词】数值分析;教学方法;工程计算
【中图分类号】G642 【文献标识码】A 【文章编号】1671-8437(2020)28-0010-02
随着科学研究的发展,许多学科突破了原有的界限,开始互相融合。近年来,伴随着计算机软件技术的飞速发展,以及实际工程计算需要的变化,科学计算在各学科的研究中愈发重要,并且被广泛应用于流体力学、空气动力学、量子力学、生物学、建筑设计等学科的研究中。目前,科学计算已和理论研究、科学实验共同成为科学研究的三大支柱,而数值分析正是科学计算的基础。数值分析课程是各高等院校数学专业和工科专业学生的必修课,数值分析属于应用数学范畴,有着基础数学的严谨性和逻辑性,却又与基础数学存在着本质区别,其独特的理论特点与工程技术紧密相关。
数值分析课程关注工程模型问题或数学模型的算法、效率以及计算资源的消耗等。从科学研究的角度来讲,就是如何利用有限的计算资源以最快的速度得到问题最精确的解。高等院校各个专业开展该课程的目标是以数学模型为载体,着重教授学生各类模型的算法、构造原理及相关理论知识,使学生熟练地将各类算法应用于实际问题的求解中,培养学生严密的数学逻辑思维以及应用能力。因此,该课程的学习对学生的专业研究及思维能力提升都具有重要的意义和作用。该课程教学活动的开展需要学生在具备基础数学专业知识的同时,还要扎实地掌握计算机专业的一系列课程。该课程的双重要求导致学生学习时存在诸多困惑和困难,高等院校虽普遍开展了该课程的教学,但往往达不到预期效果。目前,许多学者对该课程的教学做出了有益的探索,并提出了一些改革建议[1-3]。接下来,笔者将结合自身的教学实践,谈谈该课程教学改革的一些探索和建议,供各位同行参考,以期共同推进该课程的教学工作。
1 课程定位
数学专业和工科专业的人才培养目标明显不同,且不同专业学生所具备的知识基础存在较大差别,因此,在教学中需设定不同的教学目标、采取不同的教学手段。数学专业的学生一般具备较好的数学分析能力以及高等代数基础,因此该课程教学中教师可适当偏重于算法原理以及算法理论的分析讲解。只有让学生了解算法的本质才能从根本上明确问题解决的思路、手段以及关键点,从而培养其良好的数学思维和数学逻辑。此外,只有明确算法的本质,才能弄清楚数值分析课程与基础数学课程的本质区别,进而解决学生的困惑,激发学生的学习热情。工科学生普遍数学基础相对薄弱,因此针对该类学生,教师需基于算法学习的目的性和实用性,注重算法应用的讲解。至于一些算法的理论分析则需根据实际情况进行安排。在具体的教学过程中,通过一些问题导入需要讲授的内容,这样可以让工科类学生在心理上认可数值分析课程的价值,从而有效地提升其学习热情,促使他们将数值方法应用于其他专业课的学习。
2 教学方法
2.1 运用问题驱动教学的方式
课程教学的首要目标是让学生了解所学知识点的背景和应用价值。具有实用价值的知识更能激发学生的学习主动性,提高其学习的投入度。实际教学中并不需要让所有学生都达到深入认知的程度,只需让其达到主观上认可所学内容对后续专业课学习具有重要作用即可。这种逐步引导的教学方式适合大多数普通高校的学生。教学实践中,笔者经常采取问题驱动的方式引导学生进入新知识点的学习。如在教学线性方程组的各种解法时,适当介绍流体方程的数值计算方法、数值天气预报相关的数值计算等。该过程中无需纠缠于数值算法的构造理论,只要让学生明白许多问题最终都可归结为线性方程组的求解即可。通过问题驱动,引导学生意识到线性方程组高效数值求解的重要性,进而带领学生进入新知识点的学习。再如学习数值积分时,可向学生介绍传统牛顿-莱布尼兹公式的不足,进而引入数值积分的重要性。问题驱动教学的目标是让学生对知识的学习从被动接受变为主动出击,激发学生的学习热情,使其主动了解各种问题解决的方式和采取某种方式的原因。
2.2 优化教学内容
首先,国内数值分析课程的教材比较多,内容侧重点和面向的对象各有不同[4-6],因此需要教师依据不同专业学生的特点和需求选择合适的教材。其次,数值分析所涵盖的内容较多,绝大多数知识点之间关联度不高。在具体的教学中,要进一步选取需着重讲授的知识点。根据笔者对科学工程计算专业的了解,线性方程组求解、非线性方程组求解、数值积分和微分方程数值解都是极其重要的基础知识点,因此,在教學中,很有必要强化学生对这些内容的学习。
2.3 适当采用翻转课堂的教学方式
为了激发学生学习的责任心和积极性,笔者在近两年的教学实践中多次鼓励学生主动参与部分知识点的讲授活动。这一活动完全采用自主报名的方式,参与的学生非常有责任心,课前根据所需讲授的内容进行了认真、全面的备课,还与笔者认真讨论。学生授课结束后,笔者会对学生的讲授做一个简短的评价,并且强调本节课的重点知识。简短的评价不但可以鼓励授课的学生,还可以增进学生对知识点的掌握。笔者发现让学生自主授课对其他听课的学生也有极大促进作用。实践表明,适当采用这种翻转课堂的教学方式不但效果良好,还能增强师生间的互动。
3 强化编程实践
数值分析课程的一个重要部分是讨论如何离散连续模型得到可控制精度的数值算法。由于绝大多数连续问题或模型的离散过程比较繁琐,得到的公式相当复杂,很多学生难以及时消化吸收相应的知识点。同时,数值分析也是一门理论与应用紧密结合的课程。因此,提升学生编程实现算法的能力是极其必要的。上机编程的过程是对所学理论再次深刻理解的过程,也是将理论应用到实际问题的过程。在程序反复调试的过程中,学生能够发现理论学习时的疏忽点以及理解不深刻的地方,甚至错误的概念和过程。程序反复调试后得到正确结果,能极大地增强学生对问题的理解能力,更能使学生收获满满的成就感和满足感,从而有助于提升学习兴趣。数值计算方法目前发展比较完善,许多商用软件都很成熟,如MATLAB、MAPLE等。商用软件针对的是工程应用,为了使用方便,这些软件往往只需输入参数,即可获得结果。实际教学中直接使用软件必然会导致学生对问题解决的原理及求解过程缺少了解。所以,笔者并不建议教师直接使用商用软件,而倾向于使用基本编程语言来实现一些基本的计算,如C语言或Fortran语言等。针对有些学生编程能力相对薄弱的问题,笔者在教学实践中,采用了分组实践的模式,即将2—3名学生分为一组,让一组学生共同完成一个算法的程序编制并撰写实验报告。分组实践不仅有助于基础薄弱的学生对知识点的掌握,对学生团队合作能力的培养也是十分有益的。笔者在教学实践中对以上方法进行了多轮尝试,效果较为明显。
4 教师个人学术素养的提升
科研与教学相辅相成,互相促进。高校教师努力追求科研对教学工作有积极的促进作用。科研能够拓展教师的视野,改变其看待问题的角度,加深其对问题的理解。通过科研,教师能够深刻领会不同方法在求解同一问题时效率的差异,以及不同算法提出的初衷。这种深刻的领会能够促使教师在教学中把复杂的问题尽量讲得简单、透彻,帮助教师让学生从本质了解问题的解决思路及技巧。教师在科研过程中会发现一些问题求解的新思路、新方法。这些新方法会在一定程度上促进学生对新事物探究的积极性,使教学效果得到一定的提升。从本质上来讲,教师素质在很大程度上影响着教学效果,只教不研会使教师的专业素养原地踏步,也会导致教学思想固化、教学内容缺乏新意。因此,专业课教师非常有必要参与一定的科研工作,提升自身的创新思维,进而促进教学手法、内容的创新。
笔者依据数值分析课程的教学实践,给出了一些课程教学定位、教学内容选择以及编程等方面的经验和思考。但是,良好的教学效果离不开好的考核体系,笔者将在这方面进行进一步探索。
【参考文献】
[1]汪海鹰,易发胜,张君雁.“数值计算方法”课程教学探索——以软件工程专业为例[J].教育与教学研究,2017(31).
[2]胡金蓉,吴霞.数值计算方法课程中计算思维能力的培养[J].科技文汇,2015(371).
[3]蒋莉.《数值计算方法》课程教学改革刍议[J].湖南农业大学学报(社会科学版),2013(14).
[4]施吉林,刘淑珍,陈桂芝.计算机数值方法[M].北京:高等教
育出版社,2009.
[5]林成森.数值计算方法[M].北京:科学出版社,2005.
[6]D. Kincaid,W. Cheney. Numerical analysis:Mathematics of scientific computing[M].China Machine Press,2003.
【作者简介】
蔡加祥(1981~),男,汉族,江苏淮安人,博士,副教授。研究方向:微分方程数值解。