X

直击第六届新加坡全国编程锦标赛,扣哒世界竞技场再掀风云

新加坡国立大学,第六届新加坡全国编程锦标赛决赛现场。来自新加坡各大中学、职业教育学院、大专和理工学院的共100名决赛选手从1280名资格赛选手中脱颖而出,等待着即将到来的比赛。

当学生们在场馆坐下后,赛场已经充满了紧张以及期待的气氛。实际上,大部分学生和指导老师都早早到达了会场,他们迫不及待的想要知道比赛内容——扣哒世界CodeCombat AI算法竞技场的发布,每位学生被给予两小时来制定他们的最佳方案。

新加坡国立大学决赛现场

在决赛中,选手们需要运用所有已经学到的关于Python或Javascrip的知识,先计划出自己的总体策略,再写下相应的优质代码来打败其他参赛选手。由于扣哒世界CodeCombat的算法机制,选手不可能提前知道自己的对手是谁,所以理想的策略应该是能适用于所有可能的对手,而不仅仅是针对单个对手来调整方法。

仔细研究竞技场代码


那些渴望了解更多的选手们可以使用代理编程的功能,他们编写一个程序后,由计算机随机挑选对手,不受人为的控制。随着编程比赛的结束,选手们不能再次改动自己的代码,只能选择观战模式,查看自己的实时战况。

沙漠女王(Queen of the Desert)竞技场是扣哒世界CodeCombat团队根据即时战略游戏《星际争霸》和《魔兽争霸3》专为这次比赛而创建的。选手们必须在他们的程序中包括平衡资源收集,结构优化设计以及与对手互动这三个方面的元素。

结对编程进行中

除了技术方面的知识,学生还可以在练习赛时尝试两个人的结对编程。整个练习过程中,团队成员之间充满着风趣热烈的讨论。两个小时很快过去了,就像参加考试一样,参赛选手始终保持着高度的集中和专注。

现场气氛活跃而刺激

接着,淘汰赛开始了!每场比赛都以现场直播的形式呈现给在座的选手们,这使得大家都更加的兴奋。尽管每个团队都清楚知道自己写下的代码下一步会怎样运行,但他们的代码与对手代码之间的相互PK却带来了很多惊喜。无论结果如何,每个参赛选手都为同伴的付出和努力而由衷的欢呼。

裁判现场点评

新加坡国立大学副教授,也是扣哒世界CodeCombat的老朋友Christopher Boesch先生在中场休息时进行了一场分享会。他指出,单纯的结果并没有过程那么重要,在场的每个人都是赢家。

经过两轮淘汰赛后,上午的50支团队(初中组20支,高中组30支)只剩下初中组16支,高中组16支。


初高中组晋级队伍揭晓

随着四分之一决赛和半决赛的进行,节奏越来越快,气氛越来越紧张。至少在两次比赛中,有一队从失败的边缘卷土重来,获得了胜利;还有一些队伍旗鼓相当,不分上下,比赛的结果甚至被哪一方决定首先进行最后的进攻而左右。


终于来到了决赛环节,看着自己的英雄从最开始收集硬币,召唤士兵,到路遇敌人,互相交战,再到火力全开,每个人都紧张得喘不过气来。


初中方面,德明政府中学(Dunman High School)的A队应用了有效的资源收集策略,并利用重型士兵的战斗能力闯入了敌群,从而获得了最终的胜利。


部分优胜队伍


在高中方面,新加坡华裔女子学校(Singapore Chinese Girls' School)的A组夺得了冠军。他们在优先考虑资源收集的同时,还灵活利用了自己不同战斗部队的能力,充分展示了其编程技巧和策略。

最终决赛队伍

全国编程锦标赛的最终决赛是在初中组冠军和高中组冠军之间展开的。虽然德明政府中学起步强劲,但经过新加坡华裔女子学校灵活调动兵力资源,以及策略的适时调整,迎来了最后的胜利。

简言之,全国编程锦标赛的目的并不是找到谁才是新加坡最好的青少年程序员,而是营造用计算思维来解决问题的氛围,并带动更多的青少年加入编程和人工智能学习中来。每位参赛选手都因为进入了资格赛的前10%而获得了成就证书,但更重要的是,每位选手都必须花一天的时间来讨论他们感兴趣的活动的各个方面。他们还可以学习和了解同龄人或者前辈是如何将复杂的大问题分解为可以解决的若干小问题。值得一提的是,获胜的新加坡华裔女子学校团队中有一位学生曾参与过以前的全国编程锦标赛和Ace of Coders的活动。每次比赛中,你会发现,她的逻辑会变得更加紧凑,技巧也会变得更为娴熟。