加拿大毒烟来袭!用这个神器护体! 点击查看详情
一亩三分地 门户 CS入门

CS入门

前言

计算机(CS)专业在美国最好找工作已是共识,每年都有无数同学开始学习CS。关于该如何动手、该学习哪些知识,网上有各种推荐、众说芸芸。

周星驰版的《鹿鼎记》里,陈近南指着高高的绝世武功书架,对不会武功的小宝说:我是看了三年,练了三十年,才有今天的境界。Warald不会像陈师傅那样,不会对着薄弱甚至零基础的你,潇洒指一下算法导论、career cup、leetCode,一堆算法难题,然后做高人状飘然而去,留下你硬啃天书~

Warald希望提供一个可行也相对容易实现的学习计划,希望你能从入门学起、循序渐进。下面是我综合各种信息给出的书籍和课程名单,过去多年里,被无数留学生沿用。
《二》SQL入门

用SQL查询数据库是基本技能。计算机/管理信息系统甚至Business/Marketing等行业,有些人的日常工作就是用SQL处理数据。斯坦福这门课教授是数据库领域泰斗之一。

这门课课本写的也非常好。强烈推荐转专业学CS的同学从这本书入手来培养兴趣,基本上你会英语就能读懂这本书、学会SQL。书籍链接:https://amzn.to/2F7xUyg

Udemy的课程侧重实践操作,可以作为练习和查缺补漏的补充。
Stanford Database Course
Udemy SQL实践课
《四》数据结构和算法两大神课

Berkeley 61B 和 Princeton Algorithm 在地里被广为推荐,可以二选一。如果时间充分,建议都上。

尤其说下UC Berkeley CS61B。据地里Berkeley校友反映:这个老师是berkeley计算机系本科教课最清楚的老师之一,所有的lecture video都在youtube上,notes都可以自由下载。作业和projects也都在网上,可以自己练习。这门课程是给大一新生上的,并不高深,里面也推荐了head first java。

另一个选择是coursera的algorithm课程,Princeton大学Robert Sedgewick教授开的,算法跟数据结构都有了,作业不错,也是用Java。这门课放在全球最大的MOOC网站coursera上,好处是可以得到及时的feedback,而CS61b这类传统的video下载观看模式,你只能闷头做题,作对作错都不知道。

如果你们学校有类似课程,你也可以去选课或者旁听,但是一定要做作业、练习编程!否则这门课就算是白上了!

熬到这里为止,你已经具备最基本的能力了!如果这些你早就会了,恭喜!你的书没白念!
两大神课之伯克利数据结构
课程链接
地里用户评价
yexiao123098
介绍和点评你上过的公开课
如果这门课满分10分话,我打11分。强烈推荐给每一位同学,尤其是想转专业的同学。
作者: yexiao123098
Jaly50
Berkeley CS61B Data Structures in Java
Berkeley Data structure在地里被赞誉有佳,有一整个版几乎全是这门课的资料和讨论!
作者: Jaly50
两大神课之普林斯顿算法课
课程链接
地里用户评价
slowlai
【长期加分贴】介绍和点评你上过的公开课
很多算法的demo动画作得很好,很容易了解每一步发生了怎样的变化。quiz和作业非常好。
作者: slowlai
wangbd
【长期加分贴】介绍和点评你上过的公开课
这门课非常严谨,每一节课跟下一个都环环相扣,能看到一些复杂的算法是怎么演变的。
作者: wangbd
《五》Programming Interview Exposed
书籍链接
Warald点评

这本书籍不是“课本”,不是“课程”,而是教你做各种常见面试题目的,也会帮助你了解科技公司面试风格和特点。

很多人问:我只学了基础课程,感觉能力不够,磨叽一天也刷不了几道题,毫无思路,该怎么办?也有人问:能否介绍求职面试注意事项?这本书就是我的回答。系统、完整的读一本书,比到处获取各种碎片化知识,对你更有帮助。
《六》做项目提高动手能力

简历是敲开公司大门、拿到面试机会的“敲门砖”,而简历里最重要的部分就是Project/Experience(项目经历)。

对于零基础刚入门 或者是 CS出身但基础薄弱的同学来说,不要好高骛远,幻想着一下子弄出个大工程来,而是需要明白:千里之行始于足下。换言之,Project先从入门级的做起,去逐渐培养能力。

一亩三分地里很多同学推荐Udemy的网课,课程总体质量非常不错,难度不高,最重要的是,课程有很多小Project可以用来快速入门。在这里引用 @Husky_wang 同学的客观评价,他的帖子里包括了Udemy精华课程,按照顺序一步步来就可以了。
结尾

完成了上面这五步,你就已经具备了在美国找工作的基本条件了;尽管没人敢保证你一定能找到工作,但是即使只会这些,你已经“有可能”找到工作,尤其是不瞄准热门公司。

CS和其他专业一个很大的不同,就是容易上手、容易自学成才!各种软件免费,书籍和MOOC课程也不贵,spend your time,use your talent,就可以上路了。

等你准备充分了,可以继续阅读《CS求职攻略》。

相关分类

伯克利CS61B资源
普林斯顿算法课
其他公开课资源
>
返回顶部