一份點讚上千的《算法》講義,來自20年教學經驗的UIUC計算機教授

2020-12-27 量子位

曉查 發自 凹非寺 量子位 出品 | 公眾號 QbitAI

一位從1998年就開始講課的老教授Jeff Erickson,把他20年來在UIUC講課的內容整理成了一本算法書,名字簡單粗暴,就叫《算法》(Algorithms)。

這本書在網上公布後,很快就成了國外計算機系學生討論的熱門話題,目前在Hacker News已經收穫超過1000贊。

原因當然是他在學生當中的名氣。Jeff是計算機視覺領域知名學者,有紮實專業知識。難能可貴的是,他教學風格輕鬆愉快,廣受學生歡迎,甚至一位20年前的學生也親自發帖為他打call。

書本內容

《算法》總共有448頁,,除去前言和簡介部分,總共包含了12個章節的內容,主要談到了以下一些算法:

遞歸、回溯、動態編程、貪心算法、基本圖算法、深度優先搜索、最小生成樹、最短路徑、全局最短路徑、最大流最小割、流量與切割的應用、NP困難等。

Jeff把這本書稱作出版印刷前的「第0版」,你可以去他的GitHub頁下載到《算法》這本書的PDF版,幫忙找排版和內容上的bug。

喜歡看紙質書的小夥伴也不用著急,《算法》的紙質版即將發行。至於電子版也會一直免費提供下去。

既然是講義的整理,除了基本教學內容外,當然還有習題和考卷,每年都會根據教學內容實時更新。如果你想要隨附習題的答案,Jeff本人是拒絕的,還是自己動手吧。這本書沒有習題答案!

作者Jeff Erickson和他的孩子

Jeff教師認為,教材有時候在大學教學和自學者之間有不可調和的矛盾。Jeff顯然更看重課堂上的學生,如果提供標準答案,只會讓學生死記硬背,忽略了答案背後的邏輯。

而且,Jeff說那些想要答案的學位往往是愛作弊的學生。學渣們你們顫抖了嗎?

關於作者

如果僅憑以上內容,就認為Jeff是一個不講情面的大學教授就完全錯了。

在考試方面,Jeff對待學生可以說是相當「寬鬆」。學生在考試題下面寫「我不知道」,就能得到25%的分數。

這麼做是為了鼓勵學生承認自己的缺點,助教也不必為審閱垃圾答案浪費時間。

有趣的是,這位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

