CSer 成长手册(另附资源推荐)

CSer 成长手册

废话少说,这是我在瓜大经历三年的学习生活之后,从一个计算机小白成长为一名及格的 CSer 所积累的带有个体性质的经验教训,但我想尽力把它做成一个较为普适性的指导参考,如果能对你们有任何帮助,我都会感到非常开心。
注:因博主是大二数转计的,大学前基本没碰过电脑,因此水平有限,请选择性阅读。

瓜大计科人才培养情况

先下个暴论,瓜大计科的培养体系是有些糟糕的,课程设置和人才培养目标较为单一,理论课与实验课脱轨较为严重,康班等计算机拔尖班级主要以计算机系统方向为主,产出人才也大都是体系结构方向的,在计算机理论和应用方面的培养较为薄弱,CV、NLP、ML 等方向的课程设置都很基础,甚至没有配套的实验实践课。如果完全跟着学校的方向走,很难有机会提前进组(据我所知很大一部分 AI 方向的老师都非常乐意收本科生打工,但系统方向的很少,这也跟康班大部分都在打比赛做项目有关,因此我校计科发 paper 的本科生其实很少),未来的选择会比较局限,甚至如果你工程代码能力跟不上,面对突如其来的 CPU、OS、编译器等大工程项目开发,很容易就去选择参考一份简单的代码实现,导致对知识的理解深度还停留在理论课水平;但完全反抗学校课程安排走自己的路也难免会导致成绩不甚理想,与自己的真实实力相差甚远,甚至难以卷到一个保研名额。

以上情况也跟计院的系统方向是传统强项有关,这个可以参考每年我校推免到北京大学计算机学院的各位大佬的情况。如果你对系统方向比较感兴趣,工程代码能力强,跟着走很容易获得几个过硬的项目开发经历,否则可能会导致最终手上拿不出什么值得吹嘘的东西。

总体建议

因此对于什么概念都没有的普通小白,我的个人建议是,大一别管什么基地,卷一年把所有基础理论课学好拿到高分,第一个暑假重点鼓捣各种计算机工具的使用和优良网站文档的阅读(PS: 有时间最好学学 Excel、PPT 等基本操作);大二可以选择加入一些基地,但还是需要把理论课放在首位,建议有能力的提前修读大三的数理类课程,然后下学期你会在计组课上会遇到你的第一个大项目,试着凭借你暑假积累到的阅读能力和动手能力去找一个有难度的、优秀的参考项目和文档(比如,什么年代了还在写传统五级流水?),花时间去模仿实现。如果这次的经历让你感到满足和愉悦,或者说至少不害怕,那你可以考虑坚持做系统方向,借着这个感觉继续去做好操作系统、编译器和智能芯片设计等项目,至少去北大的机会会高很多。否则,大二暑假好好学习 Pytorch 等工具,找几个项目练练手,然后大三就去找老师推销自己进组(不知道咋找导师的,可以去蹭各个 AI 方向的第一节选修课,课后直接问老师就行),跟着硕博生或者老师积累点经历。大三还有个数据库项目,本校跟着老师做的人不多,但他们组里的研究生团队拿到过 OceanBase 大赛的银牌(金牌是清华大学团队),含金量和技术力还是很高的。

至此,进可攻退可守,选择范围会大很多。

今天的“水货”就到此为止,接下来分享一些更加实用的东西,以方便你在暑假的时候鼓捣:

软件推荐

程序编辑器

通用:VSCode(配置挺折磨新手,但确实好用)、NotePad++(平替记事本)
C/C++:Dev-C++,推荐下载此版本(轻量级) 、Visual Studio 2019(功能全面,但比较臃肿,个人用的不多)
Python:Jupyter(Anaconda 自带,鼓捣好了绝对不比 VSCode 差)、PyCharm(大型项目,用得不多)
Java:IntelliJ IDEA、Eclipse(写 Java 少,感觉一般般)

笔记类

Word、Typora(破解版:b 站视频教程)、Obsidian
注:学习成本逐渐增加,解锁第二个软件前请花几小时学下 Markdown 语法,解锁第三个软件前请确保你计算机功底和时间都足够

其他专业软件

Vivado2019.2(数字逻辑),WSL、VMware(虚拟机,更推荐就使用 WSL),Docker(容器,可以帮你省去许多配环境的麻烦),Zotero(文献阅读)

技术力

Clash(机场代理,梯子自购),IDM(下载工具),everthing(搜索工具),QuickLook,格式工厂,Snipaste(截屏工具),Windows Terminal(终端工具,美化配置上可能有点小麻烦),同时也少不了 将 Windows Terminal 添加到右键菜单,PowerToys(挺好用的功能集),PicGo(制作你的图床),向日葵(远程控制电脑)

网站推荐

推荐使用 chrome(插件多)或 edge dev(有 new bing)浏览器

能力提升类

The Missing Semester (学习命令行等基本知识),LeetCode、百练 OJ、AcWing 等算法平台,以及各类大型公司推出的产品及技术文档(如 Pytorch、paddlepaddle 等)
CS 自学指南(难度较大), CS-Notes 面试笔记interview图解系统
注:第一行是最重要的学习资源,特别是技术文档,后面几个仅作为知识扩充

实用类

Gitee、Github 等代码托管,沙拉查词,Tampermonkey 油猴插件(自行探索实用脚本,如百度网盘破限速等等),SMS-Activate 在线接受短信的虚拟号码服务 (注册 chatgpt 啥的都需要),zhelper Search(电子书下载,自行搜索使用方法),Compiler Explorer(在线编程,汇编语言支持很好,适用于计组、编原等底层课),Tilipa(一个资源整合的网站,包含一些绘图工具,其中 Handdraw 是手绘风格的,挺有意思,还有一个日志分析工具,可以迅速打开超大文件),GeoGebra - 数学绘图Overleaf(支持在线协同写论文或报告),在线 LaTeX 公式编辑器(方便初学者上手),公式识别(图片转 Latex/markdown), Connected Papers(找文献)

