数学建模培训中算法课程的创新性研究

2018-11-13 11:01陶庆云刘丽芳
科教导刊 2018年19期
关键词:数学建模

陶庆云 刘丽芳

摘 要 全国大学生数学建模竞赛取得了良好的人才培养效应,提高了学生的综合素质,特别是运用数学知识分析和解决问题的能力。数学建模竞赛对学生的算法设计、实现和分析能力要求较高,研究如何提高学生的算法设计技能是一项具有重要意义的研究课题。本文详细介绍了竞赛培训中算法课程教学时如何进行实例教学和如何鼓励学生开展研究性学习,以及实践环节如何进行分层次教学。

关键词 数学建模 算法设计 算法课程

1 数学建模与算法

根据全国大学生数学建模竞赛组委会提供的数据,2017年共有36375个队,近11万名大学生参加此次竞赛。参赛选手来自全国34个省/市/区(包括香港、澳门和台湾)及新加坡和澳大利的1520所院校。参赛人数再创历史新高。数学建模竞赛目前已成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛,已经取得了良好的人才培养效应。

数学建模竞赛的题目均来自实际问题或者有明确的实际应用背景。它的宗旨是培养大学生用数学思维和方法解决实际问题的意识和能力,这要求学生从实际问题中抽象出数学模型并选择合适的数学表示方式,设计出求解问题的算法步骤,再利用计算机进行仿真实验计算出模型的数值解,进而检验模型的正确性。这是一个复杂的抽象思维过程,其中对学生的算法设计、实现和分析能力要求较高。为此,研究如何在竞赛培训中提高学生的算法设计技能是一项具有重要意义的研究课题。

2 算法课程教学的现状

数学建模竞赛培训中算法课程的教学难度大,主要体现在课程涵盖内容非常广泛、理论性较强、学生编程水平有限、上机实践教学环节实施困难。一方面,可以说竞赛培训中各门课程皆涉及算法。这些内容包括计算机常用算法、现代优化算法、数值计算方法、线性与非线性规划、微分方程、各种概率与统计方法等等。另一方面,作为地方性院校学生的数学水平和计算机编程基础一般,尤其低年级学生学习编程时间短,实践编程练习少,从而学生普遍反映竞赛培训课程内容繁杂,理论深度大,上机实验难。授课教师一致反映要想在短时间内提高学生的算法设计技能实为不易。因此,从教与学两方面对算法课程改革进行积极探索具有重要的现实意义。

3 算法课程理论性教学的探索

算法课程的目的是培养学生全面理解算法设计与分析中的基本概念,掌握算法设计和分析的主要原理和方法,熟练掌握解决常见问题的经典算法,提高学生用计算机解决实际问题的能力。由于算法课程内容非常广泛且理论深度大,教师在培训中不可能全面的讲授竞赛中可能涉及到的所有知识内容,而只能尽可能多地介绍求解各类问题的基本算法。这时教师可向学生推荐优秀的辅导教材,供学生引申阅读,拓宽学生知识面,提高学生数学素养。

竞赛培训中我们提倡实例教学法,理论的讲授尽量做到深入浅出,给学生起引导作用,鼓励学生进一步自学,要求学生做到举一反三。例如,在讲授动态规划算法时,教师可先介绍如何用它求解斐波拉契数列問题,并与用递归算法求解斐波拉契数列问题进行对比,分析子问题的重叠性,从而突出动态规划算法的最大优点即避免子问题的重复计算,极大提高算法效率。然后教师可提出0-1背包问题,鼓励学生讨论分析,指出它与斐波拉契数列问题的相似性,即二者都可以看作多阶段最优化问题,都具有子问题重叠性,且适时指出这两个问题都具有最优子结构性质,因此可用相同的方法求解它们。此时教师再详细介绍如何用动态规划算法逐步求解0-1背包问题,最后再总结出算法的基本思想。

教学时应鼓励学生开展研究性学习,教学应是开放式的。所谓研究性学习是指学生基于自身兴趣,在教师指导下,从自然现象、社会现象和生活中选择和确定研究专题,并在研究过程中主动获取知识、应用知识、解决问题的学习活动。

研究性学习主要为了改变学生的学习方式,强调一种主动探究和改革创新的精神,主要为了培养学生自主学习的能力,转变传统的教师讲解学生接受的固定教学模式。研究性学习体现出一种学习的变革,这包括:(1)学习目的的变革:从为了掌握知识向为了解决实际问题转变;(2)学习内容的变革;从固定的纯理论知识向综合性、应用性知识转变;(3)学习过程的变革:从被动接受知识向主动获取知识转变;(4)学习方式的变革:从机械程序性掌握知识向灵活多变性理解知识转变。具体来说,在竞赛培训时教师可以根据学生实际情况设计出不同问题后,可由学生自由选择题目,自由分组交流,查阅相关资料,熟悉问题的背景知识,建立问题的数学模型,搜索相关的数据,探索求解问题的各种方法。在此过程中应充分发挥学生的主动性,鼓励学生从全方面不同角度看待问题、理解问题,学生也可向教师咨询,教师向学生提供引导性的建议,对较难的知识点作出详细讲解。最后教师对学生的学习过程及成果进行点评,并给出改进性建议。

这个研究性的学习过程不仅激发学生的学习兴趣,培养分析问题和解决问题的能力,也能培养和提高学生搜索资料,应用软件,写作科研论文等方面的能力,还能培养学生团队合作精神和创新精神。可以认为这样的教学过程就是一次小型的数学建模竞赛,凡是竞赛中含有的环节都让学生反复体验,竞赛所需要的各种能力和素养都能让学生得到充分的锻炼。

