回覆列表
  • 1 # 出海助手

    以下列出的是我自14年至今上過的大部分課程,現在將其分為「小白」,「入門」和「進階」三個級別(可能要再過幾年我才敢回來加個「精通」 ),便於各位按需自取。每一類下面,我又根據個人的感受,將其分為了【強推】(強烈推薦),【推薦】,和【已閱】(有時間你就看看)。推薦的內容不限於Youtube。因為從10年開始便一直在上公開課,文末我會推薦些非計算機課程,給大家當做調劑。

    小白級別 -- 給那些對計算機完全陌生的人

    強推:Computer Science Crash Course

    主講人:CARRIE ANNE PHILBIN, Director Of Education in Cambridge, United Kingdom

    這門課製作十分精良,而且涵蓋了計算機的方方面面,從最底層的電晶體講到了最上層的AI。每個影片的長度約十分鐘,適合簡單瞭解下計算機的工作原理以及發展史。

    推薦:Programming Foundations with Python

    主講人:Kunal Chawla, Co-Founder at Chalees Minute School

    這門課從零開始教你寫python,學習曲線非常的低,很容易上手,培養信心和興趣。不過,不知為何這門課從udacity的官網上下架了,因而只有這個Youtube的版本了。

    已閱:In One Lesson

    主要講一些硬體的工作原理,沒事可以看著玩玩,權當是放鬆了。

    小白級別的課程就只有這麼多。看完之後你可以對計算機是什麼,又是如何工作的,有一個大概的感覺。

    入門級別 -- 開始分塊學習計算機的工作原理,包括作業系統,資料庫,網路等

    強推:This is CS50

    主講人:David Malan, Professor at Harvard University

    這門課一出來便非常火,當時上課給我的第一印象就是這個老師太有激情了,講課時真的是literally揮汗如雨。這門課作為哈佛的計算機科學入門課程,教學內容覆蓋面很廣,從二進位制講到網路開發,這個過程中使用的語言包括C, python, JS等等。是一門十分值得花時間好好學習的課。

    強推:6.006 Introduction to Algorithms

    主講人:Srini Devadas, Professor at MIT

    這是一門比較難的演算法課,一定要做他們的練習題,不然無法保證你真的理解了這些演算法。猶記得15年的時候準備google的面試,一週把這門課上完了,然而並沒有掌握好。難歸難,演算法則是一定要學好的。

    強推:Networking tutorial

    主講人:Ben Eater, Khan Academy(former)

    這是一門很短卻直至精髓的課。從大家都能看到的網線開始講電訊號如何傳輸,最後以介紹TCP協議為止。每個人對學習方法的偏好不同,有人喜歡抽象,有人喜歡具體,我正好是後者。這門課就非常具體,把每個bit如何在網路中游走講的一清二楚。這門課不涉及演算法,最佳化等,十分適合入門。

    推薦:Distributed Computer Systems

    Srinivasan Keshav, Professor of Computer Science at the University of Cambridge

    這門課主要講的是網路通訊,從底層的switch一步步講到TCP等協議。老師很有意思,課上各種噴google是如何侵犯大家的隱私的。

    推薦:Intro to Computer Science

    主講人:David Evans, Professor of Computer Science University of Virginia

    這門課的核心是使用python來打造一個搜尋引擎。之所以推薦它,是因為這門課更接近於軟體工程,有大量的實際操作,需要你寫出正確的程式碼才能進行下一步學習。另外這位老師的冷笑話也蠻好聽,後面還會推薦他的另一門課。

    推薦:Computation Structures

    主講人:Chris Terman. Senior Lecturer, Electrical Engineering and Computer Science at MIT

    對於想要了解計算機是如何從簡單的電壓變化演變到現在的作業系統的,可以看看這門課。老頭子風趣幽默,特別喜歡冷笑話。

    已閱:An Introduction to Computer Networks

    主講人:Professors at Stanford

    發現了Stanford這門課很好,各種layers都覆蓋到,還請一些業界大牛做採訪。

    已閱:Learn in One Video

    這個網站不同的地方就在於,每一個影片如同填鴨一般的把一門程式語言一次性講完。每次我要快速瞭解(不是掌握)一門語言時,就會把對應的影片看一兩遍。

    已閱:Operating Systems and Systems Programming

    主講人:John D. Kubiatowicz, Professor at UC Berkeley

    這個我覺得一般,可能是PPT做的不咋樣,不介意的可以去看看。

    已閱:Intro to Database System

    主講人:Joseph M. Hellerstein, Professor at UC Berkeley

    這個我覺得一般,老師講課略顯枯燥,也可能知識學到這個份上沒法不枯燥了吧。

    進階級別 -- 術業有專攻

    軟體工程

    強推:Test-Driven Development with Python

    這是一本非常棒的書,作者教你如何用TDD的正規化來使用Django開發網站。

    推薦:C++ Tutorial

    主講人:The Cherno(Yan Chernikov), Software Engineer at Electronic Arts (EA)

    小夥子長得賊精神,講的賊清楚,若想要學C++,推薦看他的影片。

    推薦:The Go Programming Language

    入門Go時看過的一本書,寫的非常詳細,淘寶有賣的。

    已閱:Learn Python the Hard Way

    我看的那個時候還是免費,現在官方已經只在Amazon賣了,這是個免費版本,適合Python入門。

    軟體工程更多的是積攢經驗了。多看優秀的開原始碼,多看文件,慢慢學習。

    機器學習

    強推:Neural Networks and Deep Learning

    主講人:Michael Nielsen, Research Fellow at Y Combinator Research

    這本書網上可以免費閱讀,寫的非常細緻,解釋的很清楚。

    推薦:Artificial Intelligence

    主講人:Pieter Abbeel, Daniel Klein, Professors at UC Berkeley

    我很喜歡這門課,作業記得要跟著做完,最後的project做了個遊戲,挺有意思。

    已閱:Full Stack Web Developer, Front End Web Developer, Machine Learning Engineer

    主講人:Udacity

    這三個nanodegree,如果你沒什麼經濟壓力,倒是可以花錢上一上。我15年上的那會兒,都是先搜尋裡面指定的課程,然後上完課程,再去做nanodegree的projects. udacity的課程有個優勢,它被敲打的非常零碎,章節之間插入了大量的練習,再加上畢業專案,很適合非計算機專業的人去學習然後找相關的工作。

    如果需要學習機率統計以及線性代數,強烈推薦去Khan Academy.

    分散式系統

    強推:Distributed Systems

    主講人:Robert Morris, Professor at MIT

    這門課,網上並沒有清晰度高的影片。其實只要跟著這個表裡的時間安排,把裡面的papers都一下,把課堂的notes看一看就行。最重要是完成這門課的Labs,其內容是根據Raft的paper用Go把它實現一遍。提前預警整個過程非常虐心。。。

    已閱:Distributed Systems

    主講人:Chris Colohan, Software Engineer/Manager at Google

    分散式系統的公開課並不多,而這一門課則十分通俗易懂,適合入門。

    密碼學及其應用

    強推:Introduction to Cryptography

    主講人:Christof Paar, Professor for Embedded Security at Ruhr University Bochum

    德國的教授,英文講的很好。重點是,這門密碼學入門真的講的太清楚了!所有的公式定理都會現場給你推演一遍。學完可以手推大部分密碼學演算法,同時會打下很好地理論基礎,學完看paper無鴨梨。有教科書,練習題最好也一起做了。

    強推:Applied Cryptography

    主講人:David Evans, Professor of Computer Science University of Virginia

    這門課使用python來實現密碼學裡幾個常見的演算法。與上面那門課不同,這門課偏重於實踐,需要寫不少程式碼。

    推薦:Abstract Algebra

    主講人:learnifyable

    有關抽象代數的公開課不多,這一門講的不錯。如果對密碼學,以及量子計算機感興趣的話,可以先上一上抽象代數,對理解數學很有幫助。

    Cryptocurrency Engineering and Design

    主講人:Professors at MIT

    在數字貨幣方面,這門MIT的課是最up to date,涵蓋了目前有關Bitcoin的方方面面。

    已閱:Bitcoin and Cryptocurrency Technologies

    主講人:Professors at Princeton

    如果你對blockchain感興趣的話,這門課是不個不錯的入門選擇。不過作為一門常青藤學校出品的課程,內容還行,形式和傳播效率上卻做的一般。看著門課可能偶爾需要忍住枯燥,大部分時間需要把語速加快x1.25或者x1.5。

    已閱:6.046J Design and Analysis of Algorithms

    主講人:Srini Devadas, Professor at MIT

    這門課當時看的我很吃力(並未掌握多少),若有志於往演算法最佳化這個方向發展,這個值得看一下。

    已閱:Learning Solidity

    18年的時候玩了下以太坊合約,這個入門還行,但以太坊這兩年改動挺大的,最好還是去官網看吧。

    其他科技相關頻道推薦

    Software Engineering Daily

    一個常聽的podcast,節目裡請的是業界比較優秀的工程師,每一期大概一小時,來探討software engineering這個行業裡遇到的各種現象和問題,也有很多工程師在這裡面分享自己的經驗,雲服務,devops,queue,scheduler,blockchain,等等等等。

    上面的連結是他們的網站,iphone直接在podcast就有他們的節目,每日更新。

    強烈推薦他家這篇健康的雞湯,You are not a commodity

    Kurzgesagt – In a Nutshell -- 解釋宇宙,包羅永珍

    Computerphile -- 提供各種各樣關於計算機世界的科普,沒事看著玩玩

    3Blue1Brown -- 把數學講的非常清楚

    Numberphile -- 一個給nerd解悶的channel,適合沒事兒瞎看看

    最後,國內的疫情讓人十分難過,大家在技術學習之外,也可以看看一些人文學科的公開課,希望將來的將來,可以不再有這樣的悲劇發生,在此先推薦幾門課。

    一門是哈佛的Justice。這門課我是10年看的,最近又拿出來看,依舊非常引人思考。

    一門是耶魯大學的Moral Foundations of Politics,跟哈佛的Justice很像,介紹了自文藝復興以來,西方政府的迭代。

    還有一門,是Jordan Peterson的Personality and Its Transformations。這是一門心理學課程,討論的話題也十分廣泛,引人深思。我個人也非常推薦大家關注Jordan這個人,他的許多觀點雖然常常引發爭議,但他卻是真的勇士,敢於在公開場合去談論這個話題。

    alright, 等上了其它課,再來分享。

    好奇,那些收藏了朋友們,你們學的怎麼樣啦?

  • 中秋節和大豐收的關聯?
  • 清明節,古人怎麼過?