或许你是出于对Computer Science的热爱,或者为了在IT领域谋求高薪职位,更有兼而有之者。我认为专业不应成为限制自己发展与追求的边界,你需要勇气和好奇心去踏出自己的安全舒适区域,探索新的领域。
也许有人会问我没有一点编程基础,是否可以自学找到一份IT研发的工作,我通过自学可以达到怎么样的水平,是不是跟学CS专业的同学相差很远。
以下是一些实用建议:
1. 学会如何使用Google
Google搜索是连接信息世界的通道,Google搜索可以找到许多有用的信息。翻墙代理推荐使用ShadowSocks。
2. MOOC(大型在线教育)平台:Coursera, Udacity, Edx, 中国大学MOOC
MOOC平台上有许多优秀的课程,会有详尽的课程安排,需要每周完成作业,跟上进度,你可以和世界各地的学生一起学习。
3. 系统课程计划
可以参考国外知乎Quora上的专业回答,自行制定学习计划。
4. 斯坦福大学课程CS入门
网易公开课对应翻译课程:编程方法学、抽象编程、编程范式、机器学习。
英文水平还不足以直接观看全英文课程同学,可以先从网易上有中文翻译的课程学起(翻译质量不敢恭维)。很有必要提升自己的英语水平,科研和开发都是需要阅读大量英文材料的, 世界一流大学的课程也都是英文授课的。
5. 科研领域:Machine Learning & Computer Vision
学完计算机科学的入门课程,如果对人工智能感兴趣,可以选择一些机器学习和计算机视觉的课程进行学习。硕士在读期间也可以考虑往这个领域写论文。
Machine Learning:
a) Quora上如何学习Machine Learning的回答:
b) Machine Learning Online Course:
Andrew Ng’s Machine Learning course on Coursera
Machine Learning Specialization courses of Washington University on Coursera
Andrew Ng’s Machine Learning course in Stanford campus
Computer Vision
b) Stanford cnn course:
c) More: search on Google or Youtube
6. 参加竞赛
可以通过参加一些大型的竞赛来提升自己。许多公司会办一些大型比赛来招揽人才,比如华为的软件精英挑战赛,阿里的天池大数据平台上的竞赛等。国外的大数据比赛有Kaggle等。与志同道合的队友一起通过努力完成比赛或项目,这个过程也是充满欣喜的。
7. 刷题
互联网公司招聘的时都有一些在线编程题,AC的题越多进入面试的机会也就会越大在刷题的过程中可以学到很多编程小技巧也能接触到一些算法。
OJ:
8. 撰写博客
可以尝试自己写一些技术类的博客,将自己学习到的知识和新的发现整理总结,使知识更加系统化,分享收获。
9. 付诸实践
很多时候我们发现很多学过的东⻄,过段时间就忘了。那这个时候就需要有个有趣的项目来实践。比如学习数据库系统时,可以自己编一个模具班学籍信息管理系统;学习前端知识的时候可以自己编一个小网⻚;学习unity3D等游戏引擎的时候,可以编写一个有趣的小时候等等。这写有趣的项目实践到时候也会成为你们找工作的一把利器。很多时候你搞不清楚这些算法到底是什么逻辑,动手写代码调试会让你慢慢理顺逻辑,明晰思路,让你惊叹算法之美,并将学到的知识内化。
以上就是我结合个人学习经历和总结网上查找的资料,给想转CS的同学一些学习建议,希望能够给读者提供有用的帮助和指引。更多CS领域有用的和有意思的事物需要各位自己去挖掘和体验。最后祝读者在CS之路上有一个明朗的开始,通过努力找到一份满意的工作,或在科研上有所建树。