趁着最近人气高,Warald召集大家讨论CS学习问题,分享资源!

现在有越来越多的人想学CS,甚至是转专业,自然就有这样一个问题:如何打好CS的基础?如何入门学习?

请注意,Warald这里说的不是如何成为大牛或者技术达人,无论成为高人靠先天灵性还是后天苦练,跟俺这个帖子的主旨无关。我这里说的是:如果一个人,从来没学过cs(比如非cs专业的),想学cs,但是毫无头绪,那他/他该如何入手?有哪些书籍、课程材料或者网上的资源,对于入门,会很有帮助?

Warald以前写过《[EECS申请与就业专辑]之计算机专业在美国的就业情况+如何选课如何学习》一文,尤其是在该系列文章下篇里谈过需要学习的三样基本功:

1)一门编程语言
2)一个操作系统
3)一个数据库

其中编程语言从学习的角度,无非是C++ or Java。但是学习的时候,最好结合着

4)Data Structure

论坛里一直有这方面的讨论,比如这几天的《难道只要练好coding就行了???》,但是依然不够具体,我想要的是很清楚的回答“看这本书、学习这个资料”对于你上路最有帮助,而不仅仅是点评和感受。前段时间我也发起过《【活动号召-呼唤参与】我在美国上课的感受和总结》,但是这个可能侧重研究生层次的,再一个,对于新人来说,依然不够具体。

Warald毕业多年,早就过了翻书学基础的阶段,这里想跟各位在读的同学问一下,你们有没有好的资料可以推荐给新手学习?比如

a)浅显易懂的课本,不需要从技术的角度,讲的多么深入。for example,<A First Course in Database Systems>就是一本很容易懂的数据库入门书籍,没cs基础的人也可以拿来学。读过这本书的同学,也知道我说的“通俗易懂”是以什么为标杆的吧?我这里说的是“筑基”。

b)老师的slides、notes、assignments等等,比如美国这里,很多老师有自己的course page,有的老师隐藏不公开,但是也有些老师是资料公开的,这里尤其想问问美本,你们上课的时候,觉得哪门功课、哪位老师的课程资料好而且公开在网上,能否推荐一下,给出链接?

c)open courses。比如MIT, Harvard等学校都有

d)任何其他资料,各位还知道吗?

 

如果你知道我说的四门课程的资料,那最好,我觉得新人应该从这些方面开始学起来打好基础;如果你有其他功课的资料,也欢迎share给大家。我觉得简洁易懂和侧重应用而不是理论的,对新人更合适。

我在一亩三分地论坛论坛EECS版开了个帖子,各位把答案集中回复到那里吧,我也好加分和整理信息

谢谢你的参与!肯回答的筒子们,rp好,后面要被offer雨淋透~~