高丽华
常听人谈及团队精神培育,总感觉有些虚。前不久采访在上海举办的第29届国际大学生编程大赛总决赛(ACM-ICPC),算是摸到了一个窍门:团队精神也是靠“规则”敲打出来的。
作为一项全球性大赛,由美国计算机学会(ACM)举办的ICPC被认为是“程序设计的奥林匹克”。不过,与体育的奥林匹克不同,程序设计的奥林匹克赛场上没有个人英雄,所有的奖项都颁发给团队。
“鼓励团队合作的诀窍就在这里”,清华大学代表队教练邬晓钧老师告诉计算机世界。他介绍,ACM-ICPC的赛题都有一个有趣的故事或任务背景,既考你的英文阅读理解能力,又考你的算法水平,还考你的编程和测试――好的算法还需通过编程来实现。比赛以小组为单位,每三人一组,每组只配一台电脑,比的主要是解题速度,用时越少得分越高。在只有一个人能上机操作的情况下,三人的合理分工和默契配合就成为获胜的关键。譬如,相互之间要了解彼此的长处和短处,录入程序快的就上机操作,英文能力强的就解释题目,精通算法的就在解题思路上多拿主意。但分工又不能分家,因为长处和短处本来就是相对的,加之赛场情况瞬息万变,“相互之间的鼓励、支撑和配合比什么都重要”。
比赛有10道题,答题的先后次序由选手自定,而这种次序的排列对比赛结果几乎有决定性影响,因为按照规则,计时方式是“叠加”的,举例来说,如果解第一题用了10分钟,解第二题30分钟,累计时间就算40分钟,但如果解第一题用了30分钟,解第二题10分钟,累计时间就要算成70分钟了(第二题计时为30+10)。这就要求选手在阅题之初就要对10道赛题的难易迅速做出判断,依次从较简单的题做起,这样的规则对团体能力和合作精神也是个巨大考验。
都说“考试”是根指挥棒,有什么样的考试规则就能教出什么样的学生。如果说ACM-ICPC比赛的规则对中国的计算机教学有何启示的话,那就是跳出本本主义的鲜活性,以及对团队合作和解决问题的综合能力的引导性。北大代表队教练、计算机系副教授李文新博士说。