参考链接:https://www.zhihu.com/question/21671705/answer/1241926801
转计算机方向其实并不难,但你得知道怎么转。
甚至你不需要上很多课,不需要报任何培训班,不需要花很多钱。
1、只看最短路,你只需要4门课:
- 编程语言 (Java 或者 C/C++)
- 算法与数据结构
- 数据库
- 一门技能课 (网页开发,移动端开发,云计算,AI等)
别看计算机课很多,什么操作系统,计算机网络等等,那些课固然很好,但对我们转专业的学生来说:
时间有效,精力要用在刀刃上,优先去补那些最核心的、对找工作最有用的课程。
2、怎么补?
条条大路通罗马,我能想到以下几个好方案
- 研究生留学:
- 先申请一个本专业的研究生(ex生化环材),选课自由的那种,然后进去之后去选计算机相关的本科/研究生课程,最终完成曲线转专业大业。
- 直接申请面向转专业的计算机研究生课程:比如美国NEU,USC,USF等大学等都提供这样的项目。
- 自学:推荐网络公开课,比如cousera,比如哈佛、斯坦福公开课,不必要上什么培训班,因为:
最好的课程其实都是免费的。
基础:
计算机科学导论(哈佛):http://open.163.com/newview/movie/free?pid=M6U6LS8CV&mid=M6U6MHDUR
算法课程入门(北大): https://www.coursera.org/specializations/biancheng-suanfa#courses
算法课程入门(民间): https://www.bilibili.com/video/av21828275
编程练习平台:https://leetcode.com/problemset/all/
进阶:
深度学习入门: https://www.deeplearning.ai/deep-learning-specialization/
机器学习入门课程:斯坦福CS 229
计算机视觉入门课程:斯坦福CS 231N
自然语言处理入门课程:斯坦福CS 224N
(以上课程B站就能看,欢迎评论留意补充~)
- 本科转专业,跨专业考研等
- 跨专业选修课(我在本科时亲测过,能行)
3、需要注意什么?
纵使你看完了以上所有课程,如果没有实战,没有实际做作业做项目,都是0。
实践是检验真理的唯一标准。
- 编程语言+算法与数据结构的实战:请去LeetCode刷题练习。
- 数据库+一门技能课的实战:请动手完成1-2个项目。
- 网页开发: 写一个论坛,一个淘宝之类的网站
- 移动端开发:写一个日历,通信软件之类的。
- 云计算:用spark和Hadoop尝试对大数据进行删改读写
- AI算法:写一个推荐系统、搜索引擎、图像变化、语义理解的模型试试
4、如何定义成功
- 掏出你的简历,里面能凑到3-4门计算机/编程相关项目:恭喜你!你已经具备一个计算机学生一样的简历和项目背景。
- 掏出大公司面试题,你能找到思路知道如何去回答问题:恭喜你!你已经具备通过软件工程师面试拿到offer的能力。
当看着你的简历,评估你的面试,你的表现已经和一名普通计算机学生一模一样时:恭喜你!你已经成功走上计算机技术之路了!
以上,就是我能想到的非计算机学生走上计算机之路的最短路。我自己也不是就读计算机专业,但我见证着很多本科和研究生同学,来自电气,数学,通信,能源,生物等非CS专业,通过自己的努力最终转计算机,收获BAT,FLAG的offer完成逆袭的故事。
我们不能改变过去,但我们可以改变未来。
有志者事竟成,希望以上回答能够帮助到你,加油!
05/25 补充:
以上回答是我基于身边和自己的经验,总结出来的”转CS最短路“的最优方案。
并不是说计算机网络,计算机体系结构,操作系统等其他课就没有价值,但为了最短时间入门,不得不降低其他课程的优先级,在之后慢慢了解。比如结合投递的岗位,在实战遇到的问题后,再变查边学。
至于为什么要学数据库?因为数据库在之后网站开发,移动端,云计算,AI等项目中都会涉及到。考虑到学习数据库的性价比,入门难度低(相对操作系统等),所以推荐花点时间提前学习一下。
关于我是怎么走上计算机之路的:
陈历飞:从欧洲到北美——谈谈我IT求职路上的四次选择程序员在硅谷是怎样的体验:
真实的硅谷是怎么样的?