单位文秘网 2021-08-12 08:15:12 点击: 次
【摘要】ACM国际大学生程序设计竞赛为学生提供了一个良好的自我展示平台,通过这个平台,学生可以自由探索,使他们的才华淋漓尽致得到发挥,从而激发学生自主学习的热情。经过ACM—ICPC竞赛和培训的学生一般都有一套属于自己的独特思维方式和自主学习技能。本文就ACM-ICPC国际大学生程序设计竞赛驱动下的学生自主学习做一些讨论。
【关键词】ACM;程序设计;自主学习
ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Progra-mming Contest(简称ACM-ICPC或ICPC))是由国际计算机界具有悠久历史的权威性组织——美国计算机协会(ACM-Association for Computing Machinery)主办的,它的目的在于通过竞赛展示大学生的创新能力、分析和解决问题的能力、团队合作精神和参加者在有限时间内进行有难度有技巧的编程水平。经过30多年的历程,ACM国际大学生程序设计竞赛已经发展成为世界最具影响力和最能体现大学计算机教学水平、学生素质的大学生计算机竞赛。
作为师范院校的计算机专业参与这类竞赛无疑也是激发学生学习热情的一个非常好的契机。抓住契机,与时俱进,鼓励学生积极参加并让他们亲身感受到很多在课堂上学不到的知识与技能,而这些知识与技能恰恰是用人单位趋之若骛的;同时,又可以锻炼他们的各种能力,从而体会到创造过程中的无穷乐趣,这些无论对他们今后的人生还是就业都很有重大的意义。
2012年4月我院承办了2012 ACM-ICPC国际大学生程序设计竞赛亚洲区域赛(长春站)的比赛,来自全国67所高校、1所中学的140支代表队参加了本次竞赛。2012年10月在第37届ACM-ICPC国际大学生程序设计竞赛亚洲区域赛浙江金华站的赛事中我院Moon Light/月光队以队伍排名第五,学校排名第四的历史最好成绩荣获金牌,并在2013年7月俄罗斯圣彼得堡举行的第37届ACM-ICPC世界总决赛中取得了世界排名第十七,全国排名第三的好成绩。2013年4月,准备了数月的第七届东北师范大学ACM校赛在计算机科学与信息技术学院机房正式开赛。经过了五个小时的艰苦鏖战,百余名选手与辛勤服务的大赛工作人员们一同铸造了这场在学校很有影响力的编程盛典,因此说:多种形式的竞赛是挖掘学生无穷创造力的一个非常好的平台。
下面仅就ACM-ICPC国际大学生程序设计竞赛驱动下的学生自主学习做以下几个方面的讨论。
1.ACM-ICPC散发出的魅力对学生自主学习的吸引
1.1 竞赛的魅力
ACM-ICPC竞赛没有大纲,也没有范围,完全凭借选手自身具备的能力利用所学的知识灵活睿智地设计解决问题的方法。尽管Hal Burch在1999年通过分析得出这样的结论,竞赛的程序设计一般有16种类型,但很少有人面对这宽泛、繁杂、深奥的状况能真正掌握其中绝大部分的方法,而对一些包含这些方法的组合与循环等更具有挑战性的综合问题多数选手都会望尘莫及。因为在竞赛中的很多试题都需要选手当场作出实地的判断和分析,而不是套用固有的解题模式,这就是竞赛有相当难度的所在,也是它魅力的所在。正是这种迷人的魅力,激发出那些勇于挑战的学生的好奇和浓厚的学习兴趣,这是学生自主学习的动力之一。
1.2 理论与实践相结合的魅力
现今基础教学与实际运用的矛盾在大学计算机科学的教学中还是普遍存在着。一方面,基础教学与实际运用相距甚远。很多数学、计算机专业基础和理论课程与计算机学科的实际应用没有形成很形象的关联,学生理解起来很困难。部分程序设计、数据结构、算法、软件工程等课程还采用笔试的方式来考察学生的知识掌握能力,这很难考察出学生的真正实际应用水平。很多学生学完高级语言程序设计、数据结构等课程后,考试分数很高却不会编程,这不能不是一件很遗憾的事情,应该引起重视。另一方面,有些学生太注重实践运用而忽略基础课程的学习。有一部分学生比较容易被眼前流行的计算机某些技术应用所吸引,愿意学习最新的计算机技术的开发应用,而对较为枯燥的基础学科尤其是数学类课程很反感、排斥,因此忽略了这方面的学习。这样学生在初期虽然能够学好一些计算机应用开发技术,可在更高层次的开发中却显得后劲不足,缺少基础学科的知识支撑。
而ACM—ICPC竞赛和培训模式是案例教学的最好应用。通过具体的竞赛题目,很多基础理论知识都能很好地运用到程序设计当中,使得学生对学过的理论有更深刻的理解。在这一过程中我们可以引导学生自己动手动脑,用自己掌握的计算机理论基础知识把解题过程讲解出来,和其他学生互相交流,进一步锻炼学生的综合实践能力。由于竞赛题目的宽泛,只靠算法和数据结构等基础知识来提高程序设计水平和竞赛能力是远远不够的。经历过ACM—ICPC竞赛的同学都知道,解决各类竞赛题目需要融入很多相关学科的知识,如:离散数学、图论、组合数学、数论、概率论、线性代数、计算几何学、高等数学等。只有将这些理论知识很好地运用到解题当中,才能锻炼出全面精准的程序设计和算法思维,成为赛场上的顶尖选手,为今后在计算机科学研究领域有更强的实力打下良好基础,这也是微软、Google、IBM等IT巨头重视程序设计类竞赛、非常青睐参赛选手的原因。这种理论与实践相结合的魅力是促使学生自主学习的动力之二。
2.程序设计竞赛提高了学生的自主学习积极性
2.1 成功与挫败
可以说计算机程序设计竞赛为学生提供了一个良好的自我展示平台,通过这个平台,学生可以自由地探索,领略编程过程中冲破一个又一个的困难险阻最终达到他们预期结果的神奇,使他们的才华可以淋漓尽致得到发挥。即使没有得到预期结果,但整个思索设计过程也是充满着痛与快乐,各种能力得到锻炼的收获也足以让他们回味无穷。
无论是在ACM—ICPC竞赛还是集训时的解题过程中,学生通过自己的努力思考每完成相关题目并得到预期结果后,都会获得一种成功感,这种成功感是促进学生继续学习不断进步的动力之一,渴望拓宽知识就是他们自主学习的力量源泉。相反当看到别人可以顺利完成题目,而自己却不能找到问题或发现错误时,带队教师要能及时正确引导,加强和健全学生良好的心里素质,使学生有一个能够正确地面对失败的平和心态,让学生将这种挫败感转化为踏实学习收获经验的快乐过程,提高学生自主学习的积极性。这种积极性也会对周围其他同学产生正面的作用,对形成良好的学风也是一种促进。
2.2 学无止境
从大一开始就要有意识地引导学生,培养他们扎实的程序设计基础,如果学生一直坚持到毕业,也有十几万行代码的存储量,再加上要循序渐进地学习其他方面的知识并通过竞赛培训,强化、拓展相关学科知识的深度和广度,使得他们考虑问题更全面。每当学生做出很有技巧很有难度的题目,就会感觉像完成一项艺术创作,一行行代码页会散发出诗一样的美,让他们充满快感与自豪。正如参加过ACM—ICPC的一个学生所体会的那样:你在学校所获得的这个的高度可以代表你以后工作的高度,决定了你究竟是一个小小的程序员,还是一个真正的开发者。如果你不懂那些高深的算法和雄厚的理论基础知识你就永远只是小小的程序员,这和是否获奖没有关系,当然获奖了工作出路显然会好一些,但不要总想着拿奖,要想着开阔自己的思维,这是未来工作和生活最需要的。
2.3 团队合作
ACM—ICPC覆盖的知识面非常广泛,如果仅凭一个人的力量全部掌握这些知识几乎是不可能的,这就是组团合作最根本的原因之一。根据团员所擅长的方面,扬长避短,互相学习,分工合作,在这一过程中激发出每个团员自主学习共同提高的精神。三人行必有我师,默契配合、相互鼓励是取胜的关键。在组织竞赛培训时,重要的不是老师的水平和能力,而是如何引导学生挖掘自身的潜力,为他们自主学习指引方向。使得整个团队有一个良好的学习比赛氛围,最大程度地激发选手之间自主学习相互合作的积极性和创造力。
3.结束语
经过ACM—ICPC竞赛和培训的学生一般都具备一套属于自己的独特思维方式和自主学习技能。他们迸发的自主学习热情使得他们可以不依赖教师的提醒和监督,完全就能对自己的学习现状进行准确地分析和评价。但具有完全自主学习能力的学生需不需要老师的指导了呢?答案是肯定的。教师还是要对学生的一些学习阶段给予适当的意见反馈,帮助学生预测在自主学习过程中可能会出现的问题,使得学生对自己有一个客观实际的估价,即使自己已经很优秀,但还是需要在自主这方面多做努力。这样才能不断进步,最大限度地释放自身的学习潜能,让他们认识到:做不断攀登自主发展的成功学习者是一个永无止境的过程,只有不断汲取各种营养才能在今后的学习及发展中取得更加卓越的成就。
参考文献
[1]张胜.ACM大赛启事录[J].软件世界,2005,5.
[2]陈康民,龙晓莉.程序设计竞赛对教学作用的研究[J].时代教育,2007,6.
[3]李翔昊.感受ACN-ICPC竞赛的教育意义[J].计算机教育,2006,3.
作者简介:刘霖(1959—),女,吉林长春人,东北师范大学计算机科学与信息技术学院工程师,研究方向:实验教学。
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-173-84295-1.html
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用