计算方法在计算机科学与技术专业教学改革与实践

更新时间:2024-02-24 作者:用户投稿原创标记本站原创 点赞:14797 浏览:60065

摘 要:介绍了对计算机科学与技术专业的计算方法课程教学改革进行的尝试和探索,结合该专业提出了计算方法课程教学改革的几个重点及策略,优化了教学内容、改进了试验环节;介绍了数学软件MATLAB和MATHEMATICA在教学中的应用.

关 键 词:计算方法;教学改革;教学方法

计算方法是一种研究并解决数值问题的近似解的数学方法,虽然是数学方法,但是它有别于高等数学、线性代数等基础课程,是一门与计算机结合密切的具有很强实践性的课程.目前已经成为计算机科学与技术专业学生的一门专业基础课,它要求学生掌握算法的原理、误差分析和收敛性分析等理论知识,还需要掌握这些算法的应用.作为计算机科学与技术专业的理工科学生,一般都具有较好的高等数学和线性代数的基础,但是在笔者计算方法的实际教学过程中,大部分学生认为该课程比较难学.相对其他课程计算方法公式繁多,推理过程枯燥乏味,存在记住公式却不知如何应用等等问题.怎样进一步提高计算方法课程的教学质量已成为当前应用数学教育改革重点考虑的内容.因为计算方法课程的核心内容是研究用计算机求解数学问题的各种数值计算方法,所以笔者和同事经过几年的计算方法课程的教学,针对计算机科学与技术专业学牛存在的上述问题做了大量工作,积累了一定经验,并对该专业学生的课程特点给出下列建议.

1、计算方法课程中所研究的方法在于用数学方法解决实际工程中的数值问题,而不是检测设的数学问题,强调的是计算方法具体算法的“实用性”.

2、数学上没有任何不足的“完美”算法,不一定能拿来求解实际问题,我们必须考虑算法在计算机上程序运行的实际效果以及误差范围.结合笔者所在学校学生的层次特点,在实际的计算方法教学过程中进行了如下的改革.

一、计算方法教学观念的改革

作为计算机科学与技术专业的教师,一定要让学生认识清楚自己为什么要学这门课,要清楚的知道所学的算法最终需要编程来实现.因此学生只有在清楚的了解算法所需的条件,算法的步骤的前提下,才能转换成清晰的程序流程并用某种编程语言实现.那么作为教师在教学过程首先进行的是教育观念的改革,我们的做法归纳如下:

对计算方法中一些算法的部分结论仅仅进行叙述,不讨论繁杂的证明推理过程,虽然那些严谨的推理,繁杂的证明对培养学生的数学思维能力,逻辑思维能力有一定好处,但是笔者认为,计算方法这门课程更应该强调算法的整体思想,算法的具体实现过程,算法的评价和算法的改进,尤其是算法的具体执行步骤.

教学过程中能够借助于某种编程语言将常用的算法在计算机上编程实现.让学生通过对计算方法课程中的算法进行程序流程设计、编写程序代码运行,解决一些实际问题.例如求大型线性方程组的实根问题,完全可以让学生自己动手实现Ouess消去法和列主元Guess消去法以及LU分解求解方程组的解.通过VC++编程实现算法,积累算法经验,逐步的提高学生理论联系实际的能力和实际动手解决问题的能力;通过编程实现算法让学生掌握用计算方法进行科学计算,学会进行算法模型分析,掌握每种算法的优劣,在多种算法中能选择最优的算法,培养学生了用数学的思想方法分析问题和解决问题的意识和能力,提高了学生的科学计算能力和综合素质.


二、计算方法教学环节改革

计算方法这门课我们采用了多媒体教学,用多媒体授课可以处理抽象的内容以克服计算公式书写烦琐费时的不足.例如在讲解数据线性拟合算法的过程中,我们用多媒体软件对教材例题的解题过程进行了演示,抽象的一组数据动态的生成了散点图,然后用大屏幕展示了选择拟合函数的具体方法.最后给出了线性数据拟合的一般算法步骤.让学生觉得抽象的数据其实隐含了某种函数关系,并能亲自编程实现求出函数关系,从而增强了学生的学习兴趣.

