想在美国找CS软件工作

2015年3月26日 想在美国找CS软件工作?Warald提供需要学习的书籍和课程名单,绝对从入门级讲解!
想在美国找CS软件工作?WARALD提供需要学习的书籍和课程名单,绝对从入门级讲解!
计算机(CS)专业在美国最好找工作,Warald在《[美国就业Warald指数]数据分析各专业在美国找工
作难易程度和工资水平》中已经指出。现在想找计算机软件工作的人很多,各个专业学生都有想转
CS的。关于该如何动手、该学习哪些知识,网上有各种推荐、众说芸芸。
周星驰版的《鹿鼎记》里,陈近南指着高高的绝世武功书架,对不会武功的小宝说:我是看了三年,
练了三十年,才有今天的境界。Warald不会像陈师傅那样,不会对着薄弱甚至零基础的你,潇洒指
一下算法导论、career cup、leetCode,然后做高人状飘然而去,留下你硬啃天书~
Warald希望提供一个可行也相对容易实现的学习计划,希望你能从入门学起、循序渐进。Warald综
合各种信息,针对如何在美国IT公司找工作,给出了下面这个书籍和课程名单。所有推荐的东西,在网上都有能搜
索到、都有免费下载。
如果你基础很好,读算法导论易如反掌、应付各种面试题目不在话下,那你当然应该跳过这个文章,
早点去搞定工作。Warald敬请您在找到工作之后,来一亩三分地找工求职版分享一下经验、提供一
下公司内推,帮帮其他人。
Warald提供留学申请服务,每年都有客户转专业甚至零基础读CS类专业,我也提供后期就业辅导。
这个帖子的部分内容,也来自于我跟客户之间的一些讨论。
先说两个网站,一个是udacity.com,一个是coursera.org,都提供免费的在线公开课程,很多功
课全球几十万人一起学习。
《第一阶段》筑基
如果你不知道什么是for/while lopp、不知道什么是list,建议你先上这门公开课:
UDacity CS101:Introduction to Computer Science/Building a Search Engine
https://www.udacity.com/course/cs101
学完了以后,好歹对基本的programming control flow, very basic data structure熟悉一下。
绝大多数的理工科学生,本科期间是上了C语言的;如果你是美本,很可能上过其他编程语言,这就
算消除了零基础了。
《第二阶段》入门
你必须先学Java和SQL,Warald推荐的书籍如下:
1)Head First Java
目前市面上要求Object oriented programming尤其是Java的工作是最多的。这本书最大的优点就
是容易读懂,无论是内容讲解还是大量图片设计,都非常容易理解。
2)A First Course in Database Systems,作者是Jeffrey D. Ullman, Jennifer Widom
用SQL查询数据库是基本技能。基本上你会英语就能读懂这本书、学会SQL。
Warald非常推荐转专业学CS的同学从这本书入手来培养兴趣,计算机/管理信息系统甚至
Business/Marketing等行业,有些人的日常工作就是用SQL处理数据。
coursera之前有过Daphne Koller的database公开课,貌似下面要换成Jennifer Widom来教
(https://class.coursera.org/db/class/index),上这门课程也可以。
RECENT POSTS
哥伦比亚大学计算机系就业情况统计 –
哥大cs其实没几个人去花街
揭秘哥大统计系水校真相 – 你以为每个
人都需要在美国找工作?
现在有些年轻人,真是急功近利智商又
让人着急啊
评论一下水校水课水项目的各种水说法
来个很严肃的话题:码农们怎么找女朋
友解决终身大事?
本科生可以和硕士生一起上课,是否说
明硕士项目很水?
加州大学圣地亚哥分校计算机系硕士生
就业数据
康奈尔大学电子工程系学生找工作经验
分享:充分利用Oracle青睐名校GPA政

Cornell NYC Tech电话面试和今年招
生录取的几个特点
找工作之路的四个字经验总结:多投多面

读完这两本书,下面你要继续学Java和数据结构:
3)Data Structures and Algorithms in Java
Warald推荐Berkeley CS61b:http://www.cs.berkeley.edu/~jrs/61b/。这门课程是给大一新生
上的,并不高深,里面推荐了head first java,也推荐了Data Structures and Algorithms in
Java。据joyce在一亩三分地里说,这个老师是berkeley计算机系本科教课最清楚的老师之一,所有
的lecture video都在youtube上,notes都可以自由下载。作业和projects也都在网上,可以自己
练习。
另一个选择是coursera的algorithm课程,Princeton大学Robert Sedgewick教授开的,算法跟数
据结构都有了,作业不错,也是用Java,以前开课时一亩三分地里有人组织一起上
课:http://www.1point3acres.com/bbs/thread-37519-1-1.html。最近正好在开Round II。
公开课最大的好处是可以得到及时的feedback,而berkeley的CS61b这类传统的video下载观看模
式,你只能闷头做题,作对作错都不知道。
如果你们学校有类似课程,你可以去选课或者旁听,但是一定要做作业、练习编程!否则这门课就算
是白上了!
熬到这里为止,你已经具备最基本的能力了!如果这些你早就会了,恭喜!你的书没白念!
下面Warald建议你更深入的学习Java:
4)Thinking in Java
这本书很经典,但是不适合作为入门书籍。学完了前面两本java书,你可以翻着看看这本,会有帮
助。
然后是一个重头戏:
5)Programming Interview Exposed
这本书籍不是“课本”,不是“课程”,而是教你做各种常见面试题目的。
很多人来问Warald:我是小白,请问该如何准备面试求职?这本书就是我的回答。熟练掌握这本书
籍的内容,是你找到工作的基础。
完成了上面这五步,你就已经具备了在美国找工作的基本条件了;尽管没人敢保证你一定能找到工
作,但是即使只会这些,你已经“有可能”找到工作,尤其是不瞄准google、facebook等热门公
司,或者找对软件开发技能要求不高的工作。
各位同学,计算机/CS和其他专业一个很大的不同,就是容易上手、容易自学成才!你不需要焊电路
板、做化学实验(这些都需要设备和钱),下载电子书和免费软件,spend your time,use your
talent,就可以了! 你离在美国找到工作的距离,可能只有这五本书的厚度。
《第三阶段》进级
要全面扎实的掌握计算机学科知识,要想在找工作的时候稳拿offer、获得更多更佳的就业选择,当
然不可能只学前面的五本书。基础教育可以有稳定可循的套路,而往高处进级就复杂了,有些人也未
必能训练出来,否则岂不是人人都去google、linkedin、微软工作了?
从找工作的角度来看,下面是你应该做的:
6)刷career cup和leetcode题目
一亩三分地论坛有个编程算法面试题专版,近期有人组织大家一起刷题讨论
同时,Warald建议你继续在udacity和coursera上课比如machine learning、artificial
intelligence,学了都会很有帮助。如果你在本校选计算机课程没选上,那更是应该利用这种免费的
机会,听斯坦福等牛校牛人讲课。
对于在美国读书的同学来说,进入这个进级阶段,往往也是你在美国读书的中晚期了,你已经上了网
路、操作系统、软件工程等课程,简历逐渐充实了,甚至对于将来做哪个行业或者方向(data
management/mobile/web front-end/etc)也大体有眉目了,然后就是根据自己的兴趣,补充相
关专业知识了。
最后,Warald提醒:
1)如果你要在美国找工作,看书就看英文的。
2)如果要来讨论A语言比B语言好啊,C书籍比D书籍好啊,D功课讲的太浅啊,请去一亩三分地
EECS专版或者编程算法面试题版块里找共鸣。Again,Warald提供这个名单的目的,是从在美国找
工作的角度,循序渐进、从入门讲起,而且我也只讲较为主流的Java路线。

3)无论别人提供的书籍和课程名单有多好,最终还是要靠你坚持不懈学下来。
4)我不打算劝所有人转cs;要不要转,你自己拿主意。这个帖子的读者应该是已经决定要转cs的,
5. 一亩三分地绝对是牛棚!!!

最新评论
Qing_Qu: 强烈表示同意!
胖兔子echo: “上完课,做作业,
再上课,再做作业。周末也没什么
差别,除了能有时候大家能开开
荤。平时,凌晨两三点校车满载,
也是经常事儿,整个学校都很忙,
不忙的专业算是另类。”
Michae1_Du: 解答了我的疑惑,太
好了! 不过我爸妈是典型的喜欢留在
中国, 和亲戚朋友在一起.


深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值