APP下载

普通本科院校ACM/ICPC竞赛教学的探讨

2015-03-16赵磊等

电脑知识与技术 2015年4期
关键词:普通本科教学模式

赵磊等

摘要:针对普通本科院校ACM/ICPC教学中存在的问题进行探讨,提出改进竞赛教学模式,建立完善的培训体系,稳定指导教师队伍,提高团队配合效果。

关键词:ACM/ICPC;普通本科;教学模式;团队配合

中图分类号:G64 文献标识码:A 文章编号:1009-3044(2015)04-0129-02

Abstract: ACM/ICPC is an international collegiate programming contest held annually by ACM. This competition is the oldest international programming contest and has most influential on the international undergraduates. This paper discusses the problems existing in ACM/ICPC teaching of ordinary undergraduate university, puts forward point of view as improving competition teaching mode, establish the perfect training system, stable teachers team, improve the team cooperation effect.

Key words: ACM/ICPC; ergraduate; teaching model; team cooperation

1 ACM/ICPC介绍

ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,简称ACM/ICPC)是全球规模最大,最有影响力的大学生程序设计竞赛。其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。它始于1970年,到2013年为止已经举办了37届。这项国际顶级赛事是大学生智力与计算机解题能力的竞赛,是大学生展示水平与才华的大舞台,是全球高校计算机教育成果的直接体现。该项竞赛分为区域赛和世界总决赛,各大洲的区域赛安排在上一年的9月-12月进行,第一名自动获得参加世界决赛的资格,世界总决赛安排在每年的3月-5月举行[1]。

ACM/ICPC要求以团队的形式参赛,每个队伍由3名队员组成。每队使用一台计算机,要求选手在全封闭的环境内(不能有任何通讯设备,可以携带任何纸质资料)连续5个小时对8-11个问题进行解答。竞赛采用英文命题,题目涉及面非常广。需要参赛学生具有扎实的基本功、良好的分析问题的能力、较好的团队协作能力和压力下编写程序的能力。该竞赛为学生提供了一个学习和使用程序设计语言和算法的完整实践模式,让学生以精通编程为荣,形成一个积极向上的学习氛围。

对于师资和生源都不如重点本科院校的普通本科院校,在ACM/ICPC竞赛中处于劣势,“通过怎样的竞赛教学来尽量弥补普通本科院校的不足,从而能在ACM/ICPC竞赛中取得理想成绩”是一个值得深入探讨的问题。该文结合本校的经验和教训,对ACM/ICPC竞赛教学进行探讨。

2 普通本科院校在ACM/ICPC竞赛教学中存在的问题

2.1 普通本科院校不能照搬重点本科院校的教学模式

普通本科院校与重点本科院校的基础条件不同,重点本科院校师资的个人能力和生源的个人素质都较高,教师按日常教学模式教学——老师传授什么学生就接受什么的教学方式,学生也能接受和消化,而普通本科院校则不行。因为在这种教学模式中学生往往处于被动学习状态,没有充分独立分析和思考的时间,加上竞赛教学内容本身比日常教学内容要难很多,学生接受能力相对较差。所以这种教学模式运用在竞赛培训中直接导致学生的学习效果差,对知识点的理解也就是在老师讲的那一刻,老师讲完后就变得模糊甚至忘记。同时竞赛教学的实践环节主要以学生自己利用课余时间完成为主,没有相应的实践教材,老师只提供问题和题解。学生学习全凭兴趣和自觉性,一旦题目稍有变化,就不知该如何解答,导致学习积极性下降,甚至放弃。长期以往,学生对知识点的理解抽象,解决问题能力低下,在竞赛中很难取得理想成绩。

2.2 竞赛教学内容不规范

ACM/ICPC竞赛内容涉及面广,没有统一的标准教材可供参考。虽然现在市面上有一些ACM/ICPC的参考教材,但是没有整体性和层次性,学生学习起来非常吃力,需要指导教师重新组织和安排。

2.3竞赛成绩不稳定

