如果让你重新开始学计算机,你的学习路线会怎么选择?
大一:别跟着学校的进度走,提前学C和C++。学完语法去洛谷或者Acwing二选一,刷300道左右题目,如果是洛谷的话难度大于"普及/提高−"难度的题目都可以跳。这个阶段主要培养编程思维,让自己的逻辑能够通过代码实现出来。
大一暑假做一次抉择,如果对算法感兴趣并且感觉自己有天赋,可以去打acm。否则可以开始为就业做准备。
大二(算法竞赛):继续学基础算法,打各种比赛。开发岗和数据岗选一条技术栈跟着学,最后大概率还是要靠这个干活。这条路的本质应该是把一部分的实习经历换成了算法奖项,但相应的技术栈不能少。
大二(开发岗):先学前端三件套以及vue入门,我是在acwing学的,b站也有很多优质教程。然后是java全家桶或者go全家桶,在b站从入门到入土,还有各种数据库中间件什么的都学一学。做项目参加比赛。
大二(数据岗):参考路线:GitHub - heibaiying/BigData-Notes: 大数据入门指南
当然还有其他方向,比如dba,嵌入式开发,运维,网安什么的,总之选择一条自己喜欢的路线学下去。
大二暑假做一次抉择,如果想就业的话,在网上翻一翻别人的简历,照着上面继续扩充技术栈。如果要读研的话选一个方向开始做准备。
大三(就业):做一些能往简历上写的项目,投简历找机会去实习。
大三(读研):我选择的是人工智能方向。
机器学习:推荐看《西瓜书 机器学习》,《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》。如果未来主要研究深度学习的话,机器学习的内容快速翻一翻,搭建一个整体的知识框架就好,不需要深究细节。如果对某些领域感兴趣,可以看《统计学习方法》和《机器学习实战(Machine Learning in Action)》的相应章节。
深度学习:深度学习入门的阶段可以分为四个板块:深度学习理论,用原生python实现算法,pytorch框架使用,以及用pytorch搭建经典模型。
深度学习理论和用原生python实现算法这两个部分,我推荐斎藤康毅的《深度学习入门:基于Python的理论与实现》和《深度学习进阶:自然语言处理》。书中会先提出一个实际的问题,然后给出一个解决方法,之后提出当前算法的不足并改进。书中有大量图片帮助理解算法步骤,阅读前不需要任何高数和线代基础。还有配套的原生python代码方便理解算法。
pytorch框架使用这个部分,我推荐《深度学习框架PyTorch:入门与实战》的第三四五章,把各种常用的方法都进行了梳理。
最后用pytorch搭建经典模型,李牧的《动手学深度学习》讲的比较快,如果希望更细一些的话,推荐 up主「霹雳吧啦Wz」的视频,比如深度学习-图像分类篇章 这个系列。
在入门之后,要看一些相对前沿的论文的话,李牧的论文精读系列讲的都非常好。
再推荐下李宏毅老师的公开课
值得一提的是,学这些的目的主要还是为了研究生阶段发论文。后续就业的话,关于就业目前搞人工智能算法的岗位比较少,除非985硕并且有顶刊顶会可以试一试,否则最后大概率还是会走回大二的开发岗或数据岗。
如果有机会能跟着学校的研究生做科研发论文挂个名,对研究生阶段会很有帮助。
2024.2.15更新
如果有空的话建议学学爬虫和linux操作。除了针对就业,如果想要自己做项目的话,应该具备以下知识:
数据收集:网络爬虫
数据处理:基础算法,机器学习,深度学习
数据存储:文件和数据库
数据展示:前后端交互
项目部署:linux操作
2024.6.30
收藏破万了,好耶!