相關焦點

  • 人工智慧音樂+電音製作+音樂科技三合一 | UIUC 計算機科學和音樂專業本科介紹
    CS225是uiuc計算機系口碑最好的一門課,涵蓋了binary Tree, Stack, queue, priority queue, disjoint set, graph algorithm等算法。這門課同時有理論和寫碼考試,所以保證了學生能用代碼實現特殊的數據結構的能力。他所教授的內容涵蓋了各種軟體工程面試裡的題目。一般推薦大一春季上,因為大二秋招的時候可以直接用這個課的內容去面試。
  • 良心推薦:一份20周學習計算機科學的經驗貼(附資源)
    原標題 Computer Science Curriculum翻譯 | 王飛     整理 | 凡江這是一份五個月(20個星期)學習計算機科學的經驗貼,希望幫助你跟我一樣從入門到精通。傳統的大學開設 ACS 專業,主要是引導學生從毫無任何編程經驗,到對計算機科學領域的一些相關學科有一個較為寬泛的認識。在這條視頻中,我將給大家介紹一下,我個人是如何安排自己的學習規劃,在短短的五個月內,掌握計算機科學這門領域的知識。我列在這裡的資源,在網際網路上都能找到,並且都是免費的。
  • 本科轉學經驗 UIUC到UChicago
    20分鐘就回了哦,感動壞了!從我在uiuc的經驗來看,拿著4.0轉學且不成功的人絕不是個別。在這種情況下我們只能通過提高課程的難度來增加自己的競爭力。所以如果大家對自己的能力有信心,在充分調查教授和課程的情況下就大膽地去選300,400level的課程吧! 另外,從我個人的經驗上看,當選課難度增加的時候就算你是大一的學生學校也不會太關注sat的分數了。
  • 計算機學院2019年成績單新鮮出爐
    由計算機學院承辦的西安科技大學首屆微信小程序應用開發大賽第一次培訓會在驪山校園召開,來自12個學院的20組選手經過初賽和決賽,最終決出一等獎1組,二等獎2組,三等獎3組,優秀獎41名;19.2019年6月14日,聘任張發教授為計算機學院特聘教授;20.2019年6月25日,李佔利教授指導的《基於同態加密的安全多方計算協議及應用》、馮健副教授指導的《基於DOM結構聚類的釣魚網頁檢測方法研究》被評為西安科技大學優秀碩士學位論文
  • 上海交大計算機系鬱昱教授參與設計的密碼算法獲全國密碼算法設計...
    2020年1月13日,全國密碼算法設計競賽舉行頒獎儀式,上海交通大學計算機系鬱昱教授與密碼技術國家重點實驗室和中科院軟體所等單位的科研人員共同設計的Aigis-enc後量子公鑰加密算法和Aigis-sig後量子數字籤名算法獲得了本次競賽公鑰算法組的兩項一等獎(公鑰算法組共產生一等獎三項)。
  • 計算機學院「指尖微課堂」實踐團開展線上公益教學活動
    為響應國家科技強國戰略,讓在校大學生利用所學專業知識服務社會、貢獻社會,2020年8月,計算機學院團委聯合江蘇省計算機學會、中國礦業大學國際程序設計技術聯合實驗室發起編程教育線上公益課堂活動,組織計算機學院優秀教師團隊、本碩學生團隊成立「指尖微課堂」暑期社會實踐團隊,開展青少年C\C++入門編程志願服務,對青少年進行科技幫扶,培養計算思維,提高編程能力。
  • 【記筆記之我見】一份手寫講義的「述說」
    這就是理學院物理系副主任張宇教授的《電磁學》講義,翻看著這本厚達6釐米、近400頁的講義,記者仿佛聽到它在述說著什麼——  一本講義一本書,手寫講義述說對教師這份神聖事業的敬畏——  「小環節」的千錘百鍊  記者仔細翻看了手寫的《電磁學》講義,只見這份用格紙背面寫就的講義字跡工整、圖文並茂,
  • 這裡有一份來自英偉達計算機科學家的課程清單
    就職於英偉達人工智慧應用團隊的計算機科學家 Chip Huyen 根據自己多年的教學和工程經驗,總結了一份適合按順序依次學習的機器學習課程清單,具體清單如下文。作為一個簡化的概率介紹,它沒有介紹傳統的概率處理,而傾向於使用相對頻率的經驗方法,參與者可以看到 OLI 統計推理課程。推理:本單元介紹推理的邏輯以及主要形式相關的技術:點估計、區間估計和假設檢驗。該單元包括人口平均數和人口比例的推斷方法、兩組和兩組以上平均數比較的推斷方法(方差分析)、獨立性卡方檢驗和線性回歸。
  • 想搞定大廠算法面試?那你絕對不能錯過門算法導論課!
    伊利諾伊理工大學計算機碩士的CS 430算法導論課程正因此成為最熱門的課程之一,班級裡大佬雲集:這些來自亞馬遜、阿里等大廠,已經有多年工作經驗的工程師,都認為通過攻讀計算機碩士課程系統地學習算法,對職場進階有著重要意義。在學習算法的過程中,重要的是學會許多思想,比如二分的思想、遞歸的思想、分治的思想、動態規劃、貪心,以及現實中很多數據結構的抽象等。
  • 計算機編程最好的入門課程,哈佛大學CS50!
    ,我和大多數同學一樣,通過了C語言課程考試,通過了國家計算機二級考試,然而發現自己除了寫一個冒泡排序算法,一個像樣的程序都寫不出來,對計算機編程產生了深深的誤解,計算機科學是一個非常實用的科學,都是用來解決現實問題的,而我們的教學存在很大的問題,那麼我們來看看哈佛大學是如何讓學生入門的計算機編程的!
  • Blum的算法書單
    原文地址:http://www.cs.cmu.edu/afs/cs/academic/class/15750-s11/www/books.html 另外八卦一下,Blum的夫人Lenore Blum也是CMU計算機系的教授,著有Complexity and Real Computation,研究方向是複雜性與實(數)計算。
  • ——記首屆全國教學名師、國防科技大學教授鄒逢興
    《計算機硬體技術及應用基礎》;7點59分,一名個子不高、身板挺拔的中年軍人昂首走進教室。課後,一手粉筆灰的鄒教授,在接受記者採訪時說。  鄒教授說的這本書,名為《微型計算機接口原理與技術》,那是在20年前,計算機還是個稀罕物,大學教材根本沒有,鄒逢興就將英文教材翻譯成講義,後來國內也有高校編著了中譯版,但兩者所用的背景樣機都還停留在80年代初的水平,明顯落後於微機技術發展潮流。  鄒逢興想自編教材。  幾次申請,沒有得到響應。
  • 哈佛大學 CS50,全美最受歡迎的計算機課程
    但是,全美最著名的一門計算機課程,卻出自以人文見長的哈佛大學。這門課就是哈佛的 CS50(計算機科學導論),每學期都有 6、7 千人報名,是哈佛最受歡迎的課程之一。作為入門課程,它的內容沒有那麼艱深,課程中問題設置的靈感來自生物學、密碼學、法醫學、金融學和博弈論等各個領域,無論之前是否有編程的經驗,都可以輕鬆地學習這門課程。在歷年來選修 CS50 的學生之中,就有 73%是未接觸過計算機科學的外系學生。
  • 從UIUC到史丹福大學計算機專業
    我最先是聯繫了教我幾何學的老師,參加了幾何實驗室的本科研究項目助理,當時研究的課題也和算法有一定的聯繫,是關於「複雜動力學圖」。在大二的上學期就在進行研究,當做的是關於複數空間 上可視化迭代函數的有效算法。使用Matlab開發代碼以確定複數 函數 中周期點的活動。
  • CIS背景提升:與CMU計算機科學大佬聊聊機器學習
    David Woodruff教授專攻計算機科學,他所有的學位都來自麻省理工學院。他的履歷特別豐富。2005年8月至2006年8月,曾在清華大學理論計算機科學研究所做過一年的訪問學者。2007年8月至2017年8月,供職於IBM Almaden研究中心長達10年,擔任IBM技術學院首席科學家, 且因對IBM專利清單的重大貢獻而榮獲2012年度的發明大師(Master Inventor)稱號,並多次獲得IBM研究部傑出成就獎及最佳論文獎。2018年他還曾在谷歌研究部門做過半年的訪問學者。2017年加入CMU,目前是計算機科學系終身教授。
  • 2019全國高校計算機課程教學高峰論壇 | 金芝教授將出席並發表演講
    鄧俊輝(清華大學計算機系教授)報告題目:不斷超越,久久為功——清華大學標杆課程數據結構的改革實踐耿祥義(大連交通大學計算機學院教授)報告題目:Java課程設計階段如何訓練使用MVC設計思想>桂小林 (教育部高等學校大學計算機課程教學指導委員會秘書長,西安交通大學電子與信息工程學院副院長、教授)蔣宗禮(國家級教學名師、教育部高等學校計算機類專業教學指導委員會副主任,北京工業大學教授)報告題目:一流專業建設及課程教學要求金 芝(
  • 綿陽修車師傅幾十年自創數學公式 連教授都點讚!
    很多人一說數學就頭疼,而安州區黃土鎮的一名修車師傅,雖然只是初中學歷,卻花了幾十年創作出一套數學公式,讓數學教授都為他點讚! 為了驗證公式的正確性,他曾經還專門去到北京,用計算機逐一核對過。老伴兒對他這一愛好非常不理解,說數學計算解決不了生活困境,家裡這些年都過得很拮据。 真的是一根筋,學成書呆子了,整天就算這個,我問他有啥用?家裡越算越窮。鄧國友愛人羅春霞告訴記者。
  • 【考研經驗】2019年復旦大學工研院計算機專碩經驗分享
    初試成績: 政治63,英語二78,數學二110,專業課(960)116,總分367,沒有一門有亮點,也是集看錯看漏於一身的結果,我建議20考研的學弟學妹們,將目標分數定得高一點,去年我看了茵茵的經驗貼,把目標定在了380+,失誤後才能勉強超分數線,雖然超今年工研院分數線不是很多,但也是初試第二。
  • 國家教學名師王萬良教授成為百度雲智學院首位榮譽理事
    近日,人工智慧領域的領袖人物王萬良教授,受邀成為百度雲智學院雲智榮譽理事團首位榮譽理事。王萬良教授現任浙江工業大學計算機科學與技術學院院長、軟體學院院長,入選「國家級教學名師」,「國家萬人計劃首批教學名師」。現還兼任教育部高等學校計算機類專業教學指導委員會委員、中國人工智慧學會理事、中國自動化學會智慧教育專委會主任。
  • 經典算法題:懂二進位(小米筆試題)
    來自提升算法能力,小編帶來了一份高效入門書單。 01  趣學算法編輯推薦:本書從算法之美娓娓道來,沒有高深的原理,也沒有枯燥的公式,通過趣味故事引出算法問題,包含50多個實例及完美圖解,結合學生提問,分析算法本質,並給出代碼實現的詳細過程和運行結果。