有一些院校依靠某一届学生取得了好成绩,而后成绩大幅下滑,很不稳定。主要原因在于没有形成完善的培训体系,在没有完善的培训体系下成绩的好坏很大程度依赖学生的个人素质和努力程度,而学生的素质和努力程度受到各种因素的影响。

2.4 竞赛指导教师能力不足且更换频繁

一般在指导竞赛之前,指导老师基本上没有任何ACM/ICPC竞赛的经历,需要从头开始。而指导教师们本身还面临教学和科研的工作上的压力和照顾家庭等生活上的压力,没有充足时间来学习竞赛涉及的知识,教学的效果并不理想。所以形成了很多指导教师在指导了几年之后便选择退出,前面知识和经验积累都白费的恶性循环。

2.5竞赛团队配合不理想

ACM/ICPC竞赛是3个队员组成团队的竞赛,但是在竞赛教学中指导老师往往只注重学生个人能力的培养,忽视或不重视团队配合的教学。从而造成在竞赛中学生还处于单打独斗的局面,相互之间缺少交流,甚至不交流,形成1+1+1<3的局面。

因此,针对普通本科院校在竞赛教学中存在的以上问题,如何改进竞赛教学模式,如何建立完善的培训体系,如何稳定指导教师队伍,如何提高团队配合效果,进而提高竞赛成绩这些问题值得探讨。

3 普通本科院校ACM/ICPC教学的探讨

3.1改变日常教学模式,突出任务驱动式的教学

学生有学习知识的内在需要,同时又有在竞赛中取得理想成绩的目标,其实有很强的学习动力。竞赛教学的根本目标是激发学生自身的这种学习兴趣和学习需要[2]。在本校的竞赛教学中,我们将学生聚集起来,为学生提供一个竞赛测评系统,教师先跟学生交流,主要由学生自己决定学什么、学多少、怎么学。教师根据经验负责在恰当的时候为学生进行基础知识、相关数据结构和算法的集中培训,让学生自己设定学习目标,分析学习内容,制定学习计划,获得学习资源,管理学习过程,并在学生有疑问时进行解答。这样,学生的主观能动性被极大地发挥出来,为了能够解决竞赛中的难题,队员们常常采取多样的学习方式,可旁听高年级的相关课程,可利用网络寻求直接的经验总结,可钻研参考书目获得理论知识。同时,学生之间也可以相互竞赛。当有的学生在一个假期内做出上百道题而有的学生只做出几十道题时,危机意识会更加促进学生的学习和进步。通过一个假期的强化训练,某些学生会意识到平常需要一年或几年学习的内容在两个月内就掌握了。

3.2 完善培训体系,规范竞赛课程,合理安排教学内容

ACM/ICPC竞赛内容没有固定范围,一方面要求学生熟练掌握计算机课程中的程序设计、数据结构、算法分析等知识,还要求学生有较高的逻辑思维能力,扎实的数学功底。竞赛还涉及到数论、离散数学、组合数学、计算几何等方面的知识[3]。要让学生在两三年左右的时间熟练掌握这些知识需要规范竞赛课程,合理地安排竞赛教学内容。

以我校为例,ACM/ICPC竞赛培训班下设三个班,分别为基础班、中级班和高级班。基础班针对刚进校的新生,新生一般基础都比较薄弱,在中学很少涉及上述知识。基础班主要使学生熟练掌握一门编程语言,并学习一些数学知识、简单算法、模拟和标准模版库(STL),通过大量的习题训练积累和提炼出编程技巧,提高学生自身编写代码、调试程序的能力。中级班以数据结构、高级算法、数论、简单计算几何为基础,强化解题和编程能力,扩展学生在动态规范、搜索、分治等计算机领域算法知识和博弈、组合计数等组合数学知识。高级班主要学习线段树、伸展树、动态树等高级数据结构、二分图、最大流、费用流等图论知识内容,解决前面所学内容组合的综合题,全面提升学生解决竞赛中复杂问题的综合知识应用能力。

课程的规范化,在很大程度上避免了学生为掌握全面的知识而四处搜寻书本、文献等资料所花费的精力和时间,合理安排教学内容让学生循序渐进地掌握竞赛内容,减少学生竞赛学习中的挫折感,较好地保证竞赛培训的高效性。

