介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛)。
编程入门书籍推荐《算法笔记》,内容详细易懂,对新手非常友好,描述语言为C结合C++。适用于以下所有的编程比赛/考试和考研机试等。
下面依次介绍蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、全国高校计算机能力挑战赛、软考。如果有描述有误的地方,欢迎留言指正,我会在第一时间修正。
除了本文中所介绍的比赛,还有级别较高的大学生编程竞赛ACM/ICPC(国际大学生程序设计竞赛)、CCPC(中国大学生程序设计竞赛,官网:https://ccpc.io/),以3人团队的形式由老师带队代表各学校参赛,各学校有名额限制。竞赛中命题10题左右,试题描述为全英文,比赛时间为5个小时。新手不适合参加也无资格参加。
蓝桥杯(官网:http://dasai.lanqiao.cn/pages/dasai/index.html)报名时间:一般为每年9月份-12月份。
举办时间:一般是报名次年的3月份省赛、6月份决赛(2020年因疫情推迟),拿到省赛一等奖才能进入在北京举行的全国总决赛。每年举办一次,2020年为第11届。
报名费:300元。
可选语言:c/c++,java,python。
参赛要求:具有正式全日制学籍并且符合相关科目报名要求的研究生、本科及高职高专学生(以报名时状态为准),以个人为单位进行比赛。
分组说明:研究生组、大学A组、大学B组、大学C组。研究生只能报研究生组。985、211本科生只能报大学A组及以上组别,其它院校本科生可自行选择报大学B组及以上组别,高职高专院校可报大学C组或自行选择任意组别。python方向仅设置大学组。各组的题目只有部分相同,各组分开比赛、分开评奖。
比赛时长:4小时。
比赛地点:线下比赛。省赛在全国各地都有赛点,决赛统一在北京举行。
比赛题型:5道填空题+5道编程题,填空题一般也是需要编程来求解的,满分150分。
比赛赛制:OI赛制,即每道题提交之后都没有任何反馈,填空题不是满分就是0分,编程题最后根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,仅以最后一次提交为准。
往年真题:http://dasai.lanqiao.cn/pages/dasai/news_detail_w.html?id=644
官方练习系统:http://lx.lanqiao.cn/
获奖:比赛分为省赛和决赛,所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获奖证书。
省赛:省赛每个组别设置一、二、三等奖,比例分别为10%、20%、30%。省赛一等奖选手可获得进入在北京举行的全国总决赛的资格。
决赛:决赛一等奖5%,二等奖20%,三等奖25%,优秀奖不超过50%,零分卷不得奖。
举办时间:每年举办3次,一般为每年3月(2020年因疫情推迟到6月21日)、9月和12月。
报名时间:一般上次考试刚刚结束,下次考试的报名就马上开始了。
报名费:256元。只需要刷20道牛客网的PAT真题,就可以领取50元的PAT报名优惠券。链接: https://www.nowcoder.com/pat
可选语言:c/c++,java,python等多种语言都可以。
参赛要求:无论是否是大学生,均可参加。
分组说明:PAT分为顶级(英文,3题)、甲级(英文,4题)、乙级(中文,5题)。满分都是100分。
考试时长:各组都是3小时。
考试题型:各语言考的题目相同,而顶级、甲级、乙级各组考的题目都不同,只考编程题。
考试地点:线下考试,PAT目前有考点 70多处, 分布在 26 省/直辖市的 51 座城市中, 涉及合作院校 67 所。
考试赛制:IOI赛制,即每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等,甚至可以实时看到自己每道题得了多少分,根据每道题通过的测试点的数量可获得相应的分数。每道题不限制提交次数,仅以最后一次提交为准。
往年真题(收费):https://pintia.cn/market
练习系统(免费):https://pintia.cn/problem-sets
获奖:考试后会发成绩单。浙江大学计算机学院与软件学院还以PAT(甲级、顶级)一年内的成绩作为硕士研究生招生上机复试成绩。另外很多企业对于PAT成绩优异者可以免机试、优先录取等,详情见https://www.patest.cn/company
举办时间:从2014年开始每年举办3次,一般为每年3月(2020年因疫情推迟)、9月和12月。
报名时间:一般在每次考试前一两个月开始报名。
报名费:非会员400元,会员200元。会员只需花50元就可以开通一年,一年内三次认证都可以享受会员价(最近办会员好像暂停了)。
可选语言:C/C++、Java和Python。
参赛要求:无论是否是大学生,均可参加。
分组说明:无分组,每届所有考生都考同一套题。
考试时长:4小时。
考试题型:5道题,都是编程题,每道题100分,满分500分。一般难度按照题号递增。
考试地点:线下考试,在全国有80多个认证点。
考试赛制:OI赛制,即每道题提交之后都没有任何反馈,最后根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,仅以最后一次提交为准。
往年真题:http://www.cspro.org/ ,注册并登陆后,“报名考试”-“模拟考试”
获奖:认证结束3个工作日后可登陆官网查看成绩,可下载打印带红色公章电子版成绩单。有的学校将CSP成绩作为毕业要求、保研要求或考研免机试条件等,有的公司对CSP成绩优异者优先录取。另外如果成绩达到一定标准(各地区分数要求不同),可报名参加CCF CCSP分赛区竞赛、CCF CCSP竞赛,报名需要另外收费。
举办时间:比赛时间一般安排在每年 3~5 月择日举行,2020年是第5届。
报名时间:一般在举办时间十天前截止。
报名费:竞赛注册费为500元/队,会务费为150元/人。
可选语言:C、C++ 和 Java。
参赛要求:需要由每个学校的老师注册并申请队伍后,学生才能报名,由老师带队参赛。每名参赛队员必须是参赛队所属高等学校的在册本科生或专科生,每支参赛队由最多 10 名队员组成,每位参赛队员使用一台计算机独立比赛。
分组说明:竞赛分为 3 个组别:珠峰争鼎(本科组)、华山论剑(本科组)、沧海竞舟(专科组),本科生限参加 “华山论剑”组或“珠峰争鼎”组;专科生可参加任一组。竞赛中 3 个不同组别使用同一套题目,在同一时间,按照统一评分规则进行比赛。
比赛时长:3个小时。
比赛题型:都是编程题。竞赛题目分 3 个梯级:基础级设 8 道题,其中 5 分、10 分、15 分、20 分的题各 2 道,满分为 100 分;进阶级设 4 道题,每道题 25 分,满分为 100 分;登顶级设 3 道题,每道题 30 分,满分为 90 分。
比赛地点:线下比赛,在全国有三四十个赛点。
比赛赛制:IOI赛制,即每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等,甚至可以实时看到自己每道题得了多少分,根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,仅以最后一次提交为准。
练习系统:拼题A网站 https://pintia.cn(即比赛使用的在线自动判题系统)提供包括往届真题在内的练习题目。是的,就是跟PAT同一个练习系统。
获奖:竞赛的 3 个组别分别设置全国高校奖、全国团队奖、个人特等奖、个人优胜奖、特别奖、成功参赛奖;同时各省设置省内高校奖和团队奖。详见 https://gplt.patest.cn/regulation
举办时间:每年举办1次,一般为每年3月或4月。2020年是第二届。
报名时间:一般在前一年11月开始报名。
报名费:免费。
可选语言:C/C++、Java和Python。
参赛要求:大赛面向中国高校所有专业的在校生(含高职、大专、本科及研究生),已毕业的学生不具备参赛报名资格。
分组说明:无分组,每届所有考生都考同一套题。
比赛时长:3小时。
比赛题型:每场⽐赛共计 4 题,每道题根据难易度有不同的得分,答对题⽬数越多即得分越⾼,在得分相同的情况下,答题⽤时最短则排名越⾼。
比赛地点:院校选拔赛为线上比赛,决赛为北京线下比赛(2020年因疫情均改为线上比赛)。
比赛赛制:ACM-ICPC 赛制,即每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等,每道题必须通过所有的测试点才算通过,通过题数/分数相同的情况下按照答题时间排名。每道题不限制提交次数,但没通过的话会有罚时,仅以最后一次提交为准。
练习系统:没有公布往年真题,没有自己的练习系统,官方建议练习系统为计蒜客https://nanti.jisuanke.com/acm
获奖:正式赛分为院校选拔赛和决赛。
院校选拔赛:根据排名,分设一等奖(5%)、二等奖(10%)、三等奖(20%)和优秀奖(15%)各若干项,都有荣誉证书。初赛 一、二等奖获奖选手将有资格进入决赛。
决赛:设一等奖(2%)、二等奖(3%)、三等奖(5%)各若干项,总获奖人数不超过总报名数的10%,都有荣誉证书。
举办时间:仅2019年举办过一届,初赛、决赛均在2019年11月份。不清楚之后会不会继续举办。
报名时间:2019年是9月-11月报名。
报名费:60元。
可选语言:C/C++、Java和Python。
参赛要求:大赛的参赛对象是高校所有专业的在校生(含高职、大专、本科及研究生)。
分组说明:各语言科目分开比赛,题目根据所选语言系统自动生成。
比赛时长:区域赛为90分钟,决赛为120分钟。
命题范围:命题范围参考:基本语言知识、数据结构基础(线性结构、树形结构、图结构)、算法基础(如排序查找等算法,以及算法综合应用)等知识。
比赛题型: 题型为选择题、程序阅读(阅读程序写结果)、程序设计(每题设置若干得分点,按通过的得分点计分)。
比赛地点:线上比赛。
比赛赛制:OI赛制,即每道题提交之后都没有任何反馈,最后根据每道题通过的测试点的数量获得相应的分数。每道题不限制提交次数,仅以最后一次提交为准。
练习系统:没有公布往年真题,没有自己的练习系统。
获奖:程序设计赛分为区域赛和决赛。
区域赛:根据各参赛科目排名,分设一等奖(5%)、二等奖(10%)、三等奖(20%)和优秀奖(15%),都有荣誉证书。区域赛一、二等奖获奖选手将有资格进入决赛。
决赛:设一等奖(2%)、二等奖(3%)、三等奖(5%)各若干项,总获奖人数不超过总报名数的10%,都有荣誉证书。
举办时间:每年5月份、11月份举办两次。
报名时间:各省报名时间不同。一般上半年为2、3月份报名,下半年为8、9月份报名。
历史:计算机软件资格考试在全国范围内已经实施了二十多年,近十年来,考试规模持续增长,截止目前,累计报考人数约有五百万人。
报名费:各省不同,几十元到一百多元。
参赛要求:无要求。无论是否是大学生,都可以报名。报考任何级别不需要学历、资历条件。
分组说明:计算机软件资格考试设置了27个专业资格,涵盖5个专业领域, 3个级别层次(初级、中级、高级)。计算机专业的大学生一般报考“程序员”(初级)或“软件设计师”(中级),可直接报考中级。
时长:考试包括上午场、下午场,都是2.5小时。
可选语言:下午场中有一道C语言的题目必考,另外选做一道C++或Java的题目。都是代码填空题。
命题范围:软件工程(占比最大)、基本语言知识、数据结构、算法、操作系统、计算机组成原理、数据库、计算机网络、编译原理、设计模式等计算机专业知识,几乎覆盖了计算机专业本科的所有专业课。虽然命题范围广,但是题目都不难。
考试题型: 不考编程题。上午场都是选择题,满分75分。下午场都是填空题,满分75分。
考试地点:线下考试,全国各地都有考点。
往年真题:官方将往年真题整理出书,可自行购买。详见 http://www.ruankao.org.cn/book
获奖:需要上午场和下午场都达到45分以上,才能通过考试。通过之后可以领取到合格证书,详见http://www.ruankao.org.cn/index/hgzs