ACM竞赛平台在C语言程序策划教学中的运用探究
- 格式:doc
- 大小:27.50 KB
- 文档页数:6
以ACM/ICPC竞赛促进计算机专业实践教学研究侯向辉徐卫李琰琰摘要: ACM/ICPC程序设计竞赛是世界上最具影响力的计算机类学科竞赛之一,能够最直接体现学生对专业知识的掌握以及实践能力。
ACM/ICPC集训在选手日常训练方面都有一套行之有效的机制,对学生的学习兴趣、分析解决问题能力、创新能力等方面的培养都起着推动作用,ACM竞赛是对学生实践能力最直接的考核。
因此整合在线判题系统建设实践平台,将ACM/ICPC模式引入计算机专业实践教学,是提高计算机专业学生实践能力的途径之一。
关键词: ACM/ICPC;程序设计竞赛;实践教学;在线测评中图分类号:G420 文献标志码:A 文章编号:1006-8228(2018)07-94-03Abstract: The ACM/ICPC programming contest is one of the most influential discipline competitions of computer science in the world, which can most directly reflect the students' mastery of professional knowledge and the ability to practice. ACM/ICPC training has an effective mechanism for the daily training of player, which plays an important role in the cultivation of students' interest in learning, their ability to analyze and solve problems, and the ability of innovation. Therefore, it is one of the ways to improve thepractical ability of computer majored student to integrate the online judgment system, build the practice platform and introduce the ACM/ICPC model into the practice teaching of computer specialty.Key words: ACM/ICPC; programming contest; practical teaching; online judge0 引言國际大学生程序设计竞赛ACM/ICPC(Association for ComputingMachinery/International Collegiate Programming Contest)是世界上最大、历史最长、影响最广泛的计算机类学科竞赛[1]。
案例教学和竞赛在《C语言程序设计》教学中的应用【摘要】本文探讨了案例教学和竞赛在《C语言程序设计》教学中的应用。
案例教学是一种通过具体案例来激发学生学习兴趣和解决问题的教学方式,具有生动性和实践性。
在教学中,案例教学能够帮助学生理解抽象概念,提高解决问题的能力。
在《C语言程序设计》课程中,可以通过实际案例让学生掌握编程技巧和应用。
竞赛则是一种激发学生学习动力和竞争意识的方式,能够提升学生的实战能力和编程技能。
结合案例教学和竞赛能够有效提升学生的学习动力,同时也得到了广泛认可和肯定。
通过这种方式,学生可以更好地吸收知识并应用于实际编程中,从而提高编程水平和竞争力。
【关键词】案例教学、竞赛、C语言程序设计、教学应用、学习动力、实战能力、有效性认可1. 引言1.1 案例教学和竞赛在《C语言程序设计》教学中的应用案例教学和竞赛在《C语言程序设计》教学中的应用是一种有效的教学方法和学习方式,可以帮助学生更好地理解和掌握编程知识和技能。
案例教学通过实际案例的展示和分析,让学生在解决实际问题的过程中学习编程技术,培养学生的分析和解决问题的能力。
在《C语言程序设计》课程中,案例教学可以通过展示一些常见的编程问题和解决方法,让学生在实践中掌握编程技巧,提高编程能力。
综合案例教学和竞赛在《C语言程序设计》教学中的应用,可以有效提升学生的学习动力和实战能力,促进学生对编程知识的深入理解和应用。
案例教学和竞赛的有效性得到了广泛认可,是推动学生学习和发展编程能力的重要途径。
2. 正文2.1 案例教学的定义和特点案例教学是一种以真实案例为基础,通过对案例进行分析、讨论和解决问题的方式来促进学生学习的教学方法。
其特点主要包括以下几点:案例教学具有真实性和情境性。
案例通常来源于真实生活中的事件或问题,这种真实性可以让学生更容易理解和接受所学知识。
案例教学注重学生的参与和互动。
在案例讨论过程中,学生需要积极参与,发表自己的观点和看法,并与其他同学进行交流和讨论,从而促进思维的碰撞和知识的共享。
ACM平台在C程序设计教学中的应用
刘宇欣;周秋霞
【期刊名称】《计算机时代》
【年(卷),期】2018(000)003
【摘要】C语言程序设计课程是计算机专业的入门课程之一,程序设计类课程的强实践性要求学生动手编程,勤加练习.ACM在线测试平台有着自动化判题、便于统计分析数据等优点,为学生的自主学习提供了一个园地.不仅如此,ACM平台还可以很好地应用于C程序设计教学的多个环节来辅助教学.通过对ACM平台模块介绍展示其功能,并以实验课、作业、考试为例体现ACM平台辅助教学的途径及优势.实践证明,使用ACM平台辅助教学确实可以提高学生的学习积极性,并取得良好的教学成果.
【总页数】4页(P66-69)
【作者】刘宇欣;周秋霞
【作者单位】岭南师范学院信息工程学院,广东湛江 524048;岭南师范学院信息工程学院,广东湛江 524048
【正文语种】中文
【中图分类】G642
【相关文献】
1.ACM竞赛平台在C语言程序设计教学中的应用研究 [J], 李晔;卢冰;王捷;金保华
2.ACM竞赛平台在C语言程序设计教学中的应用研究 [J], 李晔;卢冰;王捷;金保华;
3.ACM竞赛平台在计算机专业教学中的应用研究 [J], 何迎生;鲁荣波;陈国平;段明秀
4.微信公众平台在C程序设计教学中的应用 [J], 刘光蓉; 周俊博
5.微信公众平台在C程序设计教学中的应用 [J], 刘光蓉; 周俊博
因版权原因,仅展示原文概要,查看原文内容请购买。
·112· 计算机与信息技术 教育与培训 结合ACM竞赛提高学生编程能力的教改探索马慧彬 许丽萍(佳木斯大学 信息电子技术学院,黑龙江 佳木斯 154007)摘 要为了全面提高地方性普通本科高校计算机相关专业学生的专业素质与创新能力,针对目前学生编程能力较弱的现状,提出结合ACM竞赛的教学改革方案,将ACM竞赛与学生课外科技活动相结合、与日常教学相结合、与考核评价机制相结合。
实践表明,这些改革措施,使学生的编程能力与创新意识得到全面提高。
关键词ACM竞赛;编程能力;教学改革1 引言ACM_ICPC(ACM International Collegiate Programming Con-test)是由美国计算机协会主办的世界公认的规模最大、水平最高的国际大学生程序设计竞赛,旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。
通过对几年的参赛及培训过程的分析,我们发现ACM_ICPC是激励学生树立创新意识,提高编程能力的有效途径。
ACM_ICPC活动的试题新颖,符合学生的求胜心理,能够提高学生的学习兴趣;通过任务驱动的方式,让学生在解题的过程中,去构思满足时间和空间要求的完美算法。
ACM 竞赛通过各类试题,让参赛选手发掘和深入学习相关学科知识,如离散数学、图论、概率论、计算几何等,锻炼出全面的程序设计和算法思维,提高今后在计算机学科领域更强的科研能力和创新能力。
另外,ACM竞赛要求参赛队在5个小时内完成6至10道题目,要求参赛者善于调节心态,用冷静的头脑及灵活的应变能力去应战,因此,通过参赛可以大大提高学生的创新能力与综合素质。
同时,由于ACM竞赛也被IT企业广泛认可,这使得参赛选手,特别是获奖选手的就业机会大大增加。
但是,ACM竞赛是一种试题难度较大的计算机专业竞赛,对于一般地方性本科院校的学生而言,只是少数“优等生”的天地,普通学生参与的机会不多。
因此,ACM竞赛中对学生综合素质进行训练的模式如何能有效地运用在日常计算机专业教学中,将ACM竞赛的模式与计算机专业学生培养结合起来,让这种对创新能力的训练与培养方式可以惠及到更多的学生,从而全面提高计算机专业学生的创新能力与编程能力,是一个值得研究的问题。
基于ACM竞赛的实验教学改革探索摘要:针对传统实验教学模式的弊端,分析ACM竞赛模式特点,讨论了基于ACM竞赛模式的实验教学,对提高学生实践能力和创新能力所起到的作用。
关键词:ACM竞赛实验教学创新能力ACM国际大学生程序设计竞赛,是由国际计算机协会组织的世界公认的规模最大,水平最高的国际大学生程序设计竞赛,旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。
该项竞赛从1970年举办至今已历36届,一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注。
目前,ACM已成为世界各国大学生最具影响力的国际级计算机类的赛事,是广大爱好计算机编程的大学生展示才华的舞台,是大学教育成果的直接体现。
在过去的若干年里,ACM大赛都是国际知名大学展示的舞台,普通高校望而却步,但是近年来随着国家对素质教育以及创新人才的迫切需求,国内对国际程序设计大赛对学生综合能力特别是创新能力培养所起到的作用的研究悄然兴起。
因此,研究如何基于ACM竞赛来开展实验教学的改革,不仅必要且具有重大的意义。
1 传统实验教学中存在的问题尽管近几年来,学校对实验室建设不断加大投入,实验条件得到了极大的改善,实验课也得到了一定的重视,但仍存在很多不足,主要有以下几个方面。
1.1 实验课时不足,实验课程得不到学生的重视目前,我校的程序设计类课程仍然分为理论和实验这两个环节,理论环节的课时数往往大大的大于实验环节的课时数,而且实验环节被看做理论环节的附属部分,仅仅是理论课后用于验证理论知识的实践过程。
除此以外,课程最终的考核分数,是以理论考试的卷面成绩为主,实验成绩只占平时成绩的一部分。
正是这种“理论比实验重要”的思想使得p实验课程的考核主要分为两个方面:一是检查程序的运行结果是否正确。
二是检查实验报告中的程序编写情况。
程序运行结果是否正确较好判断,而实验报告的批改却是非常困难的。
试想就算每个教学班有50个同学,一份实验报告只有三个题目,那么老师就要看150个程序,在批改实验报告的过程中,稍有不慎就会把一些具有独特思路的程序判错,这种考核方式在一定程度上抑制了学生思维的拓展,不利于学生创新能力的培养。
AC—ICPC竞赛模式下C++程序设计实验课的教学探讨ACM国际大学生程序设计竞赛(ACMI nternatio nal CollegiateProgrammingContest , ACM-ICPC 是由美国计算机协会(AssociationforComputingMachinery ,ACM 主办,是最具影响力的大学生计算机竞赛。
如何抓住机遇,结合ACM竞赛,提高教学质量和水平,培养高质量的人才等问题成为广大教师的探索热点和各高校相关教师之间热议的话题。
笔者积极探索将它引入到C++程序设计实验课当中,提高教学效果。
一、C++程序设计实验教学中存在的问题由于本学科的特点、生源的客观情况及硬件条件的限制等使得实验课教学仍有一些不足之处,进而学生对这么课程失去兴趣。
1)重视程度不够。
由于实验环节常常被看作是理论环节的附属部分,最终成绩仍以卷面为主,实验成绩只占一小部分,另外实验考核还容易出现缺乏清晰的依据的情况,有限实践时间里学习动力不足。
2)验证性实验内容为主。
以往实验教学中,实验内容的安排完全服从理论章节的学习,学生的注意力集中在某种结构或某个算法实现上,容易忽视对概念整体性理解把握,对于规模较大、较复杂的问题往往素手无策。
综合设计能力得不到很好地训练。
3)实验考核方法单一。
传统的考核一般由两种方式组成:一是教师检查程序的运行结果。
工作量很大,而且也不一定能在课时内完成,既费时又费力。
二是检查实验报告中的程序编写情况。
批改中容易忽略学生的独特思路。
由此一来,某种程度上限制了学生思维的拓展,不利于学生创新能力的培养。
经积极探索与实践,将ACM-ICPC竞赛引入实验课教学,能够很好解决以上问题,并取得良好效果。
二、ACM-ICPC竞赛简介(一)ACM-ICPC W要规则如下以团队的形式代表各学校参赛,每队由3名队员组成。
每位队员必须是在校学生,有一定的年龄限制,并且最多可以参加2 次全球总决赛和5 次区域选拔赛。
基于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语言是计算机专业的通识基础课程,旨在培养学生的逻辑思维能力、创新实践能力和解决实际问题的能力,为后续专业课程的学习奠定良好的基础。
案例教学和竞赛在《C语言程序设计》教学中的应用【摘要】本文探讨了案例教学和竞赛在《C语言程序设计》教学中的应用。
案例教学可以帮助学生理解实际应用中的编程技巧,而竞赛则激发学生学习的动力和竞争意识。
将案例教学和竞赛结合可以增强学生的实践能力和团队合作意识。
具体步骤包括选择适当的案例和竞赛题目,指导学生进行编程实践,以及评估学生的成果。
这种教学方式有助于提高学生的编程水平和解决问题的能力。
未来的研究方向可以探讨如何更有效地结合案例教学和竞赛,以及如何评估这种教学模式对学生的长期影响。
案例教学和竞赛在《C语言程序设计》教学中的重要性不言而喻,有望为教学实践和教育改革提供有益借鉴。
【关键词】案例教学、竞赛、C语言程序设计、教学应用、优势、具体步骤、学生影响、重要性、未来研究方向1. 引言1.1 研究背景案例教学和竞赛在《C语言程序设计》教学中的应用是当前教学领域中备受关注的话题。
随着信息技术的迅猛发展,计算机科学与技术已成为一门热门的专业,而《C语言程序设计》则是计算机科学专业中的一门重要课程。
研究背景方面,随着教学理念的变革和教学方法的创新,传统的教学模式已经难以满足学生的需求。
传统的教学方法通常被认为是单一的、死板的,缺乏实践性和创新性,难以激发学生的学习兴趣和培养学生的创新能力。
教育界开始重视案例教学和竞赛在教学中的应用,希望通过这种新颖的教学方法来提高学生的学习积极性和创新能力。
通过引入案例教学和竞赛等实践性教学方法,可以使学生更好地理解知识、掌握技能、培养思维能力,提高他们的实际操作能力和解决问题的能力。
案例教学和竞赛在《C语言程序设计》教学中的应用具有重要的意义和价值。
1.2 研究意义案例教学和竞赛在《C语言程序设计》教学中的应用具有重要的研究意义。
通过案例教学和竞赛的结合,可以有效地激发学生学习的兴趣和潜力。
在实际的编程案例中,学生需要运用所学的知识去解决实际问题,这样可以增强他们的实践能力和创新思维。
摘要:从分析当前高校在程序设计类专业课程教学中存在的问题及问题产生的原因出发,阐述利用acm竞赛来促进计算机专业教学体系特别是程序设计类课程的教学改革。
在调研acm 竞赛模式和特点的基础上,通过改革课程开设计划、改革课程实践教学模式、开发资源网站、建设学生梯队、建立激励机制、改革考核手段等方式来实施课程教学改革,并在实际教学应用中取得了一定的成效。
关键词:acm竞赛;程序设计;课程;教学改革中图分类号:tp3-4 文献标识码:a 文章编号:1007-9599 (2012)19-0000-021 引言计算机软件技术的发展日新月异,给高等院校相关专业的教学带来了很大的挑战,为了更好地适应不断变化的社会就业需求,就必须在传统的计算机专业教学模式的基础上开辟出一条新路。
在这样的背景下,乐山师范学院计算机科学学院早在2005年就开始开展校企合作办学,与企业联合培养校企合作方向的学生,至今已是第八届。
相比普通班,校企合作教改班所开设的专业课程更符合于当前计算机人才市场的需求,典型的特点就是注重对学生的专业技能尤其是程序设计和软件开发能力的系统性培养,严格按照软件工程师的培养模式来开展相关的理论和实践教学环节,这在很大程度上改变了以往只注重专业理论教学的局限性。
在对近几年教改学生的就业情况进行分析以后,明确肯定了校企合作教学模式为我院本科人才培养体系的改革起到了决定性的促进作用,学生的专业技能有了明显的增强,也大大提高了毕业生的就业率。
但与此同时也认识到存在的一些问题:首先,传统的以程序设计语言语法描述为主线的教学方式,以及模式化的实验内容,使教师在教学过程中容易将重点偏向理论,降低了对学生实践能力的锻炼和考核;其次,我们的软件工程师主要是在教室和机房这样的环境下培养出来的,缺乏真刀真枪的实践锻炼机会;最后,虽然校企合作人才培养方案的整体实施效果不错,但也很难培养出高层次的计算机专业人才。
如果以上几点不能有效地解决,那么校企合作办学的成效和前景将受到限制,因此迫切地需要一种途径去驱动程序设计类专业课程的教学模式改革,经过长期、反复的思考和摸索,我们认为通过开展学科专业竞赛活动来推动课程教学改革是比较可行的。
基于ACM模式的程序设计类课程实践教学探索摘要:针对程序设计类课程实践教学存在的问题以及问题产生的原因,在分析ACM竞赛模式特点的基础上,探讨结合ACM模式的实践教学方法,提出几条具体措施,在实际应用中取得了一定成效。
关键词:ACM;实践教学;程序设计众所周知,程序设计类课程实践性非常强,尤其针对计算机专业的学生,程序设计能力的强弱是检验毕业生是否合格的重要标准。
然而,传统的以设计语言语法描述为主线的教学方式、模式化的实验内容,使教师在教学过程中自觉或不自觉的将重点偏向理论,降低了对学生实践能力的有效监管和考核,无法充分锻炼和提高学生程序设计能力。
ACM国际大学生程序设计竞赛(简称ACM)是世界上公认的规模最大、水平最高的程序设计竞赛,提供了学习和使用程序设计语言和算法的完整实践模式。
因此,探讨如何基于ACM开展有效的程序设计实践教学十分有意义,下文就这方面进行讨论。
1传统实践教学中的问题尽管近年来程序设计类课程实践教学得到重视,并与以前相比有很大的改善,但仍存在很多不足,主要表现在以下几个方面。
1) 实践教学仍被视为理论教学的附属,未得到独立开展。
目前,大部分院校的程序设计类课程大多分为理论和实验两个环节,针对计算机专业可能会再添加课程设计环节。
无论是教学计划的制定者、课程的任课老师还是学习该课程的学生,实验环节都被看作理论教学的辅助手段,是继理论传授之后的以验证和加深理解为目的的实践过程,这点从教学学时分配、课程开展的先后次序、最终的考核制度中均可体现。
这种“实验从属于理论”的思想使得学生对实验环节得不到充分重视,程序实现和调试能力很差,违背了程序设计类课程的学习宗旨。
2) 实验内容过于模块化、忽略学生的综合设计能力。
首先,传统实验教学中,实验内容大多以章节为单位,以算法为主线,学生通常只把注意力集中在每一个单独算法掌握中,从而忽略了对概念的整体性把握和解决较大规模问题时对算法的综合应用能力[1]。
科技资讯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竞赛平台在C语言程序设计教学中的应用研究C语言程序设计作为计算机专业相关专业学生的入门第一课,是学习其它专业课程的重要基础。
如何教好这入门第一课是教学改革中的重要课题。
本文针对C语言教学中普遍存在的重理论轻实践、重语法讲解轻编程思想的现象,将ACM竞赛平台用于C语言的实践教学中,为学生提供了编程实践的平台,极大地激发了学生的编程热情,培养了学生自主学习的能力,取得了很好的教学效果。
C语言程序设计 ACM竞赛平台教学效果一、引言在信息技术飞速发展的今天,如何改革传统的教育教学理念与方法,将理论与实践有机结合,有效推进素质教育和高水平人才培养,是新时期IT人才培养面临的新课题。
程序设计能力是计算机专业学生的基本技能之一,也是检验毕业生是否合格的重要标准。
ACM/ICPC国际大学生程序设计竞赛作为一项世界性的竞赛活动,正好迎合了当今社会对创新性IT人才的需求,竞赛较全面地考验学生对知识的综合运用能力、创造性地分析解决问题的能力,所以在IT界具有超凡的影响力。
该项赛事极大地提高了参赛同学的学习热情、实践动手能力、团队合作能力和创造创新能力。
本人自2009年开始致力于C语言教学改革,将ACM/ICPC竞赛平台用于程序设计课程的实践教学中,极大地提高了学生的编程积极性,提高了学生的实践能力、自学能力和分析解决问题的能力,为后继专业课程的学习打下来良好的基础。
二、C语言程序设计课程的特点1.C语言程序设计是计算机相关专业的入门第一课程序设计能力是计算机专业学生的基本技能之一,从课程学习的角度看,它是很多课程的基础,没有较强的程序设计能力将导致许多后续课程难以学好。
从计算机专业课程体系来看,国内外大多数高校都把C语言程序设计作为计算机专业学生的第一门专业基础课,重在培养学生理解计算机解题过程,培养学生用计算机解题的思维方式,破除学生对计算机的神秘感,激发学生的学习兴趣,为后继专业课程打下良好基础,帮学生打开计算机世界的大门。
基于ACM平台的C语言实验课程教学实践作者:陈荣钦王爱冬应建健来源:《科教导刊》2016年第02期摘要以建构主义教学理论为指导思想,“台州学院在线程序设计综合实验平台”为桥梁的C语言实验课程,突破传统实验课程教学考几个方面的弊端,在教学各个环节中引入计算机自动评判方法,把传统的以“教师为中心”的教学模式转变成以“学生为中心”的趣味性和竞争性的自主学习过程,有效地将课内外教学和过程考核有机结合,极大地提高了教学效率。
关键词建构主义 ACM平台 C语言实验课程程序设计中图分类号:G424 ; 文献标识码:A DOI:10.16400/ki.kjdkz.2016.01.064C Language Experimental Course TeachingPractice Based on ARM PlatformCHEN Rongqin, WANG Aidong, YING JianjianAbstract Constructivism teaching theory as the guiding ideology, "Taizhou University online program design comprehensive experimental platform" for the C language experimental curriculum bridges, breaking the traditional experimental teaching curriculum test several aspects of the drawbacks, the introduction of computers in all aspects of automatic evaluation method teaching,to put into traditional "teacher-centered" teaching mode "student-centered" self-learning process interesting and competitive, effectively combine inside and outside process of teaching and examination courses, and teaching efficiency is greatly improved.Key words constructivism; ACM platform; C Language experimental course; program design; self learning1 理论背景建立在建构主义教学理论基础上并具有较强指导意义的教学方法有目标驱动教学法、任务驱动教学法和项目驱动教学法。
C 语言程序设计课程在高校中是一门开设率很高的课程,不仅在计算机科学相关专业中作为专业基础课开设,还在很多工科专业中作为公共基础课开设。
但C 语言程序设计课程一直被认为是一门较难的课程,学生觉得难学,教师觉得难教。
浙大宁波理工学院经过多年的探索,成功应用了基于ACM-ICPC 的任务驱动教学模式,使该门课程的教学效果有了很大提升。
一、ACM-ICPCACM-ICPC (ACM International Collegiate Pro -gramming Contest),即ACM 国际大学生程序设计竞赛,是由美国计算机协会(ACM )主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛[1]。
经过近30多年的发展,ACM 国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。
ACM-ICPC 的赛制比较独特,要求以团队的形式代表各学校参赛,每队由3名队员组成。
比赛期间,每队使用1台电脑需要在5个小时内使用C 、C++、Pascal 或Java 中的一种编写程序解决6到10个问题。
程序完成之后提交裁判运行,只有对于所有的输入数据该程序都能在规定的时间内得到正确的结果,才能够获得正确通过。
最后的获胜者为正确解答题目最多且总用时最少的队伍。
ACM-ICPC 竞赛提供了多种学习模式,如竞争式学习、协作式学习、任务驱动式学习等。
其中,任务驱动式学习模式使学生始终处于积极的学习状态,将接受式学习转变为探究式学习,学生通过完成任务获得满足感、成就感,从而激发了他们的求知欲望,逐步形成一个感知心智活动的良性循环。
二、基于ACM-ICPC 的教学实施策略在ACM-ICPC 程序设计竞赛30多年的发展历程中,出现过很多优秀的Online Judge (简称OJ )系统。
在国外,比较知名的OJ 系统有SGU(SaratovState University Online Contester)、UVa Online Judge等;国内比较知名的OJ 系统有北京大学、天津大学、浙江大学、南开大学在线评测系统、华中科技大学的OJ 系统等。
作者简介:彭冰(1990-),女,河北衡水人,中级工程师,从事计算机科学与技术研究;尤枫(1963-),男,江苏江都人,高级工程师,从事软件测试与软件可靠性、Web 用户行为分析研究;李芳(1977-),女,河北安国人,高级工程师,从事计算机科学与技术研究。
C 语言是许多高校学生学习的第一门编程语言,是计算机专业一门重要的专业基础课,能为丰富学生的计算机编程知识、提高学生的计算机编程能力奠定坚实的基础。
当前,高校C 语言程序设计课程教学遇到一些问题,影响课程教学效率和教学质量的提高。
ACM 国际大学生程序设计竞赛在全球具有重大影响力,受到很多高校的重视。
研究发现,高校教师将ACM 竞赛模式与训练方法引入C 语言课程教学,能够创设良好的教学情境,激发学生的学习兴趣,提高学生的学习积极性与主动性,实现ACM 比赛训练与C 语言教学的相互促进,从而取得较好的教学效果。
下面主要分析高校C 语言课程教学遇到的问题,并从几个方面对基于ACM 竞赛模式的高校C 语言实践教学方法改进进行探讨。
一、ACM 竞赛概述ACM 竞赛一般指ACM 国际大学生程序设计竞赛(简称ACM-ICPC),是由国际计算机协会(Associa-tion for Computing Machinery,简称ACM )主办的一项年度竞赛,竞赛着眼于展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力。
ACM 国际大学生程序设计竞赛是全球最具影响力的大学生程序设计竞赛,深受计算机行业的重视。
其赛制具有特殊性,即要求参赛者以三名队员组成的团队形式代表学校参赛,每队使用一台电脑,需要在五个小时内使用C、C++、Java、Pascal 中的一种编写程序解决六个到十个问题。
ACM 竞赛非常考验参赛者的能力与素质,需要参赛者具有较高的计算机专业水平、良好的团队协作意识和心理素质。
因为ACM-ICPC 在计算机领域的重要影响力,每届赛事的获奖选手受到各大知名软件公司的青睐。
ACM竞赛平台在C语言程序策划教学中的运
用探究
C语言程序设计作为计算机专业相关专业学生的入门第一课,是学习其它专业课程的重要基础。
如何教好这入门第一课是教学改革中的重要课题。
本文针对C语言教学中普遍存在的重理论轻实践、重语法讲解轻编程思想的现象,将ACM竞赛平台用于C语言的实践教学中,为学生提供了编程实践的平台,极大地激发了学生的编程热情,培养了学生自主学习的能力,取得了很好的教学效果。
C语言程序设计 ACM竞赛平台教学效果
一、引言
在信息技术飞速发展的今天,如何改革传统的教育教学理念与方法,将理论与实践有机结合,有效推进素质教育和高水平人才培养,是新时期IT人才培养面临的新课题。
程序设计能力是计算机专业学生的基本技能之一,也是检验毕业生是否合格的重要标准。
ACM/ICPC国际大学生程序设计竞赛作为一项世界性的竞赛活动,正好迎合了当今社会对创新性IT人才的需求,竞赛较全面地考验学生对知识的综合运用能力、创造性地分析解决问题的能力,所以在IT界具有超凡的影响力。
该项赛事极大地提高了参赛同学的学习热情、实践动手能力、团
队合作能力和创造创新能力。
本人自2009年开始致力于C语言教学改革,将ACM/ICPC竞赛平台用于程序设计课程的实践教学中,极大地提高了学生的编程积极性,提高了学生的实践能力、自学能力和分析解决问题的能力,为后继专业课程的学习打下来良好的基础。
二、C语言程序设计课程的特点
1.C语言程序设计是计算机相关专业的入门第一课
程序设计能力是计算机专业学生的基本技能之一,从课程学习的角度看,它是很多课程的基础,没有较强的程序设计能力将导致许多后续课程难以学好。
从计算机专业课程体系来看,国内外大多数高校都把C语言程序设计作为计算机专业学生的第一门专业基础课,重在培养学生理解计算机解题过程,培养学生用计算机解题的思维方式,破除学生对计算机的神秘感,激发学生的学习兴趣,为后继专业课程打下良好基础,帮学生打开计算机世界的大门。
所以,如何教好这入门第一课对学生今后其它专业课程的学习至关重要。
2.C语言是一门实践性很强的课程
C语言程序设计的重点是“程序设计”,C语言的教学不能只停留在对语法的研究上,而是教学生用C语言的语法表达自己的算法思想。
目前很多C语言教材过于详尽的语法解释是对老师和学生的一大误导。
老师在课堂上用大量篇幅
强调语法,再加上大部分高校C语言考试采用笔试,引导着学生的学习方式也是以语法为中心,导致会做选择题、填空题、读程序题,但就是不会自己写程序。
三、ACM竞赛平台在C语言实践教学中的作用
C语言的教学重在编程能力的培养。
如何培养编程能力,清华大学吴文虎教授经常对学生说:“你不是看会的也不是听会的,而是动手动脑练会的”。
要想教好C语言这门课,用一句话可以概括为:千方百计提高学生对编程的兴趣。
ACM竞赛平台正是起到了激发学生编程热情的作用。
1.为学生搭建了一个学习交流的平台
传统的实验教学模式下,很多学生只是照着详细的实验指导书或课本,输入一些代码,进行一些验证性实验,起不到对学生创新能力的培养。
即使学生独立完成了编程任务,传统模式下缺少严格的评判,只是学生自己运行评判自己的程序,而这样的测试是远远不够的,一种输入正确,不等于所有的输入都正确;一次运行正确,不等于次次运行都正确。
因此传统模式下实验效果根本就无法保证。
而借助竞赛平台后情况就完全不同了。
学生需要提交源程序,由机器使用大量的测试数据评判学生的程序是否正确,然后返回相应的信息:成功通过、语法错误、答案错误、超时或内存溢出等等。
学生可以根据系统返回的信息继续修改程序,然后再提交,直到评判成功为止。
编程中遇到问题
了,苦思敏想、单步调试找出bug了、或者求助老师、学长解决了,就真正掌握了一个重要知识点、或积累了一个重要编程经验,程序员就是这样成长的。
通过这一平台,教师可以随时了解每个学生的完成情况,分析学生的代码,及时解决学生的问题。
学生每做出一道题,系统都有记录和排名,同时学生也能查看其他同学做了多少题、做了那些题,无形中在他们间形成一种互相竞争的状态,激起继续努力的劲头,形成良好的学习氛围。
2.培养了学生自主学习能力
C语言程序设计是一个实践性很强的学科,仅靠理论课和实验课上有限的时间是远远不够的,学生需要在课下进行大量的编程练习,在编程、调试的过程中才能深入掌握理解C语言的语法,并培养程序设计思想。
而ACM竞赛平台正好提供了这样一个程序在线测试平台。
为了能够在下次实验或竞赛中取得良好的成绩,他们会充分的利用课余时间,在竞赛平台下大量的做题,虽然有些知识的学习很枯燥,但是由于在攻克题目中行之有效,又是学以致用,他们常常会乐此不疲,直到把每一个知识点都理解透彻,这在无形中正好弥补了我们教学中的不足,对我们的教学工作起到了良好的促进作用。
3.引导着C语言教学理念的改变
C语言被国内大部分高校列为计算机相关专业的入门
第一课。
但国内高校C语言的教学效果普遍不理想,成了打击计算机专业学生成长的绊脚石。
早期的C语言程序设计教材大都以讲解语法为中心,钻语法的牛角尖。
教学生写程序,好比教小学生写作文,只讲语法是教不会写作的。
而ACM竞赛平台的引入,把以语法为中心的教学模式引导到案例驱动的教学模式中来。
C语言的学习,不再以语法为中心,而是以培养编程能力为中心。
C语言的教学重点得到了拨乱反正,教学效果得到了显著提高。
四、结语
新的教学模式对专业教师提出了更高的要求。
第一,要求教师要热爱编程,能带学生领略编程之美,激发学生的编程热情;第二,要求教师要有很强的责任感,及时解决学生编程中遇到的问题,保护学生的编程积极性。
本人自09年开始尝试借助ACM竞赛平台进行C语言教学改革,教学效果提高显著。
进行教学改革的两个班级中的学生进入高年级以后,有的在ACM-ICPC国家大学生程序设计竞赛中获得大奖,有的成了学生科研团队的主力军,毕业生的就业质量也有明显提高。
这一教学改革成果于2012年开始在全院推广,使得2012级新生整体编程能力有很大提高。
这一教学改革成果的推广必将极大地提高学生的实践动手能力、自主学习能力和创新能力,为社会输送更多的高质量的IT人才。
参考文献:
[1]何莉辉,梁沧.基于ACM国际大学生程序设计竞赛的学习模式[J].经济与文化,2008,(6):95-96.
[2]皮德常,吴庆宪.国际大学生程序设计竞赛与创新人才培养[J].电气电子教学学报,2008,30(3):44-45.
[3]刘鑫,杨春燕.浅谈C语言程序设计教学方法[J].长春理工大学学报(高教版),2009,(11).。