论文部分内容阅读
摘 要:高校教师将ACM竞赛模式与训练方法引入C语言程序设计课程教学,能够创设良好的教学情境,激发学生对C语言程序设计课程的学习兴趣,提高学生的学习积极性与主动性,实现ACM比赛训练与C语言教学的相互促进。文章主要分析高校C语言课程教学遇到的问题,并对基于ACM竞赛模式的高校C语言实践教学方法进行探讨。
关键词:ACM竞赛;C语言程序设计课程;实践教学;教学模式;教学策略
中图分类号:G642 文献标志码:A 文章编号:1008-3561(2021)25-0030-02
C语言是许多高校学生学习的第一门编程语言,是计算机专业一门重要的专业基础课,能为丰富学生的计算机编程知识、提高学生的计算机编程能力奠定坚实的基础。当前,高校C语言程序设计课程教学遇到一些问题,影响课程教学效率和教学质量的提高。ACM国际大学生程序设计竞赛在全球具有重大影响力,受到很多高校的重视。研究发现,高校教师将ACM竞赛模式与训练方法引入C语言课程教学,能够创设良好的教学情境,激发学生的学习兴趣,提高学生的学习积极性与主动性,实现ACM比赛训练与C语言教学的相互促进,从而取得较好的教学效果。下面主要分析高校C语言课程教学遇到的问题,并从几个方面对基于ACM竞赛模式的高校C语言实践教学方法改进进行探讨。
一、ACM竞赛概述
ACM竞赛一般指ACM国际大学生程序设计竞赛(简称ACM-ICPC),是由国际计算机协会(Association for Computing Machinery,简称ACM)主办的一项年度竞赛,竞赛着眼于展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力。ACM国际大学生程序设计竞赛是全球最具影响力的大学生程序设计竞赛,深受计算机行业的重视。其赛制具有特殊性,即要求参赛者以三名队员组成的团队形式代表学校参赛,每队使用一台电脑,需要在五个小时内使用C、C 、Java、Pascal中的一种编写程序解决六个到十个问题。ACM竞赛非常考验参赛者的能力与素质,需要参赛者具有较高的计算机专业水平、良好的团队协作意识和心理素质。因为ACM-ICPC在计算机领域的重要影响力,每届赛事的获奖选手受到各大知名软件公司的青睐。
二、高校C语言课程教学遇到的问题
其一,部分教师往往将上机实践作为理论课的补充和辅助,未能实现两者的有机结合。其二,部分教师侧重学生对语法的掌握,忽视算法知识的积累和实际应用开发训练,不注重培养学生解决实际问题的能力,导致部分学生思维固化,面对问题时不能举一反三,难以灵活地运用所学知识解决实际问题。其三,计算机专业学生水平存在差异性,教师未能进行分层教学。一部分学生已经掌握基础知识,需要的是拔高练习,而另一部分学生初次接触C语言,接受知识的速度较慢,需要教师循序渐进地进行讲解。其四,部分学生自学能力较差,遇到问题不善于独立思考。调查发现,一些问题往往是拼写错误,学生只要認真检查就能发现,但部分学生自学能力较差,需要教师经常当面指导。这浪费指导教师大量时间,导致真正需要帮助的学生得不到及时帮助,而出现拼写错误的学生也将宝贵的练习时间用来查找低级错误。其五,教师提供的练习题没有参考答案,导致学生难以分析错题或难题的解题思路,练习效果大打折扣。
三、基于ACM竞赛模式的高校C语言实践教学策略
ACM竞赛模式为C语言实践教学提供了参考,能够有效提高课程教学效率和教学质量。作为高校计算机专业教师,要认真分析ACM竞赛模式的特点与C语言课程内容,结合学生学习特点精心设计实践训练模式,引导学生通过有效的方法完成相应的实践任务,最后对学生的实践任务进行评价,让学生知道自己的优势与不足,逐步提高计算机应用能力。
1.定期发布训练试题
教师可以模仿ACM比赛机制,定期发布训练试题,并按照累计完成数进行排名。题目来源于各类教学参考书以及实际问题的改编,注重对学生C语言知识掌握情况进行考查。设计训练试题时,要注意以下三个方面。一要充分考虑班级学生编程水平的差异,设置不同难度的习题,引导学生在夯实基础的前提下进行提高训练。二是针对初学者对C语言语法知识无法快速消化的现象,教师需要在每次开始练习前反复强调,让学生尽快熟悉基本的语法知识。三是布置的练习题应与ACM竞赛题目格式一致,并且与实际应用相联系,对于输入输出样式和数据范围要有明确要求。
2.定期组织比赛并在赛后发布题解
教师要参考ACM比赛的训练模式,定期组织学生进行比赛,并在赛后发布题解。教师每年可以以新生赛的方式,从大一新生中选拔参赛队员。这可以提高ACM赛事在学生中的知名度,吸引优秀学生参加,激发学生对C语言的学习兴趣。所提供的题解要附上简要注释,帮助学生理解解题思路,同时鼓励学生寻找更简单有效的方法。系统统计的答题情况表明,学生在第二次实践课后小测满分率为75%,到第四次实践课后小测满分率达到82%。
3.引导学生进行赛后反思并解决遇到的问题
教师在比赛之后要引导学生进行赛后反思,通过独立思考、查阅网络资料、群内讨论的方法解决比赛过程中遇到的问题,这对于提高学生的实际能力非常重要。学生在解题过程中遇到的问题主要分为两类,一类是编译出错,一类是运行结果错误。前者主要是拼写错误等简单错误,教师可提醒学生查看编译器的编译错误提示。学生应认识基本的错误提示类型,对于不常见的编译报错提示,学生可自行上网搜索错误原因。而对于运行结果错误,教师可提醒学生通过查阅网络资料或群内讨论的方法加以解决。
四、结语
ACM程序设计竞赛的实践教学与C语言程序设计基础课的日常教学,虽然都是以提高学生C语言程序设计能力为目标,但因为面向对象和评价方式的不同,逐渐产生了较大的差异。C语言程序设计是计算机专业一门重要的专业基础课,具有较强的实用性,能够丰富学生的计算机编程知识,提高学生的计算机编程能力。针对当前高校C语言程序设计课程教学遇到的问题,高校教师可以从ACM程序设计竞赛中汲取先进经验,将ACM竞赛模式与训练方法引入C语言课堂教学,创设良好的教学情境,激发学生对C语言程序设计的学习兴趣,实现ACM比赛训练与C语言教学的相互促进,从而提高C语言程序设计课程教学效率和教学质量。在设计学习模式和考核评价机制时,要让学生把知识学习与实践练习紧密结合起来,引导学生主动思考,提高学生对C语言程序设计的学习积极性与主动性,培养学生的编程思维能力与团队合作能力。 参考文献:
[1]王春平,王卫红,韩姗姗.ACM-ICPC训练方法与竞赛策略[J].计算机教育,2014(06).
[2]谭浩强.C语言程序设计[M].北京:清华大学出版社,2012.
[3]范建中,王秀友.基于ACM竞赛模式的数据结构实践教学探讨[J].安庆师范大学学报:自然科学版,2018(03).
[4]吴海波,夏新军.基于ACM/ICPC的计算机实践教学研究[J].当代教育理论与实践,2014(05).
[5]卢玲,陈媛,苟光磊.基于ACM竞赛的学习能力培养模式研究与实践[J].计算机教育,2013(07).
[6]李环.基于ACM竞赛的程序设计类课程教学改革研究[J].计算机教育,2016(03).
[7]戚爽.论ACM/ICPC竞赛推进程序设计类课程的教学改革[J].长春金融高等专科学校学报,2014(02).
[8]刘晶,吕艳琳,李尤丰.基于ACM竞賽平台的程序设计课程教学模式改革的探索[J].江苏教育学院学报:自然科学版,2010(06).
Research on the Improvement of C Language
Practical Teaching in Colleges and Universities
Based on ACM Competition
Peng Bing, You Feng, Li Fang
(School of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029, China)
Abstract: College teachers introduce ACM competition mode and training methods into the teaching of C language programming course, which can create a good teaching situation, stimulate students’ interest in C language programming course, improve students’ learning enthusiasm and initiative, and realize the mutual promotion of ACM competition training and C language teaching. This paper mainly analyzes the problems encountered in the teaching of C language course in colleges and universities, and discusses the practical teaching method of C language in colleges and universities based on ACM competition mode.
Key words: ACM competition; C language programming course; practical teaching; teaching mode; teaching strategy
关键词:ACM竞赛;C语言程序设计课程;实践教学;教学模式;教学策略
中图分类号:G642 文献标志码:A 文章编号:1008-3561(2021)25-0030-02
C语言是许多高校学生学习的第一门编程语言,是计算机专业一门重要的专业基础课,能为丰富学生的计算机编程知识、提高学生的计算机编程能力奠定坚实的基础。当前,高校C语言程序设计课程教学遇到一些问题,影响课程教学效率和教学质量的提高。ACM国际大学生程序设计竞赛在全球具有重大影响力,受到很多高校的重视。研究发现,高校教师将ACM竞赛模式与训练方法引入C语言课程教学,能够创设良好的教学情境,激发学生的学习兴趣,提高学生的学习积极性与主动性,实现ACM比赛训练与C语言教学的相互促进,从而取得较好的教学效果。下面主要分析高校C语言课程教学遇到的问题,并从几个方面对基于ACM竞赛模式的高校C语言实践教学方法改进进行探讨。
一、ACM竞赛概述
ACM竞赛一般指ACM国际大学生程序设计竞赛(简称ACM-ICPC),是由国际计算机协会(Association for Computing Machinery,简称ACM)主办的一项年度竞赛,竞赛着眼于展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力。ACM国际大学生程序设计竞赛是全球最具影响力的大学生程序设计竞赛,深受计算机行业的重视。其赛制具有特殊性,即要求参赛者以三名队员组成的团队形式代表学校参赛,每队使用一台电脑,需要在五个小时内使用C、C 、Java、Pascal中的一种编写程序解决六个到十个问题。ACM竞赛非常考验参赛者的能力与素质,需要参赛者具有较高的计算机专业水平、良好的团队协作意识和心理素质。因为ACM-ICPC在计算机领域的重要影响力,每届赛事的获奖选手受到各大知名软件公司的青睐。
二、高校C语言课程教学遇到的问题
其一,部分教师往往将上机实践作为理论课的补充和辅助,未能实现两者的有机结合。其二,部分教师侧重学生对语法的掌握,忽视算法知识的积累和实际应用开发训练,不注重培养学生解决实际问题的能力,导致部分学生思维固化,面对问题时不能举一反三,难以灵活地运用所学知识解决实际问题。其三,计算机专业学生水平存在差异性,教师未能进行分层教学。一部分学生已经掌握基础知识,需要的是拔高练习,而另一部分学生初次接触C语言,接受知识的速度较慢,需要教师循序渐进地进行讲解。其四,部分学生自学能力较差,遇到问题不善于独立思考。调查发现,一些问题往往是拼写错误,学生只要認真检查就能发现,但部分学生自学能力较差,需要教师经常当面指导。这浪费指导教师大量时间,导致真正需要帮助的学生得不到及时帮助,而出现拼写错误的学生也将宝贵的练习时间用来查找低级错误。其五,教师提供的练习题没有参考答案,导致学生难以分析错题或难题的解题思路,练习效果大打折扣。
三、基于ACM竞赛模式的高校C语言实践教学策略
ACM竞赛模式为C语言实践教学提供了参考,能够有效提高课程教学效率和教学质量。作为高校计算机专业教师,要认真分析ACM竞赛模式的特点与C语言课程内容,结合学生学习特点精心设计实践训练模式,引导学生通过有效的方法完成相应的实践任务,最后对学生的实践任务进行评价,让学生知道自己的优势与不足,逐步提高计算机应用能力。
1.定期发布训练试题
教师可以模仿ACM比赛机制,定期发布训练试题,并按照累计完成数进行排名。题目来源于各类教学参考书以及实际问题的改编,注重对学生C语言知识掌握情况进行考查。设计训练试题时,要注意以下三个方面。一要充分考虑班级学生编程水平的差异,设置不同难度的习题,引导学生在夯实基础的前提下进行提高训练。二是针对初学者对C语言语法知识无法快速消化的现象,教师需要在每次开始练习前反复强调,让学生尽快熟悉基本的语法知识。三是布置的练习题应与ACM竞赛题目格式一致,并且与实际应用相联系,对于输入输出样式和数据范围要有明确要求。
2.定期组织比赛并在赛后发布题解
教师要参考ACM比赛的训练模式,定期组织学生进行比赛,并在赛后发布题解。教师每年可以以新生赛的方式,从大一新生中选拔参赛队员。这可以提高ACM赛事在学生中的知名度,吸引优秀学生参加,激发学生对C语言的学习兴趣。所提供的题解要附上简要注释,帮助学生理解解题思路,同时鼓励学生寻找更简单有效的方法。系统统计的答题情况表明,学生在第二次实践课后小测满分率为75%,到第四次实践课后小测满分率达到82%。
3.引导学生进行赛后反思并解决遇到的问题
教师在比赛之后要引导学生进行赛后反思,通过独立思考、查阅网络资料、群内讨论的方法解决比赛过程中遇到的问题,这对于提高学生的实际能力非常重要。学生在解题过程中遇到的问题主要分为两类,一类是编译出错,一类是运行结果错误。前者主要是拼写错误等简单错误,教师可提醒学生查看编译器的编译错误提示。学生应认识基本的错误提示类型,对于不常见的编译报错提示,学生可自行上网搜索错误原因。而对于运行结果错误,教师可提醒学生通过查阅网络资料或群内讨论的方法加以解决。
四、结语
ACM程序设计竞赛的实践教学与C语言程序设计基础课的日常教学,虽然都是以提高学生C语言程序设计能力为目标,但因为面向对象和评价方式的不同,逐渐产生了较大的差异。C语言程序设计是计算机专业一门重要的专业基础课,具有较强的实用性,能够丰富学生的计算机编程知识,提高学生的计算机编程能力。针对当前高校C语言程序设计课程教学遇到的问题,高校教师可以从ACM程序设计竞赛中汲取先进经验,将ACM竞赛模式与训练方法引入C语言课堂教学,创设良好的教学情境,激发学生对C语言程序设计的学习兴趣,实现ACM比赛训练与C语言教学的相互促进,从而提高C语言程序设计课程教学效率和教学质量。在设计学习模式和考核评价机制时,要让学生把知识学习与实践练习紧密结合起来,引导学生主动思考,提高学生对C语言程序设计的学习积极性与主动性,培养学生的编程思维能力与团队合作能力。 参考文献:
[1]王春平,王卫红,韩姗姗.ACM-ICPC训练方法与竞赛策略[J].计算机教育,2014(06).
[2]谭浩强.C语言程序设计[M].北京:清华大学出版社,2012.
[3]范建中,王秀友.基于ACM竞赛模式的数据结构实践教学探讨[J].安庆师范大学学报:自然科学版,2018(03).
[4]吴海波,夏新军.基于ACM/ICPC的计算机实践教学研究[J].当代教育理论与实践,2014(05).
[5]卢玲,陈媛,苟光磊.基于ACM竞赛的学习能力培养模式研究与实践[J].计算机教育,2013(07).
[6]李环.基于ACM竞赛的程序设计类课程教学改革研究[J].计算机教育,2016(03).
[7]戚爽.论ACM/ICPC竞赛推进程序设计类课程的教学改革[J].长春金融高等专科学校学报,2014(02).
[8]刘晶,吕艳琳,李尤丰.基于ACM竞賽平台的程序设计课程教学模式改革的探索[J].江苏教育学院学报:自然科学版,2010(06).
Research on the Improvement of C Language
Practical Teaching in Colleges and Universities
Based on ACM Competition
Peng Bing, You Feng, Li Fang
(School of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029, China)
Abstract: College teachers introduce ACM competition mode and training methods into the teaching of C language programming course, which can create a good teaching situation, stimulate students’ interest in C language programming course, improve students’ learning enthusiasm and initiative, and realize the mutual promotion of ACM competition training and C language teaching. This paper mainly analyzes the problems encountered in the teaching of C language course in colleges and universities, and discusses the practical teaching method of C language in colleges and universities based on ACM competition mode.
Key words: ACM competition; C language programming course; practical teaching; teaching mode; teaching strategy