计算物理与MATLAB相结合的教学改革总结
李晓莉(物理科学与技术学院)
计算物理学是运用许多基础数学理论(如偏微分方程理论、线性代数、非线性规划等)和先进的计算技术(如性能优良的计算机和优秀的数值计算软件)对物理学研究前沿的挑战性问题进行大规模数值模拟和分析的学科。计算物理学的发展对统计物理、核物理、高能物理、粒子物理、生物物理、凝聚态物理、地球物理、大气物理等学科的研究与发展起着重要的推动作用;同时,计算物理学的发展也带动了光学、力学、电磁学等基础学科的教学及实验的发展;另外,计算物理学在各种工程项目中得到了广泛应用,并为其他相关技术(如图像处理技术和通信技术)的发展奠定了基础。
然而,传统计算物理教学模式存在许多问题,主要是课程内容多而教学时数少,很难做到在有限的学时里使学生对数值计算的基本方法和基本原理有深刻的了解和认识;另外,传统的计算物理教学模式只重视对数值计算方法和原理的讲解,强调理论上的高度抽象性与严密逻辑性,而忽视应用的广泛性和高度技术性,涉及内容多为繁杂的数学推导,易使学生产生厌学情绪,不容易收到良好的教学效果。因此,我们有必要进行计算物理的教学方法的研究和实践,使计算物理课的自身价值得到体现,而计算物理与MATLAB软件相结合的教学方法可以有效的改变当前的困境,提高学生学习积极性,明显改善教学效果。
一、结合本院的实际情况,对计算物理的教学内容和教学方法实施了一系列改革措施,总结如下:
(1)分析课程特点,强化教学主线
①通过介绍计算物理学的发展历史告诉学生学习计算物理的必要性,通过介绍计算物理学在凝聚态物理等科研领域的应用而取得的科研成果激发学生学习本门课的兴趣。例如,简单介绍物理学领域最具有代表性的三类数值计算方法——分子动力学方法、蒙特卡罗方法和基于第一性原理的能带计算方法,为学生后续的研究生阶段的学习打下良好基础。
②通过实例告诉学生本门课中的每一个数值计算模型都有它的工程背景,每一种数值算法都直接或间接与工程应用相关,并为其他相关技术(如图像处理技术和通信技术)的发展奠定了基础。强调本门课是一种强大的科学计算工具,掌握一类计算方法即能解决一类工程实际问题。
③向学生介绍本门课的课程体系,使学生明确数值计算方法中算法的精度、计算复杂性、数值稳定性以及误差分析是本门课研究的基本问题,使学生理解构造算法的三大要素——逼近、离散化、迭代是本门课的灵魂。通过计算物理课程教会学生一种全新的思维方式,使学生认识到遇到一个数学问题,不能解析求解并不意味着走入绝境,我们可利用已有的数学知识去近似、简化原来的问题,获得原来问题的近似解。
(2)更新课堂教学手段,丰富课堂教学内容
以往的计算物理授课方式一直采用多年延续下来的黑板加粉笔方式,通过在黑板上进行大篇幅公式推导的方式讲解数值计算方法和原理,没有与计算机相结合。但是,计算物理是一门理论与实际结合紧密的课程,仅采用传统方式教学,不向学生进行程序演示,使学生很难体会到课程的实用性,更谈不上对各种数值计算方法的深刻理解了,因此,必须对计算物理的教学手段进行改革。
改革后的课堂教学创建并完善了教学演示程序,充分利用MATLAB软件的可视化教学突出讲授典型的、具有代表性的并能体现其思想的常用数值计算方法和理论,将与教学内容相关的物理问题通过教学演示程序进行了演示和计算,达到了比较好的教学效果。而且自行开发和创建的教育教学软件系统《基于Matlab平台的自操作教学演示系统》在“河北省第十五届多媒体教育软件大奖赛”中获高等教育组三等奖。
加入教学演示程序后的课堂教学内容和教学手段发生了很大变化:
①教学内容的组织和设计上,首先,针对每一个主题讲解其背景、目的和算法设计的出发点,并通过对实际应用的描述,激发学生的学习欲望,提供建立数值方法的实际应用源泉,体现数值方法的价值和意义。以实例启示学生为什么建立数值方法、应该如何引进数值方法。例如,本科物理基础教学中学过的
带电粒子在电磁场中的运动轨迹问题,其数学模型为常微分方程,可以通过教学演示程序输入不同的电场强度和磁场强度的值,轻松计算并画出粒子运动的轨迹。学生了解了实际应用背景后就会对常微分方程的数值计算方法更感兴趣,也会更有动力来学。这样的启发式加互动式教学,促进了学生深入掌握电磁场理论和常微分方程的数值求解过程。其次,在讲解完每个主题的背景之后,要详细介绍相关章节的各种算法之间的区别与联系,启发学生在教师讲解前进行独立思考,指导学生如何使用这些理论和算法,并分析算法的适用前提和优缺点,验证和改进已有的算法。最后,提出几个具体的物理问题,启发学生借助MATLAB软件去自行解决。
②在教学环节上,将计算机多媒体技术及MATLAB的实验设计分析引进课堂,与传统教学方式优势互补,将抽象的数学知识直观地呈现在学生们面前,激发学生的学习兴趣,提高教学效果。例如,用迭代法求解非线性方程,通过教学演示程序,可以动态地演示近似解序列的推进过程,使学生直观地理解迭代法的收敛性与收敛速度问题。又如,为了突出分段低次插值的实用性,可以通过教学演示程序形象直观地展示高次插值的龙格现象,使学生观察到高次插值多项式的振荡现象,深刻理解高次多项式插值的病态问题。
(3)加强上机实践,提高动手能力
作为计算物理课堂教学的辅助教学环节——上机实践教学,借助计算机和MATLAB软件可以加深学生对数值算法思想原理的理解,提高学生解决实际问题的能力。实践教学环节将对培养具有科学计算能力的创新人才起到关键作用。
①增加学生课下上机实践的机会。为保证上机质量,在每次上机之前均布置上机作业,并要求学生按上机目的、算法原理、源程序、计算结果及结果分析写出上机报告。例如,要求学生通过上机实践分别编写解线性方程组的高斯消去法和列主元消去法的MATLAB程序,通过计算理解高斯消去法的局限性,以及在特殊情况下采用列主元消去法的必要性。
②增开了相应的课程设计课。在计算物理的授课结束以后,鼓励对本门课感兴趣、富有创新精神和具有较强计算编程能力的同学选修与本门课相关的课
程设计课。学生可以自主选题,针对自己感兴趣的某一物理问题或物理现象建立数学模型,自己动手设计算法、编写程序、上机调试以及对最终结果作数值分析。目前已经有学生利用MATLAB软件对光学课程中的干涉和衍射现象实现了图像再现,还有同学利用MATLAB编程对量子力学课程中一些特殊势场(诸如一维线性谐振子)的波函数及位置概率密度进行了计算,并完成了图形绘制。实践证明,课程设计课调动了学生的学习积极性,培养了学生运用学过的知识解决基本物理问题的能力。这种方式变被动灌输为主动参与,激发了学生的学习热情,有利于发挥学生的主观能动性,同时也提高了学生的动手能力。
③我院有良好的实验室平台和众多从事前沿领域科研工作的教师,一些学习优秀、学有余力的本科生可以直接参加相关科研活动,利用课上所学知识进行实际操作。目前已经有本科生直接参与了教师的科研工作,例如有部分同学协助老师对非线性光学中的电磁诱导透明等现象和半导体物理中的载流子输运问题进行了计算和分析,提高了自身素质和创新能力。还有部分学生将课上所学编程知识用于大学生创新大赛和挑战杯设计比赛中,并取得了优异的成绩。
(4)改革考试方法,全面、综合地评价学生的学习情况
将基于MATLAB的实验设计作为考核内容之一,引导学生重视理论和实践相结合,激发他们的创新精神,培养它们的科学计算能力。
二、上述改革措施在推进和执行过程中得到了学院领导和许多教师的大力支持,所以执行和推广工作进行顺利,并取得了一些成果:
(1)系统研究了计算物理与MATLAB相结合的教学方法,创建了教学演示程序;
(2)通过指导学生的课下上机实践和学年论文,确立上机实践教学;根据我院开设的相关物理课程,制定了上机实践内容,编写了上机实践任务指导书;
(3)总结了计算物理与MATLAB相结合的教学经验,并撰写了教学改革成果的论文;
(4)将计算物理与MATLAB相结合的教学方法进行了推广。在学生的帮助下,参加了“河北省第十五届多媒体教育软件大奖赛”,并获高等教育组三等
奖;参加了由国家自然科学基金委员会资助,教育部高等学校物理学类专业教学指导分委员会主办,昆明理工大学理学院承办的“2011年全国高等学校计算物理课程骨干教师培训班”,并在会上展示了本教改项目的部分成果。
三、在计算物理与MATLAB相结合的教学方法推广过程中也暴露出一些问题,并亟待解决。
(1)学生的理论知识和上机实践相结合的能力还有待进一步提高
目前只有部分学生对经典的物理规律理解透彻,并具备扎实的数值计算知识和具有较强的计算编程能力,自觉选修了与计算物理相关的课程设计课,并通过自己动手设计算法、编写程序、上机调试最终得到了计算结果。而另一部分学生由于数值计算知识掌握不扎实或计算编程能力的欠缺,还无法自主利用MATLAB软件对简单物理现象进行数值计算或图形绘制。因此,如何调动全体学生的学习积极性,使他们尽快尽好的掌握数值计算知识和MATLAB编程知识,并通过MATLAB上机计算解决基本物理问题,成为本课题最急待解决的问题。
(2)为自主学习能力强的本科生提供参加相关科研活动的机会
由于计算物理课程的特点要求学生只有多参与应用性程序设计和上机计算,才能真正掌握各种数值计算方法和MATLAB编程。目前有部分优秀学生具备扎实的数值计算知识和具有较强的计算编程能力,但是缺乏实践锻炼的机会。而我院良好的实验室平台应该多为本科生开放,为自主学习能力较强的本科生提供参与各种科研活动的机会,使他们将课上所学知识通过实践得到巩固和提高。
计算物理与MATLAB相结合的教学改革总结
李晓莉(物理科学与技术学院)
计算物理学是运用许多基础数学理论(如偏微分方程理论、线性代数、非线性规划等)和先进的计算技术(如性能优良的计算机和优秀的数值计算软件)对物理学研究前沿的挑战性问题进行大规模数值模拟和分析的学科。计算物理学的发展对统计物理、核物理、高能物理、粒子物理、生物物理、凝聚态物理、地球物理、大气物理等学科的研究与发展起着重要的推动作用;同时,计算物理学的发展也带动了光学、力学、电磁学等基础学科的教学及实验的发展;另外,计算物理学在各种工程项目中得到了广泛应用,并为其他相关技术(如图像处理技术和通信技术)的发展奠定了基础。
然而,传统计算物理教学模式存在许多问题,主要是课程内容多而教学时数少,很难做到在有限的学时里使学生对数值计算的基本方法和基本原理有深刻的了解和认识;另外,传统的计算物理教学模式只重视对数值计算方法和原理的讲解,强调理论上的高度抽象性与严密逻辑性,而忽视应用的广泛性和高度技术性,涉及内容多为繁杂的数学推导,易使学生产生厌学情绪,不容易收到良好的教学效果。因此,我们有必要进行计算物理的教学方法的研究和实践,使计算物理课的自身价值得到体现,而计算物理与MATLAB软件相结合的教学方法可以有效的改变当前的困境,提高学生学习积极性,明显改善教学效果。
一、结合本院的实际情况,对计算物理的教学内容和教学方法实施了一系列改革措施,总结如下:
(1)分析课程特点,强化教学主线
①通过介绍计算物理学的发展历史告诉学生学习计算物理的必要性,通过介绍计算物理学在凝聚态物理等科研领域的应用而取得的科研成果激发学生学习本门课的兴趣。例如,简单介绍物理学领域最具有代表性的三类数值计算方法——分子动力学方法、蒙特卡罗方法和基于第一性原理的能带计算方法,为学生后续的研究生阶段的学习打下良好基础。
②通过实例告诉学生本门课中的每一个数值计算模型都有它的工程背景,每一种数值算法都直接或间接与工程应用相关,并为其他相关技术(如图像处理技术和通信技术)的发展奠定了基础。强调本门课是一种强大的科学计算工具,掌握一类计算方法即能解决一类工程实际问题。
③向学生介绍本门课的课程体系,使学生明确数值计算方法中算法的精度、计算复杂性、数值稳定性以及误差分析是本门课研究的基本问题,使学生理解构造算法的三大要素——逼近、离散化、迭代是本门课的灵魂。通过计算物理课程教会学生一种全新的思维方式,使学生认识到遇到一个数学问题,不能解析求解并不意味着走入绝境,我们可利用已有的数学知识去近似、简化原来的问题,获得原来问题的近似解。
(2)更新课堂教学手段,丰富课堂教学内容
以往的计算物理授课方式一直采用多年延续下来的黑板加粉笔方式,通过在黑板上进行大篇幅公式推导的方式讲解数值计算方法和原理,没有与计算机相结合。但是,计算物理是一门理论与实际结合紧密的课程,仅采用传统方式教学,不向学生进行程序演示,使学生很难体会到课程的实用性,更谈不上对各种数值计算方法的深刻理解了,因此,必须对计算物理的教学手段进行改革。
改革后的课堂教学创建并完善了教学演示程序,充分利用MATLAB软件的可视化教学突出讲授典型的、具有代表性的并能体现其思想的常用数值计算方法和理论,将与教学内容相关的物理问题通过教学演示程序进行了演示和计算,达到了比较好的教学效果。而且自行开发和创建的教育教学软件系统《基于Matlab平台的自操作教学演示系统》在“河北省第十五届多媒体教育软件大奖赛”中获高等教育组三等奖。
加入教学演示程序后的课堂教学内容和教学手段发生了很大变化:
①教学内容的组织和设计上,首先,针对每一个主题讲解其背景、目的和算法设计的出发点,并通过对实际应用的描述,激发学生的学习欲望,提供建立数值方法的实际应用源泉,体现数值方法的价值和意义。以实例启示学生为什么建立数值方法、应该如何引进数值方法。例如,本科物理基础教学中学过的
带电粒子在电磁场中的运动轨迹问题,其数学模型为常微分方程,可以通过教学演示程序输入不同的电场强度和磁场强度的值,轻松计算并画出粒子运动的轨迹。学生了解了实际应用背景后就会对常微分方程的数值计算方法更感兴趣,也会更有动力来学。这样的启发式加互动式教学,促进了学生深入掌握电磁场理论和常微分方程的数值求解过程。其次,在讲解完每个主题的背景之后,要详细介绍相关章节的各种算法之间的区别与联系,启发学生在教师讲解前进行独立思考,指导学生如何使用这些理论和算法,并分析算法的适用前提和优缺点,验证和改进已有的算法。最后,提出几个具体的物理问题,启发学生借助MATLAB软件去自行解决。
②在教学环节上,将计算机多媒体技术及MATLAB的实验设计分析引进课堂,与传统教学方式优势互补,将抽象的数学知识直观地呈现在学生们面前,激发学生的学习兴趣,提高教学效果。例如,用迭代法求解非线性方程,通过教学演示程序,可以动态地演示近似解序列的推进过程,使学生直观地理解迭代法的收敛性与收敛速度问题。又如,为了突出分段低次插值的实用性,可以通过教学演示程序形象直观地展示高次插值的龙格现象,使学生观察到高次插值多项式的振荡现象,深刻理解高次多项式插值的病态问题。
(3)加强上机实践,提高动手能力
作为计算物理课堂教学的辅助教学环节——上机实践教学,借助计算机和MATLAB软件可以加深学生对数值算法思想原理的理解,提高学生解决实际问题的能力。实践教学环节将对培养具有科学计算能力的创新人才起到关键作用。
①增加学生课下上机实践的机会。为保证上机质量,在每次上机之前均布置上机作业,并要求学生按上机目的、算法原理、源程序、计算结果及结果分析写出上机报告。例如,要求学生通过上机实践分别编写解线性方程组的高斯消去法和列主元消去法的MATLAB程序,通过计算理解高斯消去法的局限性,以及在特殊情况下采用列主元消去法的必要性。
②增开了相应的课程设计课。在计算物理的授课结束以后,鼓励对本门课感兴趣、富有创新精神和具有较强计算编程能力的同学选修与本门课相关的课
程设计课。学生可以自主选题,针对自己感兴趣的某一物理问题或物理现象建立数学模型,自己动手设计算法、编写程序、上机调试以及对最终结果作数值分析。目前已经有学生利用MATLAB软件对光学课程中的干涉和衍射现象实现了图像再现,还有同学利用MATLAB编程对量子力学课程中一些特殊势场(诸如一维线性谐振子)的波函数及位置概率密度进行了计算,并完成了图形绘制。实践证明,课程设计课调动了学生的学习积极性,培养了学生运用学过的知识解决基本物理问题的能力。这种方式变被动灌输为主动参与,激发了学生的学习热情,有利于发挥学生的主观能动性,同时也提高了学生的动手能力。
③我院有良好的实验室平台和众多从事前沿领域科研工作的教师,一些学习优秀、学有余力的本科生可以直接参加相关科研活动,利用课上所学知识进行实际操作。目前已经有本科生直接参与了教师的科研工作,例如有部分同学协助老师对非线性光学中的电磁诱导透明等现象和半导体物理中的载流子输运问题进行了计算和分析,提高了自身素质和创新能力。还有部分学生将课上所学编程知识用于大学生创新大赛和挑战杯设计比赛中,并取得了优异的成绩。
(4)改革考试方法,全面、综合地评价学生的学习情况
将基于MATLAB的实验设计作为考核内容之一,引导学生重视理论和实践相结合,激发他们的创新精神,培养它们的科学计算能力。
二、上述改革措施在推进和执行过程中得到了学院领导和许多教师的大力支持,所以执行和推广工作进行顺利,并取得了一些成果:
(1)系统研究了计算物理与MATLAB相结合的教学方法,创建了教学演示程序;
(2)通过指导学生的课下上机实践和学年论文,确立上机实践教学;根据我院开设的相关物理课程,制定了上机实践内容,编写了上机实践任务指导书;
(3)总结了计算物理与MATLAB相结合的教学经验,并撰写了教学改革成果的论文;
(4)将计算物理与MATLAB相结合的教学方法进行了推广。在学生的帮助下,参加了“河北省第十五届多媒体教育软件大奖赛”,并获高等教育组三等
奖;参加了由国家自然科学基金委员会资助,教育部高等学校物理学类专业教学指导分委员会主办,昆明理工大学理学院承办的“2011年全国高等学校计算物理课程骨干教师培训班”,并在会上展示了本教改项目的部分成果。
三、在计算物理与MATLAB相结合的教学方法推广过程中也暴露出一些问题,并亟待解决。
(1)学生的理论知识和上机实践相结合的能力还有待进一步提高
目前只有部分学生对经典的物理规律理解透彻,并具备扎实的数值计算知识和具有较强的计算编程能力,自觉选修了与计算物理相关的课程设计课,并通过自己动手设计算法、编写程序、上机调试最终得到了计算结果。而另一部分学生由于数值计算知识掌握不扎实或计算编程能力的欠缺,还无法自主利用MATLAB软件对简单物理现象进行数值计算或图形绘制。因此,如何调动全体学生的学习积极性,使他们尽快尽好的掌握数值计算知识和MATLAB编程知识,并通过MATLAB上机计算解决基本物理问题,成为本课题最急待解决的问题。
(2)为自主学习能力强的本科生提供参加相关科研活动的机会
由于计算物理课程的特点要求学生只有多参与应用性程序设计和上机计算,才能真正掌握各种数值计算方法和MATLAB编程。目前有部分优秀学生具备扎实的数值计算知识和具有较强的计算编程能力,但是缺乏实践锻炼的机会。而我院良好的实验室平台应该多为本科生开放,为自主学习能力较强的本科生提供参与各种科研活动的机会,使他们将课上所学知识通过实践得到巩固和提高。