4 算法课程实践性教学的探索

算法课程的实践教学主要目的在于提高学生利用计算机进行仿真实验的能力。这要求学生至少掌握一门以上的计算机高级语言,如C、C++、Java等,必须熟悉常用的数学软件如Matlab、SPSS、Mathematica等。因此对于接触计算机编程时间较短的学生尤其是低年级学生首先要接受程序设计方面的基础培训。在竞赛中学生通过分析问题建立好数学模型后,必须设计出求解问题的算法步骤。一方面必须要借助于计算机工具编写程序实现算法才能计算出模型的数值解,另一方面需要根据计算结果来检验模型的正确性。于是,竞赛时学生能否利用熟悉的计算机语言编写程序实现算法,得出模型的结果就显得尤为重要。这不仅考验学生的计算能力,更考验学生的编程功底。而扎实的编程功底需要长时间的积累,要求学生熟练掌握各种基本算法、平时多做编程练习,掌握程序设计技巧。

实践教学中考虑到学生编程能力的差异,可将编程实验分为三个不同层次。首先,基础阶段包括观摩现成的经典算法程序,在教师的讲解和指导下进行模仿和修改以达到理解和熟悉经典算法的目的。其次,提高阶段包括学生修改算法求解同类型的简单问题,或者自己编程解决难度不大的具体实例。最后,应用阶段为学生分组合作解决各种综合性的具体实例。例如在学习动态规划算法时,在教师指导下学生应能编写程序求解较简单的斐波拉契数列问题,由于动态规划算法求解0-1背包问题存在较大难度,教师可提供现成的算法程序让学生观摩和修改。最后作为应用可提出合唱队形问题和组合数问题,由学生分组合作共同解决。

要让学生熟练掌握各类基本算法应是一个长时间的过程,为此应该鼓励学生进行自主性学习,让学生充分发挥主观能动性。算法的实践教学不应局限于培训的课堂内,而应充分利用好学生的课余时间,为此,可以让学生成立专门的算法兴趣小组,注重决学生感兴趣的各类问题,或者进行多样化的程序设计竞赛,由学生自主完成,也可由专任教师随时提供咨询,进行实战指导。当然,学生的自主学习过程离不开一个好的上机实验环境,我们提倡学校实验室课余时间免费向学生开放,像笔者所在学校已有部分实验室从早上8点到晚上10点都向學生免费开放。这受到了学生的热烈欢迎,也取得了良好的学习效果。

最后,算法课程的实践环节离不开一本优秀的学生上机实验辅导教程。辅导教程应该选题恰当,内容全面,层次分明,有利于不同水平的学生进行编程练习。

5 结语

新时期高等教育的目标是培养适应现代社会的创新型高素质人才,我们培养的大学生应具有创新精神和创新能力。这种素质和能力的培养需要通过教师不断优化教学过程以及学生不断改进学习方法来完成。作为数学教师要以一种研究者的心态去处理教学内容,将隐藏在繁杂内容中的基本数学思想发掘出来,并引导学生也能慢慢去发现问题中所蕴含的数学思想;在学生中要提倡研究性学习方式,努力培养学生的创新精神与创新能力。

而数学建模竞赛的开展恰好有助于提高学生的数学素养和创新能力,有助于促进学生的算法设计与分析能力以及应用数学知识解决实际问题的能力。参加数学建模竞赛离不开学生的研究性学习和自主性学习,离不开教师对数学课程和计算机课程教学体系的改革与创新,同样也离不开学校对教师和学生的管理方式的改革与创新。为了成功应对数学建模,我们应该了解学科发展的动态和前沿理论,应成为一个高素质的研究者,并将科学研究引入大学生的教学过程,进一步来看,数学建模也有利于提升整个高校课程教学的质量与效果。数学建模培训课程应成为高校课程教学改革的先锋,值得我们不断去探索和改进。

*通讯作者:陶庆云

参考文献

[1] 曲德祥.关于实践教学中算法设计与分析课程的研究及应用[J].信息技术与信息化,2012(1):61-63.

[2] 姜启源,谢金星,叶俊.数学模型(第3版)[M].北京:高等教育出版社,2003.

[3] 司守奎,孙玺菁.数学建模算法与应用[M].国防工业出版社,2011.

[4] 陈蕾,张怡婷,许建.基于创新能力培养的算法设计与分析课程教学改革[J].计算机教育,2010(20):27-29.

[5] 秦董洪,陈智勇.算法设计与分析课程教学研究[J].计算机教育,2013(11):98-101.

[6] 林劼,戴波.项目驱动型算法设计与分析课程教学方法[J].计算机教育,2014(9):69-71.

[7] 耿国华.算法设计与分析[M].北京:高等教育出版社,2012.

[8] 夏师.关于在数学建模教学中开展研究性学习的思考[J].教育与职业,2010(12):96-97.

猜你喜欢
数学建模
数学建模课程教学现状分析及对策研究
基于常微分方程的数学建模问题的求解
高职院校将数学建模思想融入高等数学教学必要性研究
数学建模过程中的模型优化算法
在数学建模中培养学生的提问能力
数学建模中创造性思维的培养
谈数学建模时的问题分析步骤
树立建模意识 培养学生创新思维
最小二乘法基本思想及其应用
建模思想在数学教学中的渗透研究