一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

转载于 量子位

一位从1998年就开始讲课的老教授Jeff Erickson,把他20年来在UIUC讲课的内容整理成了一本算法书,名字简单粗暴,就叫《算法》(Algorithms)。

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

这本书在网上公布后,很快就成了国外计算机系学生讨论的热门话题,目前在Hacker News已经收获超过1000赞。

原因当然是他在学生当中的名气。Jeff是计算机视觉领域知名学者,有扎实专业知识。难能可贵的是,他教学风格轻松愉快,广受学生欢迎,甚至一位20年前的学生也亲自发帖为他打call。

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

书本内容

《算法》总共有448页,,除去前言和简介部分,总共包含了12个章节的内容,主要谈到了以下一些算法:

递归、回溯、动态编程、贪心算法、基本图算法、深度优先搜索、最小生成树、最短路径、全局最短路径、最大流最小割、流量与切割的应用、NP困难等。

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

Jeff把这本书称作出版印刷前的“第0版”,你可以去他的GitHub页下载到《算法》这本书的PDF版,帮忙找排版和内容上的bug。

喜欢看纸质书的小伙伴也不用着急,《算法》的纸质版即将发行。至于电子版也会一直免费提供下去。

既然是讲义的整理,除了基本教学内容外,当然还有习题和考卷,每年都会根据教学内容实时更新。如果你想要随附习题的答案,Jeff本人是拒绝的,还是自己动手吧。这本书没有习题答案!

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授 作者Jeff Erickson和他的孩子

Jeff教师认为,教材有时候在大学教学和自学者之间有不可调和的矛盾。Jeff显然更看重课堂上的学生,如果提供标准答案,只会让学生死记硬背,忽略了答案背后的逻辑。

而且,Jeff说那些想要答案的学位往往是爱作弊的学生。学渣们你们颤抖了吗?

关于作者

如果仅凭以上内容,就认为Jeff是一个不讲情面的大学教授就完全错了。

在考试方面,Jeff对待学生可以说是相当“宽松”。学生在考试题下面写“我不知道”,就能得到25%的分数。

这么做是为了鼓励学生承认自己的缺点,助教也不必为审阅垃圾答案浪费时间。

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授

有趣的是,这位Jeff教授不是一个唯成绩论的人。

因为他自己当初就是一个不折不扣的学渣,GPA得分只有2.4(满分4.0)。他却靠自身努力成为知名教授。

对那些成绩很差却想继续深造的学生,Jeff传授了一点他自己过往的人生经验:

让导师看到你的努力和在专业方面的技能,比如你曾经在计算机领域的就业经历。让导师相信,你出色的能力让他愿意承担风险。(Jeff自己在攻读硕士前就曾是软件工程师。)

最后,Jeff有个幸福的家庭,上面的画像就是他12岁女儿所画。

资源汇总

电子书地址:
http://jeffe.cs.illinois.edu/teaching/algorithms/#book

Github地址:
https://github.com/jeffgerickson/algorithms

作者论文汇总:
http://jeffe.cs.illinois.edu/pubs/index.html

一份点赞上千的《算法》讲义,来自20年教学经验的UIUC计算机教授