ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest简称ACM ICPC)是世界上公认的规模最大、水平最高的大学生程序设计比赛,是由国际计算机界历史最悠久的权威性组织ACM学会(Association for Computing Machinery)主办的,旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。该项竞赛从1970年举办至今已历38届,因历届竞赛都荟萃了世界各大洲的精英,而受到国际各知名大学的重视,并受到如Google、Microsoft、IBM等世界著名IT企业的高度关注,成为世界各国大学生最具影响力的国际级计算机类的赛事,ACM所颁发的获奖证书也为世界各著名计算机公司、各知名大学所认可。
ACM ICPC的区域预赛是规模很大,范围很广的赛事,2014年共有来自6大洲、94个国家或地区的2286所学校8805支参赛队参赛,其激烈程度可想而知。其中,亚洲尤其是中国内地高校都十分重视该项赛事,参加非常踊跃。由于参赛队数过多,2008年起亚洲16个赛区中的大部分赛区不得不采用通过网络预赛或多赛场预选赛来选拔出正式参赛的队伍,参加亚洲区域赛的学校也会受到参赛名额的限制。
ACM ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是在校学生,有一定的年龄限制。比赛期间,每队使用1台电脑需要在5个小时内使用C、C++或Java中的一种编写程序解决11个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误并及时通知参赛队。而且每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。最后的获胜者为正确解答题目最多且总用时最少的队伍。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。与其他计算机程序竞赛(例如国际信息学奥林匹克,IOI)相比,ACM-ICPC的特点在于其题量大,每队需要5小时内完成8道题目,甚至更多。另外,一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。
为了选拔学生参加亚洲区的比赛,我院自2004年起每年承办校内的大学生程序设计大赛。全校学生均可报名参加校内程序设计大赛,通过初赛和复赛评出一、二、三等奖和最佳女队奖。校内赛为热爱算法程序设计的同学们提供了自我展示和学习交流的平台,并初步选拔出校队队员,经过进一步的集训,代表同济大学参加ACM ICPC的各站比赛。