ACM竞赛驱动的程序设计类课程教学改革研究
- 格式:pdf
- 大小:2.67 MB
- 文档页数:2
由ACM-ICPC引起的教与学的变化介绍了acm-icpc和我校参加竞赛的情况;分析、总结了由组织、培训和参加竞赛引起的教师在教学和科研、学生在学习态度、学习方式及团队协作方面的变化;对赛事的开展提出了的几点建议。
acm-icpc教师变化学生变化一、引言acm-icpc(美国计算机协会-国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织acm主办的年度性竞赛活动,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。
acm-icpc一直受到世界著名的计算机公司的高度重视和赞助。
全球地区赛共分若干个赛区,数十个赛点。
中国大陆从1996年开始设立acm-icpc亚洲区预选赛赛区.2005年以来,各市、省纷纷举行相应的赛事。
目前中国大陆有5个赛区,这极大地促进了这一赛事在该区域的发展。
二、我校围绕acm-icpc所做的工作介绍从2007年初开始到现在,经历了初步尝试、不断探索、走向成熟等阶段。
做的工作概括如下。
(1)定期举行校级比赛,并且使比赛逐步走向正规。
2007年初举行了我校首届程序设计大赛,纸质试卷,人工批阅。
2008年我校借助外校的平台进行了校级比赛。
2010年利用自己研发的竞赛平台举行了校级比赛。
(2)初步开发完成了竞赛和训练平台。
为了使赛事更好地开展,研发了适合我校竞赛和训练平台,该平台能给出哪一组测试数据没能通过,这样大大地方便查错。
(3)组织、指导训练,积极参加各级比赛,并取得了一定的成绩。
从2007年起先后参加了大连市、辽宁省、东北地区的历届acm-icpc大学生程序设计竞赛,以及部分亚洲区网络预选赛,并于2007、2011年成功进入长春和大连赛点的现场决赛。
(4)为了更好地开展竞赛的相关工作,也为了方便指导、训练和相互交流,在相关人员的共同努力下成立了程序设计工作室。
(5)开设了相关的课程。
在进行一段时间的培训,讲课内容逐步趋于成熟,课件和讲义也得到完善,为此面向全校开设了综合素质选修课。
以ACM程序设计竞赛为契机推动学生就业摘要:acm程序设计竞赛能提供给学生更多的实践机会,开拓学生的视野,增强学生所学知识的广度和深度,增强学生的团队协作意识,便于在学生中树立典型,起到示范作用,促进创新型人才的培养;更能激发学生学习程序设计类课程的兴趣,变被动地学为主动地学,充分带动学风,从而提高教学效果和人才培养质量;参赛获奖证书和参赛经历将成为将来学生就业的一个重要资本,成为了进入大企业、好企业的敲门砖,充分带动学生就业。
关键词:acm程序设计竞赛团队协作教学效果中图分类号:f241.4 文献标识码:a文章编号:1004-4914(2013)03-132-02为了拓展学生的知识面,践行黑龙江科技学院的“大德育、大工程、大实践”三大教育理念,提高学生的综合素质和实践能力,笔者积极开展素质教育活动,指导学生参加各类、各个级别的学科竞赛,并多次获奖,为学校争得了荣誉。
素质教育活动的开展有利于课程建设和课程改革,更有利于学生的就业。
教师通过指导学生参加各类竞赛活动,可以将竞赛中遇到的一些问题引入到课堂教学中,丰富教学内容,激发学生的学习兴趣;学生通过参加各类竞赛活动,能够增强自身的实践能力和自信心,开阔眼界。
笔者连续三年主持黑龙江科技学院的素质教育项目。
2008年以来,积极组织学生参加“acm国际大学生程序设计竞赛”累计获得一等奖1项,二等奖5项,三等奖18项。
一、算法与程序设计课的教学现状在学校软件工程专业的人才培养方案中,设置了四门以c语言为主线的算法与程序设计类课程,分别是c程序设计、c++程序设计、数据结构和算法设计与分析。
这四门课程具有较强的“先行-后续”性,课程内容也具有较强的衔接性,主要培养学生的算法与程序设计能力,进而提高学生用计算机来解决实际问题的能力,这四门课程对于能否培养出高素质、高水平的软件专业人才将起到决定性作用。
但目前这四门课程存在一些共性问题,一是每门课程都有一定的实验学时,但数量较少,学生缺少实践的机会,导致学生的实践能力差;二是理论学时有限,虽然现有教学内容基本涵盖了学生要掌握的所有知识点,但教学内容缺乏广度和深度,学生学到的知识比较肤浅;三是教师的教学内容比较陈旧,更新速度较慢,不够新颖,缺乏吸引力,导致部分学生产生厌学心理;四是部分学生学习主动性差,处于一种“被学习”的状态,对程序设计有畏难心理,不会编程或者是只能编写出非常简单的程序。
基于ACM竞赛的实验教学改革探索摘要:针对传统实验教学模式的弊端,分析ACM竞赛模式特点,讨论了基于ACM竞赛模式的实验教学,对提高学生实践能力和创新能力所起到的作用。
关键词:ACM竞赛实验教学创新能力ACM国际大学生程序设计竞赛,是由国际计算机协会组织的世界公认的规模最大,水平最高的国际大学生程序设计竞赛,旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。
该项竞赛从1970年举办至今已历36届,一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注。
目前,ACM已成为世界各国大学生最具影响力的国际级计算机类的赛事,是广大爱好计算机编程的大学生展示才华的舞台,是大学教育成果的直接体现。
在过去的若干年里,ACM大赛都是国际知名大学展示的舞台,普通高校望而却步,但是近年来随着国家对素质教育以及创新人才的迫切需求,国内对国际程序设计大赛对学生综合能力特别是创新能力培养所起到的作用的研究悄然兴起。
因此,研究如何基于ACM竞赛来开展实验教学的改革,不仅必要且具有重大的意义。
1 传统实验教学中存在的问题尽管近几年来,学校对实验室建设不断加大投入,实验条件得到了极大的改善,实验课也得到了一定的重视,但仍存在很多不足,主要有以下几个方面。
1.1 实验课时不足,实验课程得不到学生的重视目前,我校的程序设计类课程仍然分为理论和实验这两个环节,理论环节的课时数往往大大的大于实验环节的课时数,而且实验环节被看做理论环节的附属部分,仅仅是理论课后用于验证理论知识的实践过程。
除此以外,课程最终的考核分数,是以理论考试的卷面成绩为主,实验成绩只占平时成绩的一部分。
正是这种“理论比实验重要”的思想使得p实验课程的考核主要分为两个方面:一是检查程序的运行结果是否正确。
二是检查实验报告中的程序编写情况。
程序运行结果是否正确较好判断,而实验报告的批改却是非常困难的。
试想就算每个教学班有50个同学,一份实验报告只有三个题目,那么老师就要看150个程序,在批改实验报告的过程中,稍有不慎就会把一些具有独特思路的程序判错,这种考核方式在一定程度上抑制了学生思维的拓展,不利于学生创新能力的培养。
程序设计类课程教学改革的研究摘要:本文分析了程序设计类课程教学模式中存在的问题,在实际教改过程中,提出了案例教学法、项目推动法、改革实验内容、改革考核环节具体措施,在教学实践中取得很好的效果。
关键词:程序设计课程教学改革程序设计类课程是计算机科学技术专业最重要的专业课之一。
这类课程作为计算机专业主要的专业必修课程,涉及多方面知识,而如今以网络技术发展迅,程序设计类课程出现很多新概念和新技术。
程序设计类语言也由单机版发展到网络版,所以这类课程的教学改革研究也很活跃,但没有一种成果能完全满足我学校的教学需求,因此研究该类课程教学改革非常必要。
1 教学中存在的主要问题1.1 教学模式不合理当前计算机程序设计类课程教学上以传统教学模式为主,重视理论教学,而忽视实践教学的重要性。
理论教学在多媒体教室上课,经常是老师讲,学生听,理论教学与实践教学相脱节,学生如果听完理论课不做实验,理论知识得不到巩固,更不利于培养学生编程能力。
程序设计类课程与其它的专业课不同,是实践性很强的课程,除了要把理论知识学透之外,上机编程很重要。
如果只注重理论教学与不注重上机编程,那无异于纸上谈兵,对于培养计算机人才没有意义。
1.2 考核环节不合理考核方式不利于实际编程能力测评。
目前的闭卷考试偏重记忆性内容、计算能力的考核,而较少考核综合实践能力和分析能力。
有的学生上机编程能力很强,但笔答编程题可能考核不出学生的动手能力,反之,有的学生实际动手能力并不强,但即擅长答卷,也能得高分。
因此对于程序设计类课程,应该大胆改革考核方式。
1.3 教学难度大程序设计类课程教学中出现的问题较多。
在学生稍具备或完全不具备计算机基础知识时,就学习程序设计,比如大一新生一来,就开C 程序设计,学生在没有一点计算机基础知识和编程经验情况下学习,这使得教学难度很大,每个知识点的教学难度都很大,在教学进度和复杂控制等方面对教师提出了较高的要求。
2 教学改革研究针对教学过程中存在的以上问题,我们进行了大量的教学研究,提出以下教学研究方法。
竞赛项目教学化驱动实践类课程教学改革与实践
竞赛项目是学生参与学科和专业竞赛的一种形式,是学生培养自主学习和创新思维能
力的重要途径。
传统的竞赛项目教学往往注重培养学生的专业知识和操作技能,缺乏对学
生创新能力、团队协作和问题解决能力的培养。
竞赛项目教学改革与实践应该注重以下几
个方面。
注重培养学生的创新能力。
传统的竞赛项目教学往往以教师为中心,学生只是执行教
师的指令和完成学习任务。
而在竞赛项目教学改革中,应该引导学生从问题解决的角度思考,鼓励学生提出自己的观点和想法,培养学生的创新精神和创造能力。
教师可以通过组
织学生开展创新实践活动,激发学生的创新潜力,培养学生的创新思维和创新能力。
注重培养学生的团队协作能力。
竞赛项目往往需要学生组成团队协作,共同完成任务。
传统的竞赛项目教学往往将团队协作看作是任务分工与合作,忽视了团队协作的重要性。
在竞赛项目教学改革中,应该注重培养学生的团队协作能力。
教师可以通过组织学生进行
团队活动,培养学生的团队意识、沟通协调能力和合作能力,激发学生的团队协作潜力。
基于ACM竞赛模式的C程序设计教学改革研究张沫,章彪(浙江邮电职业技术学院,浙江绍兴312366)摘要:对编程类课程而言,传统教学存在填鸭式理论教学、实践教学环节松软流于形式等不足,教学效果不理想。
该文针对程序设计类课程教学中存在的问题,给出了基于ACM竞赛模式、运用在线编程测试OJ平台来开展程序设计类课程教学,收到了较好的教学效果。
关键词:ACM竞赛;教学改革;C程序设计;OJ平台中图分类号:G642文献标识码:A文章编号:1009-3044(2021)07-0165-02开放科学(资源服务)标识码(OSID):Research on Teaching Reform of C Programming based on ACM Competition ModeZHANG Mo,ZHANG Biao(Management and Information Institute,Zhejiang Post and Telecommunication College,Zhejiang312366,China) Abstract:For programming courses,the traditional teaching method has some shortcomings,such as cramming theoretical teaching and practical teaching,which is not satisfactory.In view of the problems existing in the teaching of programming courses,this paper presents the teaching of programming courses based on ACM competition mode and online programming test OJ platform,which has achieved good teaching effect.Key words:ACM competition;teaching reform;C programming course;OJ platformC语言是计算机专业的通识基础课程,旨在培养学生的逻辑思维能力、创新实践能力和解决实际问题的能力,为后续专业课程的学习奠定良好的基础。
基于ACM自动判题系统的程序设计实践教学改革探索摘要:文章针对程序设计传统教学模式存在的不足,提出了基于自动判题系统的实验探索,并总结了其优点和特色,在实际教学中取得了较好的效果。
关键词:acm;自动判题系统;程序设计;教学中图分类号:tp311.1-4 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-02programming practice teaching reform based on acm automatic sub-title systemmei xushi,wang weibin(jinhua vocational and technical college,jinhua 321017,china)abstract:the traditional teaching model for program design shortcomings,proposed a system based on automatic sentence of experiments to explore issues,and summarizes the advantages and features,in the actual teaching and achieved good results.keywords:acm;automatically sentenced to question the system;programming;teachingc语言程序设计、java语言程序设计等课程,作为很多高校计算机大类专业的基础课和必修课,主要在于培养学生掌握程序设计和调试的基本方法,形成程序设计基本思想,使用c/java语言进行基本程序设计的职业能力,在整个专业培养目标中起到了重要的基础支撑作用。
本文针对程序设计传统教学模式存在的不足提出了基于自动判题系统的实验探索,取得了较好的效果。
科技资讯2017 NO.13SCIENCE & TECHNOLOGY INFORMATION科 技 教 育146科技资讯 SCIENCE & TECHNOLOGY INFORMATION程序设计类课程是计算机专业人才培养计划中一系列与程序设计相关的核心课程,主要有C语言程序设计、C++面向对象程序设计、Java程序设计、数据结构和算法设计与分析等,一般以专业基础课或专业课的形式开设。
程序设计类课程的教学效果,直接影响了人才培养目标的实现,在一定程度上决定了所培养的专业人才素质水平的高低,因此,各个学校普遍都很重视程序设计类课程的教学和教学建设。
然而,程序设计类课程由于理论性和实践性都比较强、学习难度大等特点,使得在教学过程中一直存在着较多的问题。
一方面,程序设计教材偏重于语法和小型例题讲解,使得学生在根据实际问题建立模型和设计算法方面的抽象思维训练不够,很多学生能掌握程序设计的基本方法,但程序设计的水平并不高。
另一方面,模块式实验项目的实践环节设置,使学生在综合运用知识解决实际问题方面的锻炼不足,加上实验课时的限制,因练习和投入时间的不够,也影响了学生程序设计能力的培养和提高。
在程序设计类课程教学中引入ACM竞赛模式,可以弥补传统教学方式的这些不足,促进学生程序设计能力和创新能力的提高。
ACM / ICPC (Association for Computing Machinery /International Collegiate Programming Contest)国际大学生程序设计竞赛,由计算机界具有悠久历史的权威性组织机构ACM学会主办,是世界上公认的规模最大、水平最高、参与人数最多的大学生程序设计类竞赛[1]。
1 以ACM 竞赛题目驱动理论教学首先,教师在课堂上将ACM赛事活动推介给学生。
通过对竞赛的了解、练习和参与,让学生体会到学习的成就感,激发学生对程序设计的学习兴趣和学习动机,并且更明确课程的学习目标,以高水平的程序设计能力标准要求自己。
其次,教师在理论课授课时,引入ACM竞赛内容,可以挑选与授课内容知识点相关的典型竞赛题作为案例驱动教学,进行教学设计。
ACM的赛题,题目类型广泛,涉及的知识面相对较广,一般是针对实际应用问题而设计[2],有一定的问题背景描述,对算法和程序的要求隐藏在背景中,因此,需要对实际问题进行分析建模,才能明确问题和梳理出算法思路。
通过赛题的分析和算法设计过程的讲解,引导学生在抽象思维方面的训练,使学生把程序设计学习的重点更多地放在分析问题、抽象建模和算法设计等方面,而不是仅仅关注语法的学习。
通过将典型竞赛题目嵌入到理论教学,既带动相关语法的讲解,也引导学生进行抽象建模和逻辑思维方面的锻炼。
同时,以有实际问题背景的ACM赛题做授课案例,让学生看到通过编程得到了实际问题的解决结果,看到了程序设计的广阔应用前景,增强了学生对它的学习兴趣和学习动力,变被动学习为发自内心的渴望求知的主动学习。
在作为教学案例的赛题选取上,一方面注重赛题的有趣性和实用性;另一方面,要注意题目对知识点的覆盖,以及难度适中。
应当选取中等难度或难度稍微偏上的例子,以此向学生展示,相对复杂问题的分析建模和算法设计过程,既强化学生在程序设计思维方面的训练,也激发学生的好奇心和挑战困难的学习兴趣。
除了抽象思维和逻辑思维方面的训练,也注意引导学生在猜想与验证和逆向思维方面的训练。
每道ACM赛题都有严格的题目形式,包括问题描述、输入样例和输出样例[2]。
详细的题目输出样例,方便用于向学生展示逆向思维的问题求解分析方法,引导学生可以根据输出结果要求,逆向推理及猜想可能的算法,并对设计的算法进行静态运行的结果验证。
这些都是高水平程序设计者需要锻炼和培养的基本能力和素质,要在这方面对学生进行引导和认识上的意识强化。
2 以ACM 在线系统竞驱动实践教学程序设计类课程是实践性较强的课程,一般都包括了一定学时的实验课时。
但传统的基于单元知识点设计的实验题目,在实际应用价值、难度及综合性等方面往往不够,满足不了一些基础①作者简介:陶小梅(1980,5—),女,汉,广西桂林人,硕士,讲师,研究方向为人工智能、情感计算。
黎辛晓(1980,1—),女,汉,广西扶绥人,硕士,讲师,研究方向为人工智能。
DOI:10.16661/ki.1672-3791.2017.13.146ACM 竞赛驱动的程序设计类课程教学改革研究①陶小梅 黎辛晓(桂林理工大学信息科学与工程学院 广西桂林 541004)摘 要:为培养学生较高水平的程序设计能力和创新能力,该文探讨了将ACM竞赛引入程序设计类课程教学的方法,以ACM赛题为案例,驱动理论课讲授,培养学生的抽象建模思维和逻辑思维,通过使用ACM在线评判系统OJ,将教学实践环节从实验课堂延伸到课外,加强学生在综合运用知识解决实际应用问题方面的编程训练。
关键词:ACM竞赛 程序设计 教学教改中图分类号:TP3-4文献标识码:A文章编号:1672-3791(2017)05(a)-0146-02科技资讯2017 NO.13SCIENCE & TECHNOLOGY INFORMATION科 技 教 育147科技资讯 SCIENCE & TECHNOLOGY INFORMATION 和水平较好的学生的学习需求,影响了学生在实践环节高水平程序设计能力培养方面的锻炼。
可以从ACM题库中选取难度各异、知识点相关的、有一定实际应用价值的题目,让学生上机时完成,以适应不同层次水平的学生的需求。
再者,传统模式的实验课,学生练习成果的检查对教师是个问题。
传统实验课中,教师主要靠查看程序运行结果和阅读程序的方式检查学生程序设计的正确性,不仅花费时间大,而且由于思维惯性,容易导致误判与参考答案不同的程序设计算法。
针对这些问题,可以在实践环节引入ACM的在线评判系统做实验实训平台。
ACM竞赛经过多年的发展,国内外出现了很多优秀的Online Judge(简称OJ)系统。
国内比较知名的OJ系统有北京大学的POJ、哈尔滨工业大学的HOJ、浙江大学ZOJ等;国外比较知名的系统有OJ SGU、UVa Online Judge等。
OJ系统集成实时评判、答题统计、排名等功能[3]。
教师要求每个学生在OJ系统上注册自己的账号,上课时,让学生登录系统,在规定的时间内完成指定范围内的题目,并提交结果。
OJ对提交程序的实时评判,包括程序结果的正确性、运行时间、占用内存资源和输出格式的判别。
学生可以通过OJ系统,查看评判结果以及程序运行效率,以及根据这些反馈信息对程序进一步改进。
教师也可以通过OJ系统查看学生做题数量和正确率,以了解学生的学习掌握程度。
同时,通过ACM在线系统,可以将课程的实践环节从课堂延伸到课外,鼓励学生利用课余时间,多做竞赛题目练习。
ACM在线系统还提供了针对赛题的讨论交流功能,学生可以在上面找到对编程兴趣爱好浓厚的“志同道合”者,对练习过程中碰到的难题能及时地交流和讨论,或参考借鉴别人程序的思路,在一定程度上,降低了学习的难度。
通过在程序爱好者中的交流与分享自己的学习成果,也让学生收获了成就感,增强了学生的信心,激发更浓厚的学习兴趣。
ACM在线系统的运用,也解决了传统实验课教学由于课时少,学生人数多,问题多,学生碰到难题被卡住时,不能及时得到老师指导的问题。
通过加入ACM竞赛内容的实践环节训练,使学生具备扎实的编程基础和较高水平的编程能力,达到可持续发展的IT人才培养目标,在以后工作的实际应用中,碰到大型复杂程序设计问题时,能厚积薄发,自如地将所学专业知识综合运用发挥,快速的解决问题,适应专业的工作需要。
3 结语在程序设计类课程中引入ACM竞赛内容,可以激发学生的学习兴趣和动力,变被动学习为主动学习。
以ACM赛题驱动理论课讲授和实践环节,可改变传统讲授方式中对学生在抽象建模和逻辑思维方面训练引导不足的问题。
大量的赛题练习,促使学生打下扎实的编程基础,对高水平的程序设计人才的培养有积极的促进作用。
参考文献[1]于世华,王荣芝.ACM竞赛探讨与技能型人才的培养[J].大学教育,2015(2):113-117.[2]朱月秀.基于ACM竞赛的C++程序设计课程教学改革[J].漳州师范学院学报:自然科学版,2012(1):113-117.[3]李环.基于ACM 竞赛的程序设计类课程教学改革研究[J].计算机教育,2016(3):115-117.来,有助于培养学生的创新能力和工程实现的能力。
3 存在的问题及改进方向如何推进专业实验室的建设是高校建设当中重要且必不可少的一项重要任务。
文章结合工作情况提出存在的问题及改进方向。
(1)目前,由于正在运行的计算机专业实验室,在维护要求、环境要求、硬件配置、服务对象等方面都存在着很大的差异,同时由于新增专业课程及软件升级等原因每个学期所需要安装的软件种类繁多,导致每个学期维护和安装软件都需要大量、反复的操作,费时费力。
解决该问题,实验工作人员可在非技术层面上通过任课教师确认等方式对教室上课软件统计完全,可在技术层面上使用增霸卡等技术减少重复操作的次数。
(2)由于专业实验室的实验器材具有种类繁多、做工精细的特点,需要专业维护和使用。
针对这类问题,学院不定期推出专业培训和指导,促进实验工作人员不断完善管理方式。
(3)针对某些学校的实验室利用率低的问题,可以在更多层面上,了解学生与教师的需求,听取意见和建议,来提高实验室的利用率。
(4)实验室的安全问题一直是实验室管理的重中之重,需要秉持着对安全问题无论多细致都不为过的观点。
除了每日做到严格细致的安全检查,假期实验室人员的轮流值班等措施,还可采取实验室安装门禁系统管理进入人员,杜绝安全隐患。
4 结语高校专业实验室是教学和科研重要的载体,高校专业实验室的管理和建设是教学改革体制的重要内容,是衡量办学水平、办学特色和办学效益的重要指标。
因此,只有不断探讨和改进专业实验室的管理制度和管理模式,把培养创新型人才、支撑教学科研以及承担社会服务作为基本目标,针对自身的特点,建设自己的重点专业实验室,才能实现教学与科研双赢的管理目标。
参考文献[1]韩宇男,吴伶锡,周并举.高校专业实验室建设与管理模式探讨[J].实验技术与管理,2013(7):224-227.[2]王志华,龙安厚.专业实验室建设及规范化管理的探索[J].实验科学与技术,2009,7(6):128-130.[3]何晓阳,朱亚平,余志,等.专业实验室建设的探索与实践[J].实验室研究与探索,2003,22(3):107-109.[4]吴军强,许小东,许卫明,等.省级计算机实验教学示范中心建设研究与实践[J].实验技术与管理,2014,31(4):118-122.(上接145页)。