一种融合竞争机制的程序设计课程实践教学方法

时间:2022-06-23 07:02:14

一种融合竞争机制的程序设计课程实践教学方法

文章编号:1672-5913(2008)16-0019-02

摘要:本文介绍了我院如何在程序设计课程的实验中融合竞争激励机制,该方法借鉴ACM模式的成功经验,旨在提高学生程序设计的学习兴趣和热情,提高学生的创造性思维和解决问题的动手能力,并且培养学生的自学能力和创新能力。

关键词:ACM;竞争机制;程序设计;实验方法

中图分类号:G642

文献标识码:B

1竞争与激励机制的重要性

程序设计是一门交叉多学科,内容广泛且比较抽象,同时具有严密逻辑性的课程。在传统的教学模式中,不少教师发现部分学生对该课程容易产生厌学情绪,在后期甚至有一些学生干脆选择放弃。基于这种状况,对传统的教学模式进行探讨与改革是必要的,解决这种局面的一条途径就是提高学生的学习兴趣和主动性。

对学校而言,提高教学质量是第一要务。教学质量的提高有赖于教师和学生的共同努力。教学活动是教师教和学生学的双边活动,既要求教师充分发挥主导作用,又要求学生充分发挥主体作用。也即要求教师改进教学方法,同时又要求学生端正学习态度,两个方面缺一不可。在某种意义上,后者更为重要,引入竞争机制可以真正调动学生学习的积极性,有助于从根本上解决影响教学质量的深层的矛盾。

目前,QQ是国内最流行的即时通讯软件,它的成功因素很多,其中“等级机制”无疑做出了重要的贡献,网络上甚至出现了大量的QQ外挂服务,外挂服务的火爆表明有很多人希望尽量提高其QQ等级,也在侧面证明了竞争与激励机制产生的重大效果。以至于在后来,其他即时通讯软件也纷纷效仿QQ 的做法,如飞信等,另外还包括很多网络游戏等。这个例子进一步说明了只要存在竞争与激励措施,人们就会有兴趣和热情去参与,所以,在程序设计课程中引入这种竞争和激励机制,创造一个充满生机活力的良性运行机制,有利于激发广大学生的学习积极性和主动性,使其真正实现由“要我学”到“我要学”的转变。

2ACM模式实践教学

ACM国际大学生程序设计竞赛(简称ACM/ICPC)是由国际计算机界历史悠久、颇具权威性的组织ACM学会

(Association for Computer Machinery) 主办,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在让大学生运用计算机来充分展示自己分析问题和解决问题的能力。

ACM涉及学科知识面广,有助于培养学生自主学习的能力、创新能力,也有利于团队精神的培养。该项竞赛从1970年举办至今,历届竞赛都荟萃了世界各大洲的精英,云集了IT界的“未来之星”,而受到国际各知名大学的重视,并备受全世界各著名IT公司如Microsoft、GOOGLE、IBM 等的高度关注,成为世界各国大学生最具影响力的国际级计算机的赛事, ACM所颁发的获奖证书也为世界各著名IT公司、各知名大学所认可。中国高校从1996年开始举办ACM竞赛,得到国内众多知名高校的积极响应和热心参与,目前更是呈现迅速发展的趋势。由于该竞赛设定一套合理的竞赛排名、挑战规则,提供了一个学习和使用程序设计语言和算法的完整实践模式,让学生以精通编程为荣,形成一个积极向上的自主学习氛围,一些高校己将此模式运用到软件基础课程的教学过程中并取得显著效果。

