选择性地补一些 CS 基础

2014-03-31 10:33:48 +08:00
 hustlzp
最近接触到了好几个CS科班的同学,越接触越觉得心虚,“勿在浮沙筑高台”真的是深刻体会到了...V2EX上还没毕业、非CS及其相关专业、但毕业想转码农的童鞋应该有不少吧?小弟决定在毕业前有选择地(时间有限,然后也有实用方面的考虑...)补一下CS基础,不然估计以后会掉大坑...

CS科班大神求不黑,直接动辄上算法导论什么的有点受不了...还是先入门再说吧...主要的补法就是硬着头皮看书,然后自己理解消化,再总结成文章。

###数据结构与算法

*《大话数据结构》:非常适合零基础水平的人看,目前剩下略显复杂的“图”这一章没看,推荐一下。看完最好能做一些题练练手就好了~
*《零基础学算法》:涉及到了一些算法基本思想(如:递推、递归、分治、贪婪等),后面也给出了一些经典问题的分析。

###操作系统

*《现代操作系统》:重点是“进程与线程”、“进程的同步、通信、死锁”
*《新编操作系统习题与解析》:主要是对知识点的总结(虽然书不怎么样...)

###网络

*《计算机网络-自顶向下的方法》:理解TCP/IP模型,重点是应用层和传输层。应用层中以后打交道比较多的HTTP协议,之前草草看了一遍《HTTP权威指南》,蛮不错。

###其他

*《数据库系统概念》:主要把数据库的基本知识看一下,SQL原理、关系代数什么的,然后其他的挑着看
*《大话设计模式》:代码量不到一定规模,看这书估计是白搭,但还是打算硬着头皮看一遍吧,就当看相声,先混个眼熟再说。

http://hustlzp.qiniudn.com/ebu.jpg

欢迎补充,也欢迎各位大大分享过来人经验哈~
5925 次点击
所在节点    程序员
23 条回复
pirex
2014-03-31 10:42:17 +08:00
计算机组成与设计:软件/硬件接口
MingZhe
2014-03-31 10:44:02 +08:00
加上楼上的,你这简直就是考研攻略。。。
honovationeric
2014-03-31 11:17:54 +08:00
建议补充:架构和设计,基于“高内聚、低耦合”的抽象分解是软件开发非常重要的基础能力。

在提升架构和设计的素养与能力方面,对我帮助最大的是Robert Martin大叔的Principles Of Object Oriented Design: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 或者 http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign

顺带推荐我们团队的2篇小文:
1.编程语言特性缺失-模块化: http://alips.diandian.com/post/2012-10-10/language-feature-modulization

2.Veil的设计理念: https://github.com/honovation/veil/wiki/%E8%AE%BE%E8%AE%A1%E7%90%86%E5%BF%B5
jamesxu
2014-03-31 11:37:13 +08:00
这是我根据MIT OCW( http://ocw.mit.edu/courses/ ) 做的课程列表,大部分课程都有视频教程,有些已经有了中文翻译:

wxstorm
2014-03-31 11:46:41 +08:00
打基础的话感觉这有点乱,建议认真看几样,每样选一本经典书籍即可,不在多,在经典:
操作系统:就是经典那本,有绿皮的翻译版
数据结构
算法:还是推荐算法导论, 不用急,慢慢看,其实主要就是1,2,3,4,6大节。
C/C++:primer或那个programming lanauage.
hustlzp
2014-03-31 11:49:22 +08:00
@MingZhe 这样啊...
hustlzp
2014-03-31 11:49:56 +08:00
@jamesxu
@wxstorm
@honovationeric 感谢推荐资源!
wxstorm
2014-03-31 11:50:24 +08:00
@wxstorm 其实还有个 计算机组成原理
heliumhgy
2014-03-31 11:56:52 +08:00
CSAPP一本满足
arbipher
2014-03-31 13:38:02 +08:00
@jamesxu 赞这个
yishanhe
2014-03-31 13:41:46 +08:00
@heliumhgy 对于程序员来说,这个很适合补基础,覆盖面广而且有深度,所有的 lab assignments 都是online的, 可以好好做一下那些作业。 EE转CS亲身体验,去年做了一个这门课的TA,感觉自己也学到很多东西
shellcodecow
2014-03-31 13:42:16 +08:00
出门带o3o4o5 AK47点射往下压2厘米左右
XadillaX
2014-03-31 13:50:29 +08:00
QAQ CS专业但是没有看过一本CS书的撸过
xiaowangge
2014-03-31 14:11:49 +08:00
貌似没有看到一本英文技术书。^_^
hustlzp
2014-03-31 14:48:24 +08:00
@xiaowangge 是啊,优先选中文的,先入门再说...
hustlzp
2014-03-31 14:52:18 +08:00
@honovationeric 博客写得很不错~
honovationeric
2014-03-31 15:04:23 +08:00
@hustlzp 不是我的博客,博主是我的朋友,也是咱华工校友
rannnn
2014-03-31 16:36:22 +08:00
CS毕业但没学过操作系统和编译原理的掩面
se77en
2014-03-31 17:06:38 +08:00
貌似有个人将 Coursera 上面的 CS 课程从大一到大四做成了课程表,地址忘了。。。有知道的吗?
xiaowangge
2014-03-31 23:11:57 +08:00
据说学生最不缺就是时间了,-)

我再补充几个哈-_-||

Linux相关的看一下?
NoSQL的也顺便看看?Redis,Memcached?

↖(^ω^)↗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/106595

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX