如果你的专业课里有过不少计算机科学之类的内容,你可能还记得很多中文课本不太好读,其原因一方面有可能因为是课本里的语言(符号)粗制滥造,另一方面有可能是因为你的思维方式不适应课本里的内容。

我推荐所有能看懂英文的读者多去搜索一下英文世界里的教材,从而能够摆脱劣质教材或语言因素所带来的束缚。为什么推荐英文教材呢?大家可以参考一下英文教材编写者(计算机科学界大儒,图灵奖得住) Dijkstra对于自己写作上的要求:

At a given moment, the concept of polite mathematics emerged, the underlying idea of which is that, even if you have only 60 readers, it pays to spend an hour if by doing so you can save your average reader a minute…

 

翻译:任何时候,你(作者)在书中要解释一些带有数学成分的概念,你(作者)应该有这样的理念:哪怕这个内容只有60个读者,(作者)花1小时仔细推敲措辞从而省去每个普通读者的1分钟都是值得的…

这样的治学和写作精神是值得我们学习的,同时也是其作品质量和易懂程度的保障。这样的精神在 Donald Knuth 在选择为教科书的符号系统和公式的排版上所做的努力中也是可以见到的。

在这里推荐一下Google Code University, 其中集合了一些计算机科学基础课程的国外大学讲义 (完全免费,组织甚好),其中包括了:数据结构,离散数学,分布式系统,自动机理论,计算机安全,图形学等。自己去探索一下吧。