蒋 钰,张晓丽
(1.深圳信息职业技术学院公共课教学部,广东 深圳 518172;2.深圳信息职业技术学院中德学院,广东 深圳 518172)
科学家对大型工程的设计、未知科学领域的探索以及开展独创性工作等均需要进行严谨、周密、非常详细的科学计算和理论分析研究。这些工程设计和知识探索所需要的科学计算、分析和研究均离不开计算方法,因此《计算方法》课程的教学和课堂设计就显得尤为重要。教师只有不断地完善和提高该门课程的教学质量,充分激发起学生的浓厚兴趣,调动起学生的积极主动性,使学生充分理解计算方法算法求解设计的思想,牢固掌握算法的编程技巧,提高学生解决实际问题的动手能力,才能使《计算方法》课程的教与学和实际应用融会贯通、融为一体。本文结合《计算方法》课程的特点,有针对性地提出了《计算方法》课程教学改革的方案,在教学方法、课程内容设置、课程考核方式等方面进行了一些改革和创新。
《计算方法》是一门非常重要的基础课程,它是科学计算的核心,对解决实际问题必不可少。该门课程对培养和提高学生解决实际问题的能力、科学计算能力和创新能力具有极其重要的作用[1]。数值计算方法不仅包含有数学理论类型的数学公式,又具有实际问题的应用,还需要一些计算机编程技术,因此它具有抽象性、严谨性、实验性[2-3]等特点。
在数学教育工作中,时常遇到学生问这样的问题:“老师,学习数学究竟有什么用?”学生感觉所有算法不过就是一堆的定理、公式,在学生的心中觉得这门课程缺乏实用价值,烦躁乏味。在《计算方法》的教学过程中,教师往往把它作为一门纯数学类课程,进而过分强调该课程的严谨性、系统性、完整性,却忽视了这门课程所具有的实际应用性及其发展性。
《计算方法》课程普遍具有以下特点[4-5]:每种算法均有其对应的数学公式和相应的误差计算公式,而且定理定义繁多,各种算法的演变及公式推导和定理的证明极其复杂,它的理论性非常强,又具有一定的抽象性,加上算法相当丰富,构造的每种算法公式都需要通过编写相应的程序代码在计算机上实现。由于该课程的这些特点决定了它是一门知识丰富、逻辑性强、理论抽象和实际应用结合非常紧密的课程。
基于以上现状及数值计算方法的课程特点[6-7],本文创新性地提出以下几点课程教学方法改革的尝试。
学习过程其实质是一个逐渐发现问题、分析问题和解决问题的过程,因此我们提出以解决生活中的实际问题来驱动教学。这些案例既有学生日常的生活案例,也有高科技方面的案例。通过培养学生对各种算法的熟悉感也增强学生的好奇心,从而驱动学生去学习和探索。以问题驱动教学是根据问题的实际情景及其实际数据所对应图形的特点,建立相应的数学模型,然后设置合理有效的算法,让学生在教师指导下进行有目标的思考、探索寻求,从而解决实际问题的一种教学方法。
兴趣是人们做好任何工作的源动力,因此应从培养学生的学习兴趣入手,课堂上理论讲授时结合实验演示,具体数值实验以选取学生身边发生的事件为主,增加一些科技方面的案例。通过让学生分组讨论,提高学生的参与性,扩大他们的知识面,让学生明白算法在生活中的具体应用是处处可见的,从而激发学生的学习兴趣。
培养学生学习某一门课程的兴趣,必须先了解该课程的研究对象。计算方法本质是研究科学计算和工程设计过程中求解由实际问题经过理想化简单化以后建立的数学模型的数值解[8],具有相当广泛的实际应用背景。讲授课程内容时,每一章的内容只需要讲解一个经典算法,通过一个实际问题导入,然后设计算法,编写程序,演示计算过程及其结果。其它算法都由学生分组讨论并且去实现。比如线性代数方程组求解这一章的内容,只需要讲解Gauss列主元算法,通过超市商品采购问题的引入,建立线性方程组,设计算法,运用Matlab软件求解该线性方程组,得出数值解,从而解决实际问题。其余算法都由相关的实际问题引入,安排学生分组讨论,然后由小组组长解释汇报每一段程序的逻辑语句,演示程序计算过程和计算结果,在组长汇报过程中,提问该组其他同学,请同学解释程序中设计的每行代码的实际含义及其上下语句间的逻辑联系。讲解算法时,给学生讲清楚算法设计的思想、算法的设计构架、从实际问题导入、建立数学模型、设计算法、编程实现。
授课教师在讲授本科数学类课程的教学过程中,以往更多注重的是定理、公式的证明、推导以及计算,忽略了或者没有充分阐述为什么构造这种算法,构建算法的思想来源,并且很少结合工程上的实际应用。相反我们是从解决实际问题出发,激发学生求解实际问题的兴趣,使学生充分理解算法构建的思想来源,在实现算法编程时充分阐述所使用到的定理和公式。例如,在讲授插值法的时候,引导学生思考插值法在实际生活中的应用。考虑首先引入一个具体的实例,根据工程上提供的测试数据如表1所示,画出飞机机翼的一部分几何图形,然后建立相应的数学模型,设计数值算法,再进行编程实现求解。本案例分别采用拉格朗日插值算法(Lagrange)、分段性插值算法(Piecewise linear)和三次样条插值算法(Spline1)三种不同算法对其进行求解,计算结果如图1所示。
表1 工程数据
图1 计算结果
从以上三个计算结果的图形我们可以很直观地看出,关于这个实际的问题,我们会选用三次样条插值算法。首先拉格朗日插值算法在x=0和x=3之间的弯度太大,不便于实际设计。而x=14弯曲处,分段线性插值的光滑性不够好,出现尖点。因此通过比较不难发现,三次样条插值算法是最优的。所以关于本案例选择三次样条插值法最合适,同时给学生指明针对具体的案例,有些算法适合,而有些算法不适合,算法本身没有好坏优劣之分。
图2 计算结果
在讲解最小二乘法的时候,采用学生日常能够接触到的事例演示和模拟,以便于学生能更深层次理解该算法和用途。比如利用社会零售总额与职工工资总额的数据,建立数学模型,设计数值算法,通过数据拟合,发现规律,从而达到预测职工工资和商品销售额度的目的。从图2左边的图形可以看出,商品销售额和职工工资基本呈线性关系。数据拟合结果如图2左图所示再进一步从销售额和流通率之间的关系,通过数据拟合,设计高效的算法。建立相应的数学模型,根据模型求解问题,通过商品的流通率更好地预测商品的销售额。数据拟合结果如图2右图所示,数值结果图形化直观明了。根据这两个实例,学生进一步理解了数据拟合的作用,更好地掌握了数据拟合,通过学生身边日常发生的事件为案例设计算法,从而加强学生对知识点的熟悉感,也加深学生对本门课程的学习兴趣。
关于每种算法都是用这样类似的实例,让同学们根据具体的数据设计各种算法,画出计算结果的几何图形,反复观察比较各种算法在具体实例中的优劣性,算法本身并没有优劣性之分,但是针对具体问题就要选择适合于该问题的最优算法。以此手段使得学生对各种算法有更深层次的理解。
充分利用学生的好奇心与新鲜感,激发起浓厚的学习兴趣,多介绍其实用性,尤其是介绍高科技的应用,使学生能了解到各种实际的高科技问题均是运用计算机软件进行求解的,再配上相应的计算结果的几何图形,这样图文并茂生动形象的授课,很快就会激发学生的浓厚兴趣,认识到该门课程的实际意义,从而激发学生的主观能动性和积极性。注重几何直观性,图文并茂,加强直观性教学,就是在教学过程中把猜想、画图、类比、动画等各种手段灵活加以运用,在概念、定理、证明、解题中突出它的直观性,从而使得学生产生浓厚的学习兴趣,培养他们的数学直觉,取得良好的教学效果。
上课前就把lagrange插值算法的程序及实际算例的代码以及数据拟合的操作示例等相关文件发到学生微信群,要求学生根据lagrange插值程序改写课本上其它各种插值算法,从而加深学生对各种插值公式的理解与记忆,学生体验到自己也可画出飞机的机翼轮廓,这样使得学生感觉飞机机翼设计这种高科技并不是那么遥远;解决超市的管理层如何设计商品数与职工工资的比例问题,从而带着新奇又兴奋的心理走进课堂学习。根据学生的上机表现,适当增加或者减少平时成绩和上机操作成绩。奖励与惩罚并用,提高学生上机的积极主动性,培养学生的动手能力和解决实际问题的能力。
讲述此种算例的时候,引导学生运用Matlab软件,简单方便。因为Matlab中有现成的插值方法,也可以自己编写代码。教师上课时可以现场演练Lagrange、分段线性和三次样条三种插值方法,并且比较三种算法针对不同实际问题的优劣性。并且把程序发给学生,要求学生根据教师所给程序改写其它的插值算法,从而比较各种插值法的异同点,Matlab中自带很多库函数,直接调用,简单方便。
关于《计算方法》这门课程,学生面临最大的困难和挑战是枯燥繁杂的数学公式推导和程序语言的实现。因为课堂时间有限,所以教师制作微课是必要的一种教学手段。我们把课堂上学生最不容易理解的数学公式推导做成微课视频,发到学生的手机微信群或者QQ群上,这样学生可以反复观看,而且也没有时间和地点的限制。程序实现的算法,老师也可以先自己实验操作,边操作边讲解,通过录屏软件录制为小视频,发到学生手机上,从而使得枯燥的数学理论教学变成了图文并茂有声有色的视频讲解,而且学生可以随时随地学习,采用主体课堂与微课课堂互相结合的混合学习模式,提高学生对知识点的理解和把握,学生的学习积极主动性和学习效果均得到了显著提高。此外,在课堂上经常采用“弹幕”课堂模式,防止学生上课打游戏,从而引导学生跟随老师的指导进入课程学习。
本课程采用理论考试(半开卷)与上机实验考察相结合的考核方式。上机实验考试学生可以利用互联网,也可以参考以前发给他们的相关微课视频。
每门课程的考核都是教学的最后一个必不可少的环节,是考核教师教学质量和衡量学生学习水平的一个重要环节,这个环节的实施可以更好地促进和督促学生学习和掌握所学知识,提高学生对问题的分析能力和解决能力。依据这门课程的教学目标,要求学生能够运用数学相关算法及其理论解决现实生活中的实际问题,以及用计算机程序设计语言编程或者用数学软件实现其算法,因此本课程采用理论考试(半开卷)与上机实验考查相结合的考核方式。理论部分主要考查学生对计算方法的基本概念、算法的设计及其构造思想的掌握。考题要有一定的综合性,知识面要宽,但是尽量保持计算量较小的原则。理论部分考试允许考生用规定数量的纸张自由准备考试需要资料,考试仍采用定时的书面答卷形式,这样既保证考试的公平性,又可以避免学生死记硬背。对于实验考核,教师可根据讲授内容提供多个应用性较强的实验题,尽量涵盖课程中的重要算法,以备学生自由选取。为防止学生之间互相抄袭,保证成绩的客观公正,可将学生分成三人或四人一组,每组随机抽取一个实验题目,学生必须在教师面前现场进行程序的设计和运行,并回答程序设计中的相关问题,教师可以根据实验报告、程序设计、问题回答等给出每组的实验考核成绩。最后将理论考试成绩与实验成绩按一定比例计入该课程的最后成绩。
《计算方法》的教学改革是一项艰巨的任务,需要教师、学校等多方面长期进行研究、实践,需要根据互联网时代大学生自身的认知特点有针对性地调整教学方法、课程内容设置和教学计划,以提高课堂教学的效果和学生的学习质量。本文从互联网时代大学生的心理发展认知和《计算方法》课程的特点出发,有针对性地提出了《计算方法》课程教学改革的方案,通过在教学方法、课程内容设置、课程考核方式等方面的革新,充分激发了学生的学习兴趣,逐步提高了学生的科学计算能力和创新能力,从而提高这门课程的教学质量和教学水平。
通过以上的教学改革,以近三年的教学结果来看,《计算方法》这门课程得到了学生的认可,激发了学生对本门课程的学习兴趣,加深了学生对每种算法公式的理解和记忆,使学生所学习的算法在实际生活中得到了具体的应用,取得了突出的教学效果。