在新加坡,早期大多数学校都没有设置电脑科学课程,程式只是作为讯息和通讯技术课程的一部分进行讲授。这些课程可能会向学生们介绍Python或JavaScript等语言,也可能更专注于图形和生产力工具应用的讲解,但并系统化与社群化。
后来新加坡国立大学针对全国的中学、大专、理工和技术教育学生,展开每半年一次的计算机程序学习活动。12岁以上的非大学学生均可参加为期一个月的线上程式学习活动来完成资格认证,以获得最终现场活动的资格。这些活动便是利用CodeCombat竞技场系统。
Achievements平台使用云端技术,采用一整套的掌握学习法(Mastery Learning),使每个学生从同样的学习时间轴中解放出来,支持各种在线学习与现场活动,使社群的高阶成员(教师)更容易组织、监督学生参加课外程式活动。
教学程序设计者将线上和线下相结合的课程称为“融合”。在线上活动中,有160所中学、大专、理工和技术教育学院(ITE)收到邀请,进入了每半年一次的资格认证阶段。资格认证阶段约开放一个月,在此期间,来自符合条件学校的学生都可以通过 Achievements 主办的在线活动来完成自己和学校的资格认证,这个定期的资格认证使来自新加坡各地趣味相投的学生们聚集到一起。
新加坡团队提供了现场程式挑战赛,不仅观察学生对程式技术的掌握程度,还评估他们解决问题和团队合作的能力。程式挑战赛利用CodeCombat程式码竞技场,以每个年龄组为基准,把参赛选手分成两组来进行淘汰锦标赛。选手们、指导老师们和支持者们都在礼堂中现场观看两组锦标赛。每场比赛结束后,主持人会对选手们的行为作出评价,并解释他们行为背后的逻辑,重申该活动的学习主题。该活动的目的不是要宣布晋级人数最多的团队获胜,也不是为了选拔出称为Python大师的选手。相反的,是期望在学生对程式的共同兴趣之上建立一个学习社群。
新加坡Achievements 学习社群的参赛人群足够大且足够稳定,学习材料和反馈定期整合到学习活动中。把相同的模式扩展到整个社群,学习者就能生成自己的问题,收集自己的数据,并得出自己关于社群的结论。大学定期也举办当地学生的聚会,聚会能使学生能够相互交流激励,以支持学生自己解决问题,创造自己的作品。