APP下载

关于数学类专业学生算法实现能力的培养研究

2014-09-03李颖徐秀娟

教育界·下旬 2014年8期
关键词:教学改革

李颖?徐秀娟

【摘 要】针对当前数学类专业的计算机课程专业特点不突出的问题,提出以面向数学与计算机课程相结合的系列课程改革,并以数学方法编程课程为例,从教学内容、教学模式和考核手段等多方面进行阐述。经过近四年的教学实践验证,此次教学改革在提高学生的数学算法实现能力方面是比较成功的培养模式。

【关键词】教学改革 算法编程 案例驱动

1.背景

计算机科学的飞速发展和广泛应用给数学与工程技术、社会科学及管理科学的结合提出了很多新课题。数学类专业就是解决此类课题的新型理工结合式的专业,由应用数学、信息与计算科学等学科组成。其主干学科是科学计算和计算机科学与技术。这次教改之前,我校的数学类专业学生主要学习数学类和计算机类(C语言、操作系统、软件工程等)课程。

2.课程改革

以往我校的数学类专业的语言课程教授限于学时要求,只是介绍了基本语法和可视化控件的应用。的确,任何一个编程者也许能利用可视化组件拼凑出“看起来还不错”的应用程序。但这样的程序却将带来高昂的扩展和维护成本。所以应该进一步深入学习C#的核心编程思想——面向对象编程,它涉及人类思维(抽象)模式、建模符号体系、面向对象方法学等诸多方面。把需求从自然语言翻译成对象模型,再把对象模型翻译成特定语言代码,这在数学方法编程课程中得到了实现。

3.教学实践

美国高校本科新教学改革主要包括强调主动学习、协作学习与学术挑战以及推进服务学习和国际教育体验等内容。通过这些教改,美国大学出现了一种以主动学习和加强社会联系为特征的新教学模式。本科课堂开始呈现更灵活、更开放和结构多元的教学态势;高校以教师讲授为主的教学所占比重大幅下降,而小组讨论式的学习大为增加。一些主动学习方法如大量阅读、案例分析、课堂讨论、合作项目研究、学科论文写作等已经成为美国高校本科教学中常见的教学手段。据此以数学方法编程课程为例,谈一下我校的教学改革实践方案。

(1)教学内容。数学方法编程课程以数学分析、高等代数和概率论与数理统计的典型算法为例,利用C#语言在winform环境下开发实现。这样做我们既可以让学生复习已学数学课程的算法,更加深刻理解算法及算法间的联系,又可以让学生练习winform编程,提升数学算法的编程能力。

比如设计一个利用梯形法计算定积分,考虑到梯形法是计算定积分的基本方法,其他方法是它的改进,我们可以把梯形法作为一个类来设计。为了使被积函数的使用范围广,我们仿照MATLAB程序设计界面,按五种基本函数类型设计输入模式,这时在梯形公式中使用的被积函数是不同的,为了提高程序的可扩展性,我们根据输入函数类型利用委托让被积函数指向不同的函数类型。在接下来的课程中用Romberg积分法计算函数的定积分,我们采用继承梯形法中的基类,派生出Romberg积分法的类,这也有助于学生理解两种积分方法的关系,为了配合Romberg积分法,我们定义了动态数组存储中间结果,这有利于学生复习动态数组用法。

(2)教学模式。为了培养学生的学习兴趣、提升学生的自学能力,我们采用让学生主动学习和加强复杂算法实现的新型教学模式。传统的“教师讲,学生听”课堂灌输式教育通常会造成学生眼高手低,缺乏学习兴趣,动手能力较弱等缺点。我们可以采用发现/启发式教学模式,首先观察数学软件的实现模式,然后照此设计界面和程序。比如仿照SPSS的单因素方差分析算法,我们采用文件的形式对数据进行导入和结果导出。然后以此为例,让学生实现双因素等重复试验的方差分析的算法实现。教师帮助学生分析问题,提醒学生数据的存储结构需要改变,而具体的实现方法又让学生自己选择,以启发式和项目驱动方式培养学生的自学能力和动手能力,提高学生的学习兴趣。

(3)教学手段。对于计算机类的课程,最有效地提高编程能力的方法就是多上机实践。所以本课程采用在机房授课的方式,实例演示直接在编程环境中逐语句键盘键入,让学生更全面地了解编程过程。在教学过程中更多地教授学生获取帮助的方法,遇到问题能够自己通过“帮助”“调试”“转到定义”等路径解决,使学生更了解C#编程的编辑环境。教师不可能把所有知识全部交给学生,但若是更多交给学生解决问题的方法,会让学生解决实际问题的能力大幅提升。

(4)考核方式。因为C#的编程环境带有智能下拉列表,每当键入类或关键字的时候总会有输入提示,所以不需要编程人员记住所有的命令、属性和方法的全称,对于同一方法允许多种参数类型等,这些特征使得笔试和上机考试的差别较大。本课程就根据此特点采用上机考试,教师通过网络把试题发给学生,学生进行程序实现后,发回源代码作为答案。平时留作业也是发回源代码,真正做到学生为主体,能力为本位,营造项目式驱动的学习考试环境。

4.结束语

本文针对当前数学类专业的计算机类课程存在的问题,从课程设置、教学方法、考核手段等方面出发,以数学方法编程课程为例,提出了一个应用型为主体的教学课程,以确保学校的人才培养目标与社会需求的一致。经过了三年的教学实践,发现相对传统教学方式,学生更加熟悉编程环境,动手能力更强,在参加数学建模竞赛和做毕业设计时更加得心应手。

【参考文献】

[1]邱劲等.《数据结构》课程教学改革与实践探索[J].西南师范大学学报(自然科学版),2013,38(1).

[2]林菁.多级项目驱动教学在数据库系列课程中的应用[J].计算机教育,2013(16).

[3]游柱然等.近年来中美高校本科教学改革的比较与反思[J].江苏高教,2013(3).endprint

猜你喜欢

教学改革
完全学分制下选课管理的思考与实践
金工实习教育对工科院校创客教育影响分析
新形势下小学语文教学方法研究