大学生程序设计竞赛实验室(Collegiate Programming Contest Lab,简称CPCLab),归属同济大学计算机科学与技术学院创新基地。实验室通过专业培训和实践,组成同济大学集训队参加程序设计竞赛相关的高水平学科竞赛,涵盖计算机、软件工程、大数据、人工智能、信息安全、数学等多个学科和专业。CPCLab由经验丰富的指导教师负责,集训队队长和老队员参与日常管理。集训队自1999年成立,建设有自己的OJ平台(https://acm.tongji.edu.cn),每学年初开展招新宣传和培训工作。团队一直以来保持着老人带新人的优良传统,注重团队梯队建设,近年来在高水平大学生竞赛活动和创新创业训练计划中取得了比较突出的成绩。集训队队员毕业后均获得了业界的广泛认可,已有部分学生取得了显著的成绩和社会知名度。
1、ICPC国际大学生程序设计竞赛简介
国际大学生程序设计竞赛(International Collegiate Programming Contest,简称ICPC或ACM ICPC),是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛,目前已成为世界上公认的规模最大、水平最高、最具影响力的大学生程序设计竞赛。该项赛事从1970年举办至今,因历届竞赛都荟萃了世界各大洲的精英,云集了计算机界的“希望之星”,而受到国际各知名大学的重视,并受到全世界各著名IT公司的高度关注,成为世界各国大学生最具影响力的国际级计算机类的赛事,所颁发的获奖证书也为世界各著名公司、各知名大学所认可。
ICPC是规模很大,范围很广的赛事。2019年全世界有1000多所大学在六个区域的36个赛站中争夺世界决赛的100余个名额。在大陆举办的6站亚洲区竞赛,就有来自200多所高校的4000多支队伍,其激烈程度可见一斑。
与其他编程竞赛相比,ICPC题目难度更大,更强调算法的高效性,不仅要解决一个指定的命题,而且必需要以最佳的方式解决指定的命题;它涉及知识面广,与大学计算机系本科以及研究生如程序设计、离散数学、数据结构、人工智能、算法分析与设计等相关课程直接关联,对数学要求更高,由于采用英文命题,对英语要求高。ICPC采用3人合作、共用一台电脑,所以它更强调团队协作精神;由于许多题目并无现成的算法,需要具备创新的精神。因此,ICPC不仅强调学科的基础,更强调全面素质和能力的培养。ICPC是一种全封闭式的竞赛,能对学生能力进行实时的全面的考察,其成绩的真实性更强,所以目前已成为内地高校的一个热点,是培养全面发展优秀人材的一项重要的活动。
综上所述,ICPC竞赛涉及的知识面广,强调算法的高效性、对数学和英语要求较高,利于培养团队协作和创新精神。
2、中国大学生程序设计竞赛简介
中国大学生程序设计竞赛(China Collegiate Programming Contest,简称CCPC)是由教育部计算机类专业教指委主办的面向全国高校大学生的年度学科竞赛,旨在激发学生学习算法和程序设计的兴趣,提升算法设计、逻辑推理、数学建模、编程实现和英语阅读能力,激励学生运用计算机编程技术和技能解决实际问题,培养团队合作意识、挑战精神和创新潜力。
大学生程序设计竞赛已经成为中国高校培养人才的一个重要平台,自从2015年举办首届CCPC总决赛以来,CCPC竞赛体系不断完善,每年度的上半年举办省赛、地区赛,下半年举办全国网络选拔赛、分站赛和总决赛。为鼓励更多的高校女生进入IT行业,每年还举办一次中国大学生程序设计竞赛女生专场竞赛。2019年,CCPC设置秦皇岛站、哈尔滨站和厦门站3场分站赛,分别由东北大学秦皇岛分校、东北林业大学和厦门理工大学承办。根据分站赛的成绩,再从中选拔出100所学校参加于北京举办的全国总决赛。
CCPC系列赛事以客观的成绩排名、严格的晋级机制、高质量的命题、优质的赛事服务成为目前中国最高水平的大学生程序设计竞赛,吸引了全国500余所高校、1300余名教练和每年十万余名大学生的积极参与,已经成为大学生心目中最公平公正的学科竞赛。
CCPC题目难度大,强调算法的高效性,不仅要解决一个指定的命题,而且必需要以最佳的方式解决指定的命题;它涉及知识面广,与大学计算机系本科以及研究生如程序设计、离散数学、数据结构、人工智能、算法分析与设计等相关课程直接关联,对数学要求更高。比赛采用3人合作、共用一台电脑的形式,所以它更强调团队协作精神;由于许多题目并无现成的算法,需要具备创新的精神,CCPC不仅强调学科的基础,更强调全面素质和能力的培养。CCPC是一种全封闭式的竞赛,能对学生能力进行实时的全面的考察,其成绩的真实性更强,所以目前已成为内地高校的一个热点,是培养全面发展优秀人材的一项重要的活动。
3、竞赛培训的组织和进程
每年4月中下旬,CPCLab承办同济大学程序设计竞赛,由集训队协助命题和裁判工作,学院创新俱乐部负责活动组织。每年都有来自我校十多个学院的300余名本科生参赛。竞赛获得了企业的冠名赞助,同时邀请上海地区多所兄弟院校来现场参赛,已经形成了一定的影响力。
5~7月组队参加邀请赛。
每年暑期7、8月间组织集中训练6周,开设10余场算法专题讲座(包括搜索入门、搜索进阶、动态规划基础、动态规划进阶、并查集和最小生成树、贪心算法、最短路、联通图、网络流、高级数据结构、线段树、组合数学、数学专题、计算几何、KMP、自动机、后缀数组等),20场多校联合的在线比赛,不少于5场集训队个人排位赛。
9月面向新生开展宣讲会和新生赛,组织集训队参加ICPC和CCPC的网络初赛。
9~12月组队参加ICPC和CCPC各赛站的现场赛。
12月底开展本年度学科竞赛总结和下一年的工作安排。
每年寒假组织线上培训与训练赛。
4、指导教师联系方式
叶晨:yechen (at) tongji.edu.cn
朱宏明:zhu_hongming (at) tongji.edu.cn
竞赛实验室面向全校本科生开放,鼓励多学科交叉融合探索。