推荐参与的竞赛
在进行了上述的论述后,我们也有依据可以给出一个竞赛的红黑榜,值得一提的是,红黑榜并不覆盖竞赛的全部,甚至可以说仅仅包含了全部竞赛的一小部分,这是由于本榜单是出于没有体验就没有发言权这一原则而给出的,因此也有待其他贡献者的进一步补充。
同时对于黑榜中所提及的竞赛,这一有必要指出的是,黑榜并不意味着不推荐,而仅代表本指南,建议读者在选取这些竞赛前进行更多的考量。
红榜
XCPC
XCPC,即 ICPC/CCPC,可以理解为是大学生编程竞赛的一部分,也是其中最具挑战性与含金量的竞赛。XCPC 以校队的形式参与,而完赛过程则是以三人一组进行答题。除此之外同样存在的程序竞赛,还包括诸如蓝桥杯以及天梯赛等,而他们的认可度均小于 XCPC。
需要明确指出的是,XCPC 有着远超其他竞赛的深度以及含金量,其作为几乎全部竞赛中,唯一一个不存在学习瓶颈的竞赛(即在参与竞赛的过程中,始终需要提升自身的能力,而非停下脚步维护项目,进行文书工作或在某些事项上浪费时间),可以极大的提升参与者的编程能力以及思维能力,而这些能力将永远地使参与者在与计算机相关的学习中获益。
在计算机类竞赛中大比例充斥着创新创业式的内容的当下,以及相较科研,竞赛含金量不断下滑的当下,XCPC 是唯一一个可以科研成果分庭抗礼的竞赛项目,并且在该竞赛中的高级别获奖(金牌)可以具备超过大多数论文发表(除部分顶会顶刊)的含金量。
对于这类比赛的参与,读者需要通过校队的选拔并进入校队,才可以获取参赛资格,这一过程具有一定的难度以及挑战性,需要读者耗费大量的精力对于算法知识加以学习与训练。有必要提及的是,不同于大多数大学竞赛只需要付出努力,XCPC 的优秀竞赛成果不止需要成倍的努力付出,同样依赖积累与天赋,这对于绝大多数人来说都绝非仅凭一腔热血就可以坚持下来的,本校存在 ACM 交流群(qq: 526350936),受限于笔者水平与指南内容的范围,不展开学习建议,请进群询问。
RoboMaster/RoboCon
RoboMaster 与 RoboCon 是在大学竞赛中较具认可度的两类机器人竞赛,这两类机器人竞赛均以校队的形式存在(需要指出的是二者并非同一竞赛,也并不由同一校队进行组织,在此仅因二者具有相似性,而写在同一条目中),而其参赛名额则需需要读者通过其招新流程以及培训,最后在选拔中决定。
相较于 XCPC,RM/RC 的含金量具有较为显著的差距,但是相较大多数的创新创业类竞赛仍具有明显的优势。
RM/RC 的报名工作在每年的社团招新期间展开,而在此之前,也可能开展一些提前的培训与招新工作(如建立招新群,并在新生群等群中进行宣传)。在一般情况下,两类竞赛不支持在学年中间临时的加入,因此对于有意向参与这两类竞赛的读者来说,需要在社团招新期间关注其招新工作的进展,并积极跟进。
从竞赛内容中来看,机器人类竞赛的最终目标,均是构建某一/某些机器人,并完成赛事方给出的任务。机器人多半是竞技类型的赛事,即目标是,构建机器人,并在举办方给出的规则下,击败其他战队。这其中,RM 以对抗性质为主,其要求机器人之间进行对战,并以类 Dota 的规则判定胜负;而 RC 以挑战赛性质为主,即通过完成挑战的耗时或性能决定胜负,而其中举办方也会通过规则制定在流程中添加对抗内容。
需要指出的是,西交的机器人战队均具有较高的水平,并几乎可以稳定产出A类竞赛的国家级奖项。然而同样需要注意的是,机器人竞赛需要读者将巨量的时间与精力投入其中,才可以获得奖项。一方面是优异的成绩需要每一个人的共同付出,一方面是战队的管理层不会允许任何混水摸鱼的行为存在,并会根据每位队员的表现动态调整参赛名额。
机器人竞赛中的成员组成,一般以不同组别的形式存在,根据搭建机器人所需的要素,通常分为机械组,电控组以及算法组。其中机械组负责机械的设计,这通常涉及画图加工与搭建。而电控组负责机器人的控制,这一内容通常通过基于C语言或C++的单片机编程实现。同时,伴随着任务难度的提高以及智能化时代的到来,越来越多的机器人竞赛,在题目中加入了智能算法的要素,其中多以计算机视觉为主,因而使用工控机等运算平台实现智能算法的视觉组因此诞生。不同的组别具有不同的技术栈,掌握这些内容可以极大的提升读者的个人能力,但是同时需要注意的是,这些内容的学习,尽管大多数队伍均具有多年迭代后的完善培养方案,但依然会耗费大量的精力。
数学建模竞赛
数学建模竞赛是众多竞赛中耗时最短,要求精力投入最少,而产出比最高的竞赛。数学建模竞赛分为国赛与美赛,其中国赛要求读者通过校赛的选拔,以获得参赛资格,而每赛则仅需要在官网上进行付款报名即可。
数学建模竞赛要求参赛者以三人组队的形式在若干题目中选择一个,并在有限时间(一般为三至四天)中完成对于题目的解答以及论文的撰写。
需要注意的是,尽管数学建模竞赛其名称中包含数学二字,但是其对于参赛者的能力要求,则主要集中在处理复杂系统建模问题的能力,而非解决依靠思维的高难度数学问题。同时数学建模竞赛的题目不具有唯一答案,因此,在参赛过程中,除了参赛者的建模能力与编程能力,对于最后提交的论文的撰写功底同样重要,并需要高度重视。
数学建模竞赛的成员组成,一般分为建模位、编程位以及论文位,其中建模位负责对于问题进行整体分析并且给出解题思路,编程位负责对于建模位给出的解题思路进行编程实现,论文位则负责对于实现结果的分析与呈现,并撰写最终的论文。在这里需要指出的是,数学建模中三个位置并非固定存在,而三种职责也并非在全程中均须发挥,因此事实上,当某一队员负责的职责空闲时,其同样需要参与其他内容的贡献中,因此数学建模竞赛更加欢迎那些同时具有分析编程与论文撰写能力的参与者,而这些人也被认为是优秀的队友。
一方面,数学建模竞赛的组队通过在如校园表白墙或数学建模交流群中通过招募组成,因此被招募者需要展现个人能力以成为他人的队友;另一方面,在申请队伍的过程中才表明自己虽是小白,但愿意积极学习,是一种愚蠢的行为。既然愿意积极学习,那为何不在申请之前便已经提前学习了大多数的基本技能?因此,适当的数学建模技能的学习是必要的,而以笔者的体感来看,这其中以论文撰写能力尤甚。