3.3 保证稳定的指导教师队伍,提升教师指导水平

在教学和科研任务上适当减少指导老师的工作量,让指导老师有一定的空余时间学习竞赛相关知识,辅导学生,安排学生训练。教师的知识积累和专业功底会帮助他在较短的时间完成一个新问题的攻关,将方法与学生共享,形成良性循环。同时给与培训指导教师适当的优惠政策,吸引教师长时间从事培训工作,使指导教师队伍保持稳定。

3.4 加强竞赛中团队协作的训练

在ACM/ICPC中,团队协作精神是取胜的最重要的非技术性因素。在组建团队的过程中,要让团队成员之间的知识、技能、经验甚至性格和行为都能互补,使参赛小组的三个人之间达到完美的合作,形成一个和谐的整体[4]。在平常的日常训练中,对于一个团队的三名队员来说要加强下面几个方面的训练:

首先,通过训练熟悉各个队友的长处和短处。在比赛中,应该尽量将每个题目都分配给最适合它的人来做。比如,录入程序快的队员就上机操作,英文能力强的队员就解释题目,精通算法的队员在解题思路上多拿主意。

其次,提高自己的口头表达能力,能准确地向队友表达自己的意思。比赛中,选手常常需要将题意转述给队友,表达不清很可能会误导队友,给全队带来巨大的损失。竞赛中遇到难题,需要集合全队的力量共同攻克,每个人需要能清晰地表达自己的想法。

再次,逐渐熟悉队友的程序设计风格,每个队员都要尽量去做到程序书写规范。ACM/ICPC的测评是严格的,只有通过了全部测试数据,该题才算完成,要对则全对,要错则全错。一个题编码完成并不代表该题解决了,程序中可能隐藏着各种错误,当队友需要帮助的时候,要快速读懂其程序,找出其中的隐患。

最后,通过训练使团队能力最大化地发挥出来。队员之间相互信任,充分发挥每个队员的个人能力和团队的集体智慧,同时合理安排机器的使用,尽量提高机器的使用效率,从而达到“1+1+1>3”的效果。

4 结束语

ACM/ICPC竞赛是全球最有影响力的大学生计算机程序设计竞赛,被誉为“程序设计的奥林匹克”。ACM/ICPC竞赛教学模式是一种新型的教学模式,它以ACM竞赛为根本目标,注重学生的创新能力、团队协作能力、学习兴趣的培养和对基础学科的认识。该文针对普通本科院校在ACM/ICPC竞赛教学中存在的问题,结合本校的实践经验进行探讨,提出改进竞赛教学模式,建立完善的培训体系,稳定指导教师队伍,提高团队配合效果的观点,给其他普通本科兄弟院校的ACM/ICPC竞赛教学起到一点借鉴作用。

参考文献:

[1] ACM国际大学生程序设计竞赛[EB/OL]. http://baike.baidu.com/view/201684.htm.

[2] 高洪志,邓琨. ACM国际大学生程序设计大赛的培养模式探讨[J].黑龙江科学,2010(4):58-60.

[3] 郭炜. ACM/ICPC亚洲区预选赛命题经验谈[J].计算机教育,2011(16):52-56.

[4] 杨松涛,王斌,张海燕. 从ACM/ICPC竞赛探讨大学生的能力培养[J].计算机教育,2010(24):16-18.

猜你喜欢

普通本科教学模式
教育部:高等职业院校招生规模连续4年超过普通本科
群文阅读教学模式探讨
“思”以贯之“学、练、赛、评”教学模式的实践探索
普通本科院校:于“普通”之处见精彩
211高校与普通本科院校税收专业人才培养方案比较研究——以四川、广东和广西三所高校为例
“以读带写,以写促读”教学模式的实践探索
SSE教学模式在普通本科-儿科专业后期临床教学中的应用
国家创新体系下地方普通本科高校应用型转型的国际化思考
普通本科高校应用型深化改革服务福建自贸区建设探析
“一精三多”教学模式的探索与实践