休闲类

茶杯狐 Cupfox - 努力让找电影变得简单

书籍推荐

CSAPP (计基实验就跟着它做吧)
《算法笔记》、《Python 旋风之旅》、《Python 机器学习基础教程》等等太晚了就不列举了

如果帖子没沉,反映良好的话会再更的

37 Likes

好好好,非常实用,小东西大学前也基本没碰过电脑,这就抄作业 :heart_eyes:

收藏了,谢谢学长分享:smiling_face_with_three_hearts:

支持!

但 typora 破解版之前被黑客攻击过,容易泄露个人隐私,现在推荐合买或者自己买一个

催更,请问下楼主想去蚂蚁集团做后端需要学一些什么东西呢?目前正在跨专业考研只学了 408 这几本书和 C 语言,不知道后续还要学什么。

可以考虑一下数据库方向,咱们学校有几位师兄师姐去蚂蚁集团的 OceanBase 团队,待遇也挺不错的,就帖子里说的那个 OceanBase 大赛,打好了也可以拿到面试直通卡。

如果没想好做什么方向就先学习学习 Java 和 Go 语言吧,Java 算是比较传统的后端开发了,最近几年 Go 语言也挺火的。关于 Java 的后端路线学习可以参考这个 Java 面试+Java 学习指南,但因为是面经,所以并不是系统的教学材料,只能作为技术栈的参考和补充。你可以把它的目录看完对后端有个较为大致的认识之后再做下一步学习路线的决定。

不过个人觉得备考和找工作要准备的知识方向还是挺不一样的,如果想读研的话目前最重要的还是先把研究生考上,找个好点的老师,加油 :muscle:

1 Like

补充一些,截图也可以试试 ShareX,支持自动将截图备份到云端等一系列功能。
Dropshelf 相当于一个超级强化版剪切板,能让你临时存储任何文本、图片、文件一类的东西并把它们挂在屏幕边上以供随时使用。
QuickLook 能快速预览包括微软三件套、电子书、3d 建模、apk、dds、甚至 bt 种子在内的大部分文件(需要在 github 自行安装插件:Create new page · QL-Win/QuickLook Wiki · GitHub
qBittorrent Enhanced Edition(简称 qbee)是 qBittorrent 的强化版,后者是一个非常好用的 bt 种子下载软件,推荐用于取代迅雷。强化版增加了诸如屏蔽迅雷吸血一类的功能。使用建议自行添加 Tracker 以增加下载效率(见:XIU2/TrackersListCollection
电子书阅读软件推荐 Calibre。

词典推荐使用 Goldendict,基本上是 pc 端你能找到的最好的词典软件,更为难能可贵的是它是开源的。自定义程度极高,支持自行添加词典、调用维基百科或网页在线翻译、添加脚本(可用于实现对添加的网页的广告屏蔽、版式美化等操作)、修改字体等,可玩性很强。功能上包含模糊查找、全文查找、词典分组等各种功能。
下载可以在这里下:GoldenDict-ng(Linux/macOS/Windows)基于Qt5.15.2/Qt6.X版本 - 软件经验交流展望 - FreeMdict Forum
原版无 ocr 取词功能,如有需要可以下载纯净修改版的 Goldendict++:【支持视频】搬运 GoldenDict 官方版,GD++ 清爽版 - 软件经验交流展望 - FreeMdict Forum
不要下载网络上其他来源的 Goldendict++!!此软件可能包含恶意程序,作者并未对其进行开源。

5 Likes

网站相关:
【果核剥壳】是一个资源相当齐全的“学习版”资源下载网站,包括 adobe 三件套等(https://www.ghxi.com/
【性价比机场测速】,不解释,懂的都懂,包括各价位的机场及评测,如果还没入手的可以参考。同时包含一些基础知识及扫盲,感兴趣的可以了解下(https://duangks.com/
【WaybackMachine】,大名鼎鼎的网页时光机,互联网考古必备,如果你遇到文章/贴子//资源被删除了可以试一试,不过考虑到中文互联网的情况最好不抱太大希望(Wayback Machine
暂时更这些(

1 Like

感谢大佬:pray:

插个眼

顶一顶,另推荐 cs 的同学们一定要学会自己搜寻资源,尤其是英文资源,整理自己的工作流,养成良好的习惯,这会对后续学习效率产生很大的影响

后续会帖上自己的工作流^_^

5 Likes

多写代码多看书就行了,行知合一
高中时代就开始在文曲星上写 BASIC,哈哈哈

1 Like

:sob:大一快过了一半才看到,相见恨晚

其实对于 ai track 的和课程设置并没有太多关系,不管在哪个地方最核心的还是在掌握相关基础以后,多看 paper

顶一下,感谢大佬

计院是不是也有一个分享课件的 github 仓库 像软院这种 GitHub - LecterChu/nwpu-cram: 西北工业大学/西工大/nwpu/npu软件学院复习(突击)资料!!
我想传些课件上去

有的 本站顶部外链里就有

1 Like

ai 的课跟着 d2l.ai 里面的资源走一遍就行。现在整体趋势变得很快,nn 那一套越来越变的落伍了,以熟悉框架和基本原理为主,增强动手能力。学完 transformer 以后再说别的。

2 Likes

system 的话,西工大以前有个叫 jinming hu(conanhujinming.githu.io) 的,知乎上可以找到,他有个项目可以跟着 follow,https://learn-sys.github.io

学长说的太对了,这几年 ai 的知识更新速度太快了,课程其实跟不上时代变化,真得自学才能跟上时代