王 宏 吴文虎
在信息技术飞速发展的今天,如何改革传统的教育教学理念与方法,将理论与实践有机结合,有效推进素质教育和高水平人才培养,是新时期计算机教育面临的新课题。本文根据作者多年来在信息学奥林匹克竞赛以及相关竞赛技术组织与培训方面的经验,结合在清华大学计算机系的实践与尝试,从一个侧面总结摸索出一些初见成效的具体做法。其主要内容是鼓励学生在掌握课堂教学内容的同时,积极参与各类重大赛事,并通过参赛,开拓学生的视野,因材施教,增强团队合作意识,促进创新性人才的培养。文中对这种赛课结合方式的核心内容和鲜明特色作了初步的总结和归纳,并介绍了作者在探索过程中的部分思考和体会。
清华大学在人才培养方面,一贯倡导学生在掌握扎实的基础理论的前提下,注重强调学生分析问题与解决问题的能力培养,实践动手能力与创新能力的培养。在学生课程负担较重的情况下,如何进行上述能力的培养,我们在引导学生将参加竞赛与课堂学习相结合上进行了初步的探索。清华大学始终鼓励学生在完成课堂教学计划的同时,积极参与诸如SRT(大学生研究训练计划)和各类课外科技活动。我们结合多年来从事信息学奥林匹克竞赛以及相关竞赛技术组织与培训的便利条件,引导鼓励学生积极参加各类重大赛事,其中包括参加竞赛中的命题、技术组织与培训等活动,并通过参赛,开拓学生的视野,因材施教,促进创新型人才的培养。多年来的探索不但让我们在指导或率队参加的多项国际性大赛(如ACM国际大学生程序设计竞赛、国际信息学奥林匹克竞赛,两岸清华计算机程序设计对抗赛)中取得了优异成绩,为祖国和学校赢得了荣誉,同时也为计算机拔尖人才的培养探索了新的途径。
ACM/ICPC和IOI简介
由美国计算机协会于1977年发起并组织的ACM国际大学生程序设计竞赛(简称ACM/ICPC)是世界上历史最悠久、规模最大、影响最深远的全球性程序设计竞赛,其基本宗旨是为高校的大学生提供一个展示自己在计算机编程解题方面才能的机会,并为信息学科的发展不断注入新的活力。这项每年一届的赛事吸引了世界上几乎所有知名的高等学府。2004年参赛队伍多达3150支。ACM/ICPC的比赛方式有其独到的特点,采取三人一组共用一台计算机解若干道难题,因而选手之间必须默契配合,强调协作攻关。在以吴文虎教授为首的教练组的指导下,由我系学生组成的清华大学代表队从1997年开始参赛,连续9年通过预赛获得参加总决赛资格(大约60~70支队伍),2000年在美国举办的第24届大赛中获总排名第四,亚洲第一。2002年第26届竞赛中又一次获得总排名第四、亚洲第一的可喜成绩,并且每一届都取得令人瞩目的成绩。最近几年,国内上海交大、复旦、北大、中山大学等学校在这一赛事中都先后取得过优异成绩。
国际信息学奥林匹克竞赛(International Olympiad in Informatics, 简称IOI)是与数学、物理、化学和生物齐名的五大国际学科奥林匹克竞赛之一。1987年,保加利亚的Sendov教授在联合国教科文组织(UNESCO)第24届全体会议上,倡议举办国际信息学奥林匹克竞赛。首届IOI竞赛于1989年5月举行。此后每年举办一届,到2005年已连续举办了17届。IOI2005有大约80个国家和地区参加,由于每个国家限派4名选手参加,所以参赛选手约300多人。
IOI和ACM/ICPC竞赛同属智力与应用计算机解题能力的比赛。竞赛试题是从现实生活中抽象出来的,往往包含对不同书本知识的高度综合与凝练,有些题目并无固定的最优解法,内容涉及数据结构、人工智能、组合数学、图论与集合论、计算几何、密码学、算法复杂性等多学科领域。如IOI竞赛要求选手在限定的时间内(共两试、每试5个小时)综合运用所学知识对问题进行抽象化、模型化,最后通过编程将问题求解。分数的评定是采用苛刻的测试数据对程序进行严格的测试。因而是对选手理解力、分析力、想象力、创造力等综合能力的全面考核。
创新探索与具体尝试
综上介绍不难得出,要想在ACM或IOI竞赛中取得优异成绩,必须经过严格特殊的训练。经过多年的探索和实践,我们总结出一些行之有效的方法,并建立了一套多层选拔、综合择优的遴选机制。
能够进入ACM/ICPC或IOI国际大赛中国代表队集训的学生,全部是计算机算法与程序设计方面的佼佼者,通过集训和参赛前后的接触,使得这些学生构成了志趣一致的“智力群体”,通过指导他们在参赛和训练过程中彼此切磋、互相交流、取长补短,让他们在一个更高的视野和氛围中得到锻炼和提高。这本身就是对拔尖学生的一种十分有效的因材施教。
由于信息学竞赛可以在网络环境下同步进行,我们充分利用这一特点,引导学生广泛参加通过网络环境公开进行的程序设计竞赛,与国际上的优秀选手在网络上同场竞技,展开激烈较量。通过参加这类竞赛,使许多选手增强了信心,同时也看到了自己的差距。一些素不相识的竞争对手通过竞赛彼此交流,共同提高。同时我们还引导学生有效利用网络上提供的各种资源,如一些国际区域赛、多国对抗赛后公布的试题、模拟训练题等,促进竞赛水平不断提高。
此外,我们还通过组织学生进行一题多解、最优算法讨论、论文报告等多种方式调动选手探索式学习的钻研热情,激励选手在综合素质和创新能力方面得到提高。同时,通过指导学生进行相关竞赛的命题和培训,让学生多方面的能力都得到锻炼。
由于ACM/ICPC比赛方式独具的协作特点,通过训练和比赛,参赛选手集体协同的团队精神和协作攻关能力也得到很好的培养和锻炼。
通过参与竞赛小组的工作,许多同学从编程技巧到数据结构,以及算法设计与分析的水平与能力都有了明显的提高。有的同学在多方面取得了独具特色的创新进展,这段研究经历也为他们后来的发展创造了条件。许多奥赛选手毕业后被国外著名大学计算机系录取继续攻读博士学位。有的同学在清华大学计算机系硕士毕业后,进入微软研究院从事研究工作。
IOI从1989年至2005年共举办17届国际大赛,中国代表队共获金牌38枚、银牌17枚、铜牌13枚。吴文虎教授一直担任中国代表队总教练,王宏博士、北京航空航天大学的尹宝林教授、北京大学计算机系的李文新博士也连续多年担任教练和技术培训工作。特别是在最近两届的IOI大赛(2004年和2005年)中,中国队取得参赛四名选手全获金牌,团体总分第一的优异成绩。
全国信息学奥林匹克竞赛(NOI)至今已举行22届。王宏博士作为中国计算机学会信息学奥林匹克竞赛科学委员会的主要成员和技术负责,先后指导数十名学生为全国信息学奥林匹克竞赛、IOI选拔赛的命题和培训做了大量的技术组织工作。
目前全国每年参加与NOI相关的比赛选手已达数万人,直接参加NOI和IOI大赛而受到专门训练的选手累计也已有数千人。信息学竞赛除了在计算机程序设计方面具有深远的意义,同时也是一个很好的教学平台。通过它可以让学生将理论与实践紧密地结合起来,提高学生的动手能力、创造能力、协作能力和综合能力。目前国家所提倡的素质教育中,能力培养是核心。信息学竞赛提供了一个对学生能力进行培养的大舞台。
基本理念与鲜明特色
通过参加各种国际大赛开拓学生视野,因材施教,促进创新性人才培养,是赛课结合的核心内容和鲜明特色。这种方式和做法与普通的课堂教学和实验环节截然不同,其特色与创新之处主要体现在以下几方面:
1.因材施教的有效途径
参加高水平竞赛乃至国际大赛的学生大多是学有余力的佼佼者,通过参赛,使得这些拔尖学生构成了志趣一致的“智力群体”,指导他们在参赛过程中彼此切磋、取长补短,为他们构造或营建一个更高层次的探索空间和研究氛围。这是对拔尖学生的一种十分有效的因材施教。
2.创新能力的激励培养
竞赛试题往往包含对不同书本知识的高度综合与凝练,有些题目更是极富挑战的世界难题,需要灵活运用多门学科知识,在已有工作基础上发展创新,因而是对学生综合素质特别是创新能力的激励培养。
3.学习理念与模式的改革尝试
参加各类赛事本身就是一种研究性、探索性的学习过程,它充分调动了选手自主学习的钻研热情,使之主动探索发现并解决问题,因此它是对传统学习理念与模式的改革尝试。
4.争创一流的陶冶训练
让学生与国内和国际上最优秀的学者展开竞争,使他们始终处于勇攀高峰、追求卓越的状态之下,这无疑是对争创一流的特殊陶冶与训练。
5.团队精神的特殊锻造
这里涉及的多数赛事需要多人组队完成,强调组内成员协同攻关、默契配合,因而是对集体协同的团队精神的特殊锻造。
6.网络环境的充分利用
由于一些计算机类的竞赛可以在网络环境下进行,通过参赛拓宽视野的另一个突出特点就在于充分利用现代网络环境,放眼世界去发现并参加一些在计算机领域里很有影响,而且不需要很大的投资,又使学生们有机会与国际高水平同行交流、或与同领域的佼佼者同步较量的竞赛活动。
7.榜样力量的辐射作用
参赛选手的优异成绩和拼搏精神还产生了很好的榜样力量和辐射作用,带动和促进了周围学生更加自觉地努力钻研,在更大的范围内形成一种积极进取、奋发向上的良好风气。
相关成果与应用实例
1.精品课建设与学科发展
许多竞赛一方面是很好的研究平台,另一方面也对新的课程建设和学科发展起到积极的促进作用。
吴文虎教授在长期指导信息学奥赛和ACM大赛的基础上,于2001年开始为本科生开设“程序设计基础”课程,经过短暂三年的建设已成为首批“国家精品课程”之一。
2.教材建设
在参加各项赛事之后,指导教师和同学还将竞赛的算法进行系统总结出版成书。以吴文虎教授主编的信息学奥赛与算法程序设计方面的教材已达十余本。刘汝佳、黄亮两位奥赛选手于2004年结合自身体会,出版了《算法艺术与信息学竞赛》的专门教材,深受读者的欢迎和好评,出版后现已多次重印。
3.课题研究与论文成果
指导参赛同学将其中的算法和软件设计方法总结撰写成高水平的论文在期刊或国际会议上发表。有的同学在参赛基础上进行的课题研究已发表多篇国际会议论文。更多的同学通过参赛开始或深入进行了相关的课题和学位论文研究。
4.引导学生积极参加竞赛的技术组织工作
如命题、评测、辅导与培训等,王宏于2000年指导学生提交完成的3道试题经过多轮筛选,在有多个国家提交的众多候选题目中脱颖而出,全部被国际科学委员会采纳,最终作为IOI2000的竞赛试题,为第12届国际信息学奥林匹克赛在北京的成功举办作出了贡献。
总之,通过参加各种国际大赛,获得的绝不仅仅是奖牌和奖杯,它在人才培养、教育创新等方面所进行的有益探索和实践,取得了比竞赛成绩更有价值的丰硕成果。参加大赛的选手绝大多数品学兼优,继续保持领先势头。许多金牌获得者无论是做人还是做学问都堪称一流。因此,可以毫不夸张地说,各类国际大赛的代表队是信息学后备拔尖人才的摇篮。参加此类竞赛是创新性人才培养的有效途径。
目前我们正在进行参赛选手所学课程的改革尝试,以便更好地发挥和调动这部分同学的积极性,解决赛课结合实施中的具体问题,将这种新的教学模式的改革不断推向深入。