John | 曲

Reflection in Transition

给大一CS生的推荐书单

2017-09-18


小伙子离开家上大学了,说C语言听不大懂,网上资料虽然多,但是百度都是广告,让我推荐一下。我虽然是学过谭浩强C语言的,但是早就在大二买二手电脑的瞬间,都还给了老师。这里只是综合牛人们的博客文章,给几个建议,仅供参考。

(请注意有下划线的都是链接。在这个css风格下,不是很清楚地强调链接,我觉得挺美,也懒得改。)

C语言有必要学,但用处不广

老司机的推荐

C是Linux的内核语言,运行效率很高,因为能直接与硬件打交道。也因为这一点,编程效率不是很高。

现代的新书也不多,但是有很多经典的好书,这里看到三本,来自于“Some dark corners of C”:

这是帮助理解语言运行的工具

这里是一个姓郭的人做的网站,可以把各主流代码的执行过程可视化,对于了解、熟悉范畴、指针等概念很有帮助。

http://www.pythontutor.com/

其中C语言的页面是:

http://www.pythontutor.com/c.html#mode=edit

页面底下有实例代码,点进去运行一下,很直观。

经典中的经典

另有Ritchie和Kernighan合写的《C程序设计语言》,经典中的经典。

这本书在“编程随想”的个人博客里有中英文电子书,不过下载要翻墙。

学Python,我刚刚读完入门书

我刚刚在8月里读完了Downey的《Think Python》,第一遍读,做完了70%的习题,用中文做的复盘

现在正在上MITx的网络课Introduction to Computer Science and Programming Using Python。由于是第一次用MOOC工具,还没有找到节奏感。

所谓科班出身,关键是像计算机专业人士一样想问题

关于这一点,很多人都给出了具体的建议。我只恨自己没有早点通读他们的话。其实,只要看看大小标题,就能大致知道前进的路径和方向,有多么多,多么广,急不得,好好走。

李笑来老师的建议很中肯

李笑来老师是新东方作文老师,后来写了三本书,都大叫好,一本是《把时间当作朋友》,一本是《人人都能用英语》,一本是《七年就是一辈子》。第三本我还没有读。

他去年打算在“新生大学”框架之下,办一个软件学院,培养全栈工程师,所以他在github上开了一个专题博客,开始写一本书,叫《人人都是工程师》。虽然后来因为请到了更专业的老师,他的书没有写下去,但是头几篇文章还是很有示范作用的,告诉你有用的教程长什么样子。

李笑来老师那里也是个学习大坑,我还没转出来呢。

授人以鱼不如授人以渔

关于翻墙

前几天回学校,发现交大已经给在校学生们提供VPN翻墙服务了。不知道湖北什么样?

我现在用的是云梯,240块一年,每月100G流量,不限时间,可以同时三台机器在线。如果需要,可以问我。

关于阅读

如果你不擅长听课,而是更愿意自由阅读,那么恭喜,你前面的路无限宽广。这里提供一个行路指南,就是哎德勒和范多伦的《如何阅读一本书》。

“编程随想”的博客有一片专文介绍此书,说得很具体。为了阅读方便,我复制粘贴过来,镜像在这里了。


2017-09-20 update