欢迎来到天天文库
浏览记录
ID:50864065
大小:67.00 KB
页数:5页
时间:2020-03-08
《ACM—ICPC竞赛模式下C 程序设计实验课教学探析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ACM—ICPC竞赛模式下O+程序设计实验课教学探析摘要:本文针对现阶段C++程序设计实验课中存在的教学弊端,分析ACM-ICPC竞赛特点和其积极的教育意义,探讨了将这种竞赛的理念和模式引入实验教学当中,提高了教学工作效率和教学质量,激发了学生的学习热情与兴趣,提高了学生的算法分析能力、编程能力和思维能力、创新能力以及培养学生团队合作精神。关键词:ACM-ICPC;程序设计;OnlineJudge;能力中图分类号:G642文献标识码:A文章编号:1674-7712(2012)18-0097-01ACM国际大学生程序设计竞赛(ACMInternationalColl
2、egiateProgrammingContest,ACM-ICPC)是由美国计算机协会(AssociationforComputingMachinery,ACM)主办,是最具影响力的大学生计算机竞赛。如何抓住机遇,结合ACM竞赛,提高教学质量和水平,培养高质量的人才等问题成为广大教师的探索热点和各高校相关教师之间热议的话题。笔者积极探索将它引入到C++程序设计实验课当中,提髙教学效果。一、C++程序设计实验教学中存在的问题由于本学科的特点、生源的客观情况及硬件条件的限制等使得实验课教学仍有一些不足之处,进而学生对这么课程失去兴趣。1)重视程度不够。由于实验环节常常
3、被看作是理论环节的附属部分,最终成绩仍以卷面为主,实验成绩只占一小部分,另外实验考核还容易出现缺乏清晰的依据的情况,有限实践时间里学习动力不足。2)验证性实验内容为主。以往实验教学中,实验内容的安排完全服从理论章节的学习,学生的注意力集中在某种结构或某个算法实现上,容易忽视对概念整体性理解把握,对于规模较大、较复杂的问题往往素手无策。综合设计能力得不到很好地训练。3)实验考核方法单一。传统的考核一般由两种方式组成:一是教师检查程序的运行结果。工作量很大,而且也不一定能在课时内完成,既费时又费力。二是检查实验报告中的程序编写情况。批改中容易忽略学生的独特思路。由此一
4、来,某种程度上限制了学生思维的拓展,不利于学生创新能力的培养。经积极探索与实践,将ACM-ICPC竞赛引入实验课教学,能够很好解决以上问题,并取得良好效果。二、ACM-ICPC竞赛简介(一)ACM-ICPC简要规则如下以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且最多可以参加2次全球总决赛和5次区域选拔赛。比赛期间,每队使用1台电脑。需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决7到11个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。每队在正确完成一题后
5、,升起一只代表该题颜色的气球。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。(二)ACM竞赛给教学带来的好处有1.ACM竞赛题目的涉及面广,融入多门学科的知识,参赛队员必须掌握大量的学科基础理论,包括程序设计、算法分析、数据结构、数学建模等等,这也大大激发了学生学习的动力。2•为以后做实际项目做了很好的衔接。3•分组实验教学,由教师为主体转变为学生团队为主体的模式,学生学会了如何分工协作,与人沟通。4.ACM网络拓展了学生的知识□教师可以引导学生加入这个大平台,从简单的小题开始做
6、起。学生们在这里增长了知识,开阔了视野,结识了更多优秀的人。5.利用OnlineJudge(简称0J)平台改变学生评价方法。平时的作业和实验课都充分利用开放的0J系统进行评判。三、实验课中0nlineJudge平台的应用OnlineJudge系统(简称0J)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++、Pascal)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。用于ACM-ICPC竞赛和01(Olympiadininformatics)信息学奥林匹克竞赛中的自动判题和排名。现广泛应用于各地高校学生程序设计
7、训练、参赛队员选拔、各种竞赛以及数据结构和算法的学习中。(一)强化基础,突出实践从竞赛的题目来看,试题涉及到多门学科,要求学生具有一定的数据建模知识,算法分析能力,软件工程的思想,综合性很强,与C++程序设计课程能力培养的目标要求是一致的。(二)案例、任务驱动式的实验教学模式在实验教学中,同学们分析、学习别人设计好的程序代码。还可以将日常教学的课程内容融合在ACM竞赛题目中。教师根据实际情况布置任务,简单任务由单个人完成,复杂任务让同学们自行分组。在完成实验中,每个人必须完成其中一部分,开展组内或组间学习和讨论。学生们经过这些锻炼之后,程序设计能力、团结合作能力、
8、沟通能力都
此文档下载收益归作者所有