大家好,我是小北。
五一嗖的一下就过啦~
对于还在上学的同学五一一过基本上意味着这学期过半了,很多大一、大二的同学会有专业分流、转专业等事情。
尤其是大二的时候,你会发现身边有些同学都加入各种实验室了,有忙着打ACM、学生会的、有参加互联网+等比赛的,也有跟着导师已经发论文的。
基本都是围绕着保研、出国去准备,这些选择似乎成为了计算机系同学的唯一出路。
即便是你对于这些没有多大的兴趣,也会因为害怕被同学甩得太远,被动的“卷起来”,会疲于参加各种实验室、比赛、考试。
我倒是觉得适当的做做减法可能会更好,精力都是有限的,专注于一两件事做好就非常不错了。
最近星球有位大一的同学提了一个关于学习规划的问题:
问题
北哥你好,从大一刚开始就关注了北哥,最近看到北哥开放了知识星球,毫不犹豫就进来了
本人目前是是一名中下游211的本科信息安全专业的大一下学生,目标是保研到外校985,但从上一级学长哪里了解到安全专业保研时比较吃亏,所以决定转专业到计科。
上学期绩点是专业前3%,所以转专业的绩点要求是达到了。
本来是想冲一把学校ACM校队选拔的,但因为上学期忙CTF,寒假时了解各路信息后才下定决心转专业,不打CTF了,所以ACM准备的比较晚,结果没进。然后我们学校的规定是ACM只招大一,所以基本没戏了。
但还是想尝试蓝桥杯等其他编程比赛(其实就是为了有个奖保研时简历上好看点……)但其他的计算机知识也没有怎么学。
然后我就列举一下我目前的学习情况和一些想法,希望北哥能给我一些学习安排和方向上的建议
-
转专业巩固高数(这是我目前最要紧的事)
-
现在已经加入了学校一个实验室,导师给我安排的方向是深度学习图像检测的,准备这个月把导师给的第一批资料看完后下个月从导师那里开始要一些小项目做,希望明年参加阿里天池,大学期间能发表至少一篇论文 。
-
然后就是我有点犹豫的事了,因为我看我们学校保研成功的学长学姐总感觉就靠上面的科研不太够,所以准备再开拓一个技术栈,然后因为从兴趣,保研,竞赛以后工作(以后工作倾向是linux c++后端,但不知道现在想是不是早了点,毕竟我想保研的,但感觉有的东西早点准备也好) 等综合考虑准备深挖c++(算法竞赛要用,考研要考,个人又比较感兴趣),但对于具体怎么深挖就有点蒙。
-
上学期跟着学校的课程学习了C语言,过程中看了翁恺老师的课,现在力扣上快刷了70多道中等,50多道简单,但感觉应对综合性项目能力不行,算法又只是个半吊子,所以接下来应该怎么学呢?我想是不是要复习一下c,到那种能独立写出贪吃蛇水平,然后开始学c++,暑假再跟浙大巩固一下数据结构,然后,然后就又不知道了……另外也想为华为软件挑战赛准备,所以才会在继续忙算法与深挖c++之间徘徊 总之以上就是本人目前的大体情况,我现在真的是什么都不懂,所以看起来想的多,但做得少,如果有什么想当然和不对的地方,希望各位大佬能够指出。
回答
首先,不用太着急,现在才大一,很多机会的。
你的目标是保研,最重要的几点:
- 保持你现在的高绩点排名,越高越好
- 英语六级一定要过,像我们学校保研是要求6级的
- 竞赛加分,大二这一年一定要多参加,大一目前最好的是为后续竞赛打基础,学技术栈
保研加分的一些竞赛(至少我们当时学院是这样的):
- 互联网+、挑战杯、数模、ACM 等
最好的是你能去联系到一两个上一两届成功保研的学长学姐,加上微信,请教一下他们当时都做了哪些比赛,然后再去问辅导员要你们保研加分的一些列表,自己做到心中有数,接下来就是打好编程基础,为这些竞赛做好准备。
至于编程语言,目前可以选择 C++ 或者 Java 系统的学习一下,简单说下这两个语言对于你目前的一些优缺点:
- C++ 语言适合刷题,学好之后学其它语言都会很快,适合做图像算法方向时做算法实现,缺点是学完之后可能做不了什么应用类项目,比如Web项目,因为缺乏一些成熟框架和生态。
- Java 语言生态非常丰富,Spring 这些框架很强大,学完之后可以写出各种网站类型项目,方便你组队参加一些互联网+、软件开发类的大赛
综合来看,时间充足的话,我真的希望你这两个语言都能去学一下,实在时间不够,那么我推荐 Java,因为你如果大二想去参加各种比赛,java 开发是最适合的。
这个就看你自己时间的权衡了,我觉得大学时间多挤一挤,把这两个语言学了完全没问题。
星球置顶帖子2 里专栏《编程指北》对于 C++ 和 C、Java都有系统学习的路线,可以去看下哈
比如Java就直接看尚学堂高琪的视频:https://www.bilibili.com/video/BV1ct411n7oG/
数据结构与算法的话我建议你目前就可以开始跟浙大的数据结构,配合《算法4》这本书。
整体安排:
时间足够的话,这学期搞定 C++:至少看 C++ Primer 大部分章节 + 一个C++公开课(可以看翁恺老师的)
数据结构这学期就开始学,可以陆续学到暑假。
暑期的时候,把Java尚学堂的视频看完,把Java初步系统的学完,应该差不多。
有一样问题的小伙伴可以在知识星球里找到这篇回答,互相交流一下学习CS相关的经验。
另外,知识星球最近发布了几个专栏:
- 《编程指北》
- 《C++面试指北》
- 《CS自救指北》
- 《国外优质Lab》
可以点这个链接进去看一看:星球优质专栏
这里面包含了非常细致的 CS科班学习、转码规划,各种学习路线,以及深入讲解的大厂面试八股文。