在程序设计课程的传统实践教学中,每个学生编写程序源码的IDE和编译环境等都是本地的,他们最关心的问题停留在程序能否运行通过并最后上交,学生之间没有竞争的气氛,感受不到激励环境,他们的实践也属于自我为中心的“本地”模式。而ACM模式的实践教学完全区别了传统的实践教学,ACM平台采用B/S结构,学生用网页浏览器提交程序源代码,服务器接收到源代码后编译,并将相应的编译执行结果返回学生端。因为ACM的在线提交系统还整合了成绩统计、名次排序等功能,增加了很多趣味性,同时也增强了交互性,还集成了竞争激励机制,激发了学生对程序设计课程的学习兴趣、爱好和认知主体作用,从而极大地提高了学生的学习效率,收到了好的教学及学习效果。图1是ACM模式实践教学的一个序列图。

著名的程序设计师Stanley B. Lippman曾经说过一句经典的话:编程是一门艺术。既然是艺术,那么创作它的思维就可以是广泛的,所以它的实现过程也是灵活多变的。ACM模式正是以解决问题为目标,解题方法不受限制,可以让学生有更多的创新思维空间。传统实践教学更多的是对教师范例的模仿,学生的对程序的实现没有更深层次的思考,不会太多考虑时间复杂度和空间复杂度。而通过ACM平台进行教学,不仅要求学生独立分析问题,考验他们将知识点综合利用的能力,并且还要在算法上进行合理的优化,要在更短的时间内做出准确的解答。ACM设计竞赛的成功也表明,采用ACM模式进行实践教学,可以给学生一种积极向上,公正、公平的感觉,学生实践完成以后总觉得还可以做得更好,令他们产生一种要继续学习的动力,甚至将产生的兴趣变成一种发自内心的热爱。基于程序运行结果的方式实现了实验与学生交互的实时性,同时也实现了学生名次的实时性,而这正是本方法刺激学生提高程序设计兴趣的亮点,起到了与QQ等网络游戏的等级机制相同的效果,多数学生为了能够获得一个更好的名次,会努力地解题并提交程序,在整个过程中,又会促使他们寻找各种资料和解题方法,从而提高了他们的程序设计能力。在实践过程中,发现这种机制是成功的,众多学生把这种模式的实验当成了一种游戏过程,学生的积极性和程序设计能力都有了较大的提高,而这正是各位教师所期望的,也是学校所期望的。因此,它给了教学工作者一个启发,在教学过程中如果能够提供这样一个游戏的、竞争的过程,就有办法提高学生的学习兴趣和热情。

3结束语

ACM程序设计竞赛取得了巨大的成功,不可否认这种模式是可以借鉴并引入到实际教学改革和探索中来的。事实上,已经有一些高校将该模式运用到了某些程设计语言课程的教学过程中并取得显著效果。例如,我校2006年采用ACM模式开发了一套针对C语言的在线提交系统,投入运行以来已经取得了良好的效果,目前系统的在线注册用户超过3000人,日平均提交频率约为1000次/天。在最近几次的浙江省计算机二级考试中,学校C语种的通过率基本保持在90%以上,较往年有了大幅提高。

采用ACM模式的程序设计课程实践教学,将理论知识学习和实际应用有机结合,注重编程能力的提高和解题思维能力的训练,引入竞争交流机制,为学生提供了因材施教的途径,激发了学生自主研究性学习的兴趣。ACM模式实践教学在以应用型人才培养为目标的三本及高职院校的程序设计课程实践教学的应用尤显重要。

参考文献:

[1] 欧阳民.竞争机制的引入与教学质量的提高[J]. 科技信息,2007,(07).

[2] 张秋香.如何有效地激发学生的学习兴趣[J]. 人教期刊,2002,(11).

[3] 毛华,罗朝盛.基于Web的在线考试系统的设计与实现[J]. 计算机时代,2005,(11).

[4] 李文新,郭炜.北京大学程序在线评测系统及其应用[J]. 吉林大学学报,2005,(08).

[5] 李翔昊.感受ACM-ICPC竞赛的教育意义[J]. 计算机教育,2006,(03).

上一篇:计算机基础教育课程的前沿性与实用性探讨 下一篇:应用型本科操作系统实验教学初探