省流:不盲从,有一条自己选择的道路,并不断探索,才是最重要的

最近大抵是社团宣讲,关于社团选择,很多新生有很多疑惑,这里我分享一些个人观点

先分享一些我的经历

1
2
3
4
5
6
7
8
9
10
11
12
13
高中学习过一段时间信息学竞赛,但是学的东西不多,最终拿了个小比赛的省三等奖,算是把C的语法基本学会了,但是真正实力还是很弱,当时Codeforces的分数连1200都没有,这个水平是很多零基础学一段时间就能超过的
刚录取的时候,打ACM(大学的ACM竞赛可以算是高中的信息学竞赛的延续),录取后很快就联系ACM实验室的学长
原本报志愿,把软工填在前面,但是差一分来了网安,后面了解到了网安协会,感觉网络安全也不错~
同时,也对嵌入式(也就是硬件)很感兴趣,原因很多,包括但不限于没有进入笔者所在的高中机器人社团有些遗憾,故而了解到了机器人协会
于是乎,笔者大一加入机器人协会和网安协会;在高考后的暑假,笔者学习了STM32的GPIO点灯(嵌入式),并做了BUUOJ除了pwn以外的每个方向的几道题(网络安全相关);开学后在网安协会选择了密码学的方向(因为学长说密码学是CTF五大方向中最深的一个方向)
很感谢大一的时候,学长没有顾及我很菜,带我打比赛,还拿到了比较不错的奖项
同时我也学到了很多嵌入式和CTF相关的知识,拓宽了知识面
最终在大二找到了一个自己比较喜欢的方向
但是我大一的时候没有进acm,因为当时真的事情很多
大二的时候进了acm实验室,但是发现自己距离毕业不远了,该准备考研了,没有时间精力去准备区域赛了

也有点感慨,没有在任何一个社团干到比较核心的位置,也有点辜负学长们的期待
不过话说回来,我个人感觉现在前途还算比较光明滴——除了四级还没过,考研才刚开始学,论文还一篇都没有(哭哭

然后简要介绍一下这三个社团(补充:acm原则上不算社团,属于实验室)

名词解释:

  • ACM/CCPC/ICPC:是算法竞赛,在一段时间(通常是几个小时)能更快完成几道算法题目,给定输入数据,要求编写代码得到符合题目描述的输出;属于计网学院的
  • CTF/网络安全竞赛:包括五大方向(哪几个自己去群里看),比赛时长一般更长,可以简单理解为去当黑客(雾);也算是计网学院的
  • 机器人协会/RM/RoboMaster:包括机械(用3d建模软件画机器人并组装)、电控(也就是嵌入式,让机器人动起来)和视觉(可以简单理解为AI图像识别,又称算法,别和acm的那个算法搞混了)三个方向,具体赛制太复杂了自己看去吧 https://space.bilibili.com/20554233/lists/5950748?type=season ;属于隔壁光电学院

纸上得来终觉浅,真正想了解这些方向还是要实践——直接做它个几道题,至少先把helloworld写了~


上述内容都是技术类社团,关于其他类型的社团或者学生组织,我的评价是别功利的去看它,都可以加(但是别加太多给自己累着);技术类社团是真的累,学生组织的话会相对轻松一点,缺点是学不到特别多技术,有点偏社交向

如果想保研的,找保研高手去,我大一就想考研了,故而可以随便打比赛,不用在乎学校加分什么的,可以随便打。保研的话创赛性价比感觉更高一点?我不懂,问别人去,保研好像有另外一套打法(可以直接去群里问,每个专业保研情况有差异)


有同学问可不可以大一不加社团,大一下学期或者大二再加

我的评价是现在完全有时间,因为进入技术类社团,会更push你去学相关技术,进而更快进步;与其担心自己现在零基础进不了,不如多做几个题或者多学一些东西,这样就起码在面试的时候有点东西可以说了

  • ACM实验室的话,是寒假的几场比赛作为校队选拔,故而不用着急(但是时间过得很快,等着急了可能就来不及了~);即便不想打acm,也推荐刷一刷OJ(Online Judger,即在线测评,做题平台,可以使用学校的那个),无论是其他社团还是课内学习,c语言的基础必不可少。大概刷个十几题就能知道acm比的是什么了,刷个一百多题就可以总结出一套自己的路子了
  • CTF也就是网安协会的话,我当时是除了pwn,每个方向都学了一点,如果想打ctf但是不知道方向选什么好,打开随便一个做题网站(我当时用的是buuoj.cn,当然用NSS也可以),每个方向不用多做 就做五道题,你就能大致知道干什么的了;更新:最近有MoeCTF新生赛,蛮可以打一下
  • RM也就是机器人的话,我只学过电控(也就是嵌入式),也是建议直接上手,十多块钱买个c6t6和烧录器(具体型号或者链接可以进群问学长学姐),然后开始学点灯,串口通信,布拉布拉······;至于机械或者视觉,我也不知道学什么入门比较好,问具体学长学姐吧(补充:嵌入式确实挺好玩的哈,后面有时间确实蛮可以玩一下)
  • 备注:无论学什么,只要和计算机相关的技术,都建议先有C语言基础再来

最后两点,1.别跟我一样加这么多社团,和我一样学艺不精就坏事了;2.无论选择什么方向,有一套自己的路子即可,别盲从,你做什么都会成功的~


补充一点,就是说不要把手段当成目标,很多新人写算法或者做CTF,经常会问题看不懂不会做怎么办,有没有视频课之类的。视频课肯定有,但是就怕以为,以为什么呢,把看完课和自己学会画等号。这种情况经常出现啊,就像这两天有上门推销英语课的,然后有人心理就感觉,我买了这个课,我就是英语大神了,四六级就闭眼过了,实则并非,需要考虑进去自己要花费的时间成本才对,报课不如直接做一套题或者在网上找点视频课好,至少充分发挥了自己的主观能动性。竞赛也是啊,不管acm还是ctf的入门,看课只是手段,学会才是目标,千万别收藏一堆东西然后吃灰了,收藏的东西不算拥有,只有真正学进脑子里去的才算拥有。不是说“你不许看视频课”,而是需要明确目标,不过说实话现在市面上确实没看到特别特别特别好的一本通视频学习资料。毕竟每个人的已有知识和学习能力有差异,可能同一款课,有的人觉得太基础了,有的人觉得太难了。

还有就是如果自己会的东西,如果你在过慢的学,一直在舒适区内,可能也会倦怠;人其实没有这么多时间的,选一个方向,耐心地做下去,等你做好了,时间可能就过去了,你也不需要去看其他方向了,有可能也不想看其他方向了,但是这个过程中你的学习能力会不断变强。可能大一的你学习一个难度为$x$的CTF的知识点需要5个小时的时间,等你考研或者科研又或者参加工作遇到一个难度同样为$x$的问题,只需要不到一个小时就能解决了


后后记:再补充两点

  1. 善用ai和搜索引擎,ai时代好比工业革命,善用ai可以带来百倍千倍的提升,询问ai(即提示词工程)的能力也会随着你的使用越来越强的,所以just do it~
  2. 学会“提问的艺术”,具体可以看群文档,但是想一言以蔽之,做到两点就可以了:一是相互尊重,因为寻求别人的帮助,别人可以帮也可以不帮;二是让对方方便回答,例如清晰的陈述问题,并用手机拍摄电脑截图,不要过多情绪化(救命啊),解决问题才是根本目的