ICPC竞赛对计算机教育的促进

2022-09-12 版权声明 我要投稿

1 背景

ICPC是由美国计算机协会 (ACM) 主办的面向大学生的国际性程序设计竞赛, 是世界上公认的规模最大、水平最高的国际大学生程序设计年度竞赛。这项活动近年发展迅猛, 据统计, 2009年报名参加这项竞赛的中国境内队伍就有四千多支 (即一万二千人以上) , 占全世界总队数的一半。为什么从清华北大等国家重点大学, 到各地方大专院校的学生都踊跃参加这项活动呢?这是由ACM/ICPC的竞赛目标所决定的。ACM/ICPC竞赛旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。ICPC竞赛的意义在于为学生提供了一个展示才华和交流合作的平台, 该平台能够激发学生的学习热情, 从而带动本校计算机基础教学水平的提高。[1]

开展ICPC活动在大学计算机专业教育的几个方面发挥重要作用。

2 优化教学环节, 提高教学质量

数学是信息学的基础和重要工具, 计算机算法是信息科学的核心主题之一, 是I T专业学生必须熟练掌握的基础技能, ICPC竞赛的考核范围包含了这两方面的知识。ACM-ICPC竞赛和培训模式在一定程度上将基础学科很好地应用于解决实际问题中, 强化对知识点的学习和理解, 提高思维能力。[2]ICPC通过把一个个生动的现实问题呈现在学生面前, 让学生从实际问题出发、提取问题的数学模型、进而选择正确的高效的算法、最终以运行程序的方式解决问题。学生在掌握理论的基础上加以灵活运用以解决实际问题, 既加深了对理论知识的理解, 又锻炼了动手能力, 可大幅度提高学习效果。从实际效果来看, 凡是坚持训练的学生, 其数学/算法/编程/英语阅读理解等各方面水平, 比其他学生要高出不止一个档次。

I CPC竞赛大多采用PC^2竞赛软件, 而在日常训练中大多采用Online Judge系统。Online Judge系统是一个网站形式的在线评判系统。它采用软件工程中的“黑箱测试”方法对程序的正确性进行评判。通过精心设计的若干组测试数据, 从正确性、完备性、时空效率等多方面对学生的程序进行测试。只要学生提交了源代码, 系统即时进行自动编译、自动输入测试数据、运行程序, 几十秒之后即可知程序是否正确。将一些优秀的比赛试题作为习题或例题引入到相应的课程中, 以提高教学质量, 增加学习的趣味性, 充实程序设计类课程的教学活动。[1]把Online Judge运用在教学环节中, 不但可以大大提高教师批改作业的效率, 而且学生的练习效率也得到提高, 兴趣也上来了。PC^2竞赛软件的原理与Online Judge系统相同, 我院已经采用PC^2软件举办了十多次校内竞赛活动, 参加者逐年增加, 并取得了满意的效果。今后我院将要搭建一个Online Judge系统, 把《高级语言程序设计》《数据结构》《算法分析与设计》《人工智能》等课程的实验环节以及课后作业, 放在Online Judge系统上, 建立一个覆盖多门课程、具备高中低难度层次题目的题库。

3 激励学生情商, 使之发奋图强

参加ACM/ICPC竞赛, 本质上是参与一种开放型的自主学习, 训练的过程才是最重要的环节, 是学生收获最大的阶段。除了通过思想教育等手段端正学生的思想之外, 通过竞赛训练不但让学生建立明确的奋斗目标, 坚持执行训练计划, 以实际行动改变懒散松懈、得过且过的行为模式, 而且对学生的意志品质的训练, 思维灵活性的培养, 执行力的自我训练, 均起到重要作用。

吸收低年级学生成为新队员, 使低年级学生确立明确目标。根据对我院2001级至2005级学生的调查得知, 学生在大学的第一、二年普遍对职业发展方向、学习的目标、学习的课程是否实用等等问题感到迷茫。这就造成缺乏学习的动力, 学习没有方向性, 没有重点。通过开展ICPC竞赛系列活动, 不但让学生确立奋斗的目标, 更让大多数学生了解信息专业领域的核心知识与核心竞争力, 及早投入到正确的学习氛围中去。

4 开阔学生视野、升华学习方法、提高学校声誉

推广ICPC活动, 可以建立同学们钻研知识的氛围、促进校内校外交流、开阔学生视野。通过与外校学生的交流, 让学生清晰知道自身的能力与定位, 看到差距, 点燃奋起直追的斗志。从实际情况来看, 我院2007级的部分优秀学生, 通过参赛、阅读资料、自学和训练, 所学的知识已经大大超越本科的范围, 部分学生已经接触或掌握研究生水平的算法知识, 尖子学生所掌握的知识广度深度、能力水平, 已经非常接近重点院校的学生。

计算机算法层出不穷, 学无止境, “学习的方法”比“学习的内容”更重要。如果只是一味追求学习算法的数量, 而忽略对学习能力和思维能力的培养, 学生就只能停留在照本宣科的编码阶段, 很难上升到创新思维的层次。经过长期的训练与学习, 一些学生已经意识到很重要的一点:学习模式和思维模式的改善最终导致学习效率的提高, 只要付诸行动, 学习过程将得到质的提升, 受益终身。

5 结语

总之, 从近年开展ICPC系列竞赛活动的实际效果来看, 成绩是斐然的, 收获是巨大的。通过教师的共同努力、学生的刻苦学习, 不但提高了学生的专业素养, 而且提高了毕业生的就业层次, 2005级黄传通、2006级郭日升、邱昌杰等同学均在毕业前被金山软件集团录用。这不但大大提高了我校的知名度, 也为低年级学生树立良好的榜样, 树立起自强的信心。我院通过校内竞赛挑选出来的同学参加各类ICPC比赛, 取得成绩逐年上升。从2008年开始参赛, 在珠海邀请赛获得一个三等奖, 2009年取得一个二等奖和一个三等奖, 同年还获得一个广东省赛三等奖。从中我们看到学生学习态度的根本变化, 逐年有越来越多的学生参与进来, 我们也有信心竞赛成绩会不断提高。另一方面, 开展ICPC活动改善了教学效果, 促使教师自身不断学习与提高。ICPC与挑战杯、高校杯、机器人比赛等各类IT竞赛形成互补, 以兴趣带动学习, 为学生提供多种发展方向, 引导学生全方位发展。因此, 我们将更坚定地在全校推广大学生程序设计竞赛活动, 借助竞赛平台让更多的学生体会到学习的快乐, 成长为软件行业的优秀人才。

摘要:地方非重点院校的计算机专业教育经历了多番的改革与发展, 应用型大学的目标是培养具备扎实基础和专业素养的软件人才。本文论述了借开展国际大学生程序设计竞赛 (ICPC) 活动的机遇, 深化教学改革, 优化教/学环节、促进教/学质量、提高教/学效率, 最终提升本科教学水平。

关键词:ICPC,计算机本科教育,能力训练,OnlineJudge

参考文献

[1] 李文新.ACM参赛教练:收获, 不止是心灵上的[J].计算机教育, 2006 (3) :70~71.

[2] 李翔昊.感受ACM-ICPC竞赛的教育意义[J].计算机教育, 2006 (3) :74~75.

上一篇:税收筹划在企业会计核算中的应用探讨下一篇:大庆油田二次开发技术策略与实践