其次我们对教学内容进行了优化设计,对一些重点算法,我们采取精讲细讲的方法,以主带次.例如在非线性方程的实根求解算法中,我们在课堂上有限的时间里重点讲授了迭代法,从数学原理、算法步骤到VC++代码实现进行了详尽的讲解.因为迭代法在非线性方程实根求解的众多方法中具有代表性,而对那些原理相近的算法则可留给学生课后自学.让课堂上教师讲解的内容真正做到重点突出.

另外我们在教学的过程中,利用了具有强大的计算功能、图形处理和良好的交互界面的MATLAB工具.在课堂上教师配合教材选择一些内容简单、容易实现的实验题目,通过MATLAB工具,进行过程和结果的演示,让学生有一个直观的感受.例如多项式插值的Runge现象实验,我们采用了教材实例:函数f(x)=1/(1+25X2)在区间[-1,1]内选取8个和16个等距插值节点做插值,得出了经典的Runge现象,图形美观、准确.让学生通过数形结合掌握了教学内容,感受现代计算工具的魅力.再例如,利用雅可比迭代、高斯一赛德尔迭代和超松弛迭代求解线性方程组的数值计算,通过MATLAB做直观演示后,让学生进行了收敛性和发散性的比较分析,大大地激起学生对学习内容及过程产生强烈的兴趣和需要.课堂上利用MATLABI具直观化了计算方法的教学内容.

三、计算方法实践环节改革

在计算方法教学的实验过程中,引入专业课软件工程的概念.首先进行算法的需求分析,给出需要解决算法的功能需求说明;其次抽象出实现算法的功能模型,给出算法的流程步骤;最后进行算法的编码实现直到编译运行成功.常鼓励学生用自己熟悉的编程语言进行算法编程训练,例如牛顿二次插值算法、数据拟合算法、高斯消去法和列主元素消去法等等.在实验课上,笔者就着重利用算法自身的科学思维方法进行教学.让学生通过分析算法,建立算法模型、确立实施编程方案,在目标明确逻辑清晰的情况下才动手写程序、调试程序、优化程序,培养了学生良好的逻辑思维能力和实践动手能力.

在课程学期的最后两周,我们对计算方法这门课程的计算机数学实验环境和教学目的进行改变,不再是让学生自己编程实现算法,而是让学生会用现代的数值计算工具解决问题,例如我们会让学生用MATLAB和MATHEMATIC数值计算工具.这些工具经常能使一些复杂的问题变的易如反掌.使问题处理起来得心应手,因为系统本身提供了一批程序包,在需要时可以调入程序使用.如矩阵运算、三角函数运算、解方程、积分运算、求导和微分的运算、解不等式、分解因式、作图函数或其他具有复杂功能的函数.学生通过的键盘给软件输入表达式,这些工具自动给表达式求值,然后把求得的值显示.这样进行计算方法实践环节改革的原因主要有两点:一是因为计算方法的许多内容都已经成熟并被开发成了专门的数学软件包,这些软件包具有强大的数值计算功能;二是因为计算方法这门课程对计算机科学与技术专业的学生最重要的是构造各种算法的思想和如何运用算法直接解决实际问题.

通过上述2种方法进行实践,学生不仅能自己动手编程实现算法,而且能用工具运用算法,在使用工具的过程中真正做到了“知其然知其所以然”.

四、总 结

本文从三个方面对计算方法课程进行了教学改革,在计算方法教学中,我们以算法原理为基础,结合计算机科学与技术专业学生的特点,重视算法试验的实践环节.虽然计算方法是一门难度较高的课程,但只要我们在教学过程中注意选择内容和方法,认真总结教学改革的经验,就能逐步提高该课程的教学质量和教学水平.

相关论文范文