APP下载

从ACM/ICPC竞赛探讨大学生的能力培养

2010-12-31杨松涛张海燕

计算机教育 2010年24期


  摘要:针对大学生实践创新能力不足的问题,本文从实际教学实践出发,分析ACM/ICPC竞赛试题和竞赛规则,阐述ACM/ICPC竞赛培养和发现创新人才的观点。通过结合高等院校大学生实际教学,各高校在C语言课程以及指导ACM/ICPC竞赛方面取得了卓越的成效。
  关键词:ACM/ICPC;创新能力;实践教学;团队协作
  
  随着人才竞争的日趋激烈和高智能化,人们认识到只拥有知识是远远不够的。世界著名物理学家劳厄曾说过,“重要的不是获得知识,而是发展思维能力。教育无非是一切已学过的东西都遗忘掉的时候所剩下来的东西。”研究表明,那些具有创造型思维的人,比一般人更善于思考,更懂得如何提炼有用的信息、如何驾驭和运用知识去解决新问题。ACM国际大学生程序设计竞赛(ACM/ICPC:ACM International Collegiate Programming Contest)是由国际计算机界权威组织、美国计算机协会主办的世界公认的规模最大、水平最高的国际大学生程序设计竞赛,旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。大学生普遍存在创新能力弱于接受知识能力、综合表达能力弱于应试能力、实际应用能力弱于抽象思维能力的现象。将理论与实践有机结合,有效推进素质教育和高水平人才培养,是新时期创新人才教育面临的新课题[1]。ACM/ICPC 竞赛和培训模式在一定程度上将基础学科很好地运用于程序设计当中,帮助学生加强学习和理解。其竞赛题目需要融入很多相关学科知识,选手通过培训和学习,能够更好地掌握更多的基础学科知识,提高思维能力。ACM/ICPC竞赛对于推动大学生科技创新教育,提升高校人才培养质量,增强高等教育的自主创新能力具有重要的历史和现实意义。
  1以突出实践强化基础
  ACM/ICPC竞赛对提高学生的编程能力有很大帮助,它要求学生具有纯熟的程序设计能力及扎实的数学基础,能够从更高的抽象层面解决问题。ACM/ ICPC虽然被定性为程序设计竞赛,但是参赛选手面临的问题表现为没有解决问题的思路,而不是有思路却不能实现,其原因是平时的基础知识积累不够。例如核心基础类课程算法与数据结构,只有熟练掌握基本算法才能对数据结构,尤其是算法复杂度有比较全面的理性和感性认识。
  目前很多计算机专业课程属于实践操作性课程,强调学生的实际动手能力。文献[2]基于ACM模式的数据结构实践教学改革措施