良心推薦:一份20周學習計算機科學的經驗貼(附資源)

2020-12-13 雷鋒網

雷鋒網(公眾號:雷鋒網)按:這裡是,油管Artificial Intelligence Education專欄,原作者Siraj Raval授權雷鋒字幕組編譯。

原標題 Computer Science Curriculum

翻譯 | 王飛     整理 | 凡江

這是一份五個月(20個星期)學習計算機科學的經驗貼,希望幫助你跟我一樣從入門到精通。

傳統的大學開設 ACS 專業,主要是引導學生從毫無任何編程經驗,到對計算機科學領域的一些相關學科有一個較為寬泛的認識。在這條視頻中,我將給大家介紹一下,我個人是如何安排自己的學習規劃,在短短的五個月內,掌握計算機科學這門領域的知識。

我列在這裡的資源,在網際網路上都能找到,並且都是免費的。在我開始之前,請大家記住,你可以根據自己的情況加快學習進度比如視頻加速觀看,每天學習兩到三個小時,每門課在周末只做一個項目等等。在學習的時候,手寫筆記以便記住所學的內容,在你學習列表中的內容時,記住關注一些計算機行業的大牛,這樣就能及時了解到相關領域的最新動態了。

WEEK 1-2 Python

在最開始,我們要學的是 Python 這種程式語言。什麼是Python?Python是一種解釋執行的具有動態語義的面向對象的高級程式語言。啊什麼鬼啦,定義中這麼多專業術語,看不下去怎麼辦?別著急,我給大家介紹一個學習資源,這個資源不要求你了解計算機科學領域的相關術語也能看懂。

在網絡上有一本極好的免費的書,叫做Automate The Boring Stuff With Python。這本書對編程小白來說相當實用,書中展示了如何完成一些基本的任務,例如使用 Python 語言發送提醒郵件,移動文件夾以及格式化數據等。

我建議你第一周的時間來讀這本書,總共有18章,如果每天完成三到四個章節周末就能完成。這本書中裡面有許多練習,你可以在你使用的任何作業系統的終端上去完成這些練習。如果你在自己的機器上安裝Python時遇到了問題,可以到Python 的官網上查查詳細的相關信息。

在學習 Python 的第二周,我推薦參加CodeAcademy的Python課程。在課程中,你的網頁上就會有交互式的控制臺,你可以馬上得到反饋,知道自己的代碼是否編譯正確。這些年,這個平臺的這個課程一直很受初學者的歡迎。

總共兩個周的時間,差不多足夠你對 Python 語言有一個基本的了解了。當然,前兩周你寫的程序還不足以改變世界,但是,理解這門語言的語法、關鍵詞、使用的頻率以及為什麼使用,這些都是至關重要的。它們能夠幫助你在下一階段中構建以及理解一些數據結構。

Automate the Boring Stuff with Python: https://automatetheboringstuff.com/

Codecademy的Python教程:https://www.codecademy.com/learn/learn-python

WEEK 3-4 數據結構

我還記得,當我還是哥倫比亞的一個計算機科學的大一新生時,每個人都會告訴我,在你的專業裡面,你將要上的最重要的兩門課是數據結構與算法。在那個時候,這聽起來很滑稽。怎麼能說數據結構與算法比 學習令人激動的機器人學和計算機視覺還要重要呢?結果我被啪啪打臉了,他們是對的。

在計算機科學領域,如果你要創造出無窮無盡超級棒的應用,你就必須理解如何正確地存儲數據,以及對數據進行處理,以便完成任務。

有一個 UC SanDiego開設的數據結構課程,這門課程會展示給你各種各樣的數據結構——從二叉樹到鍊表,以及在 Python 中如何實現這些數據結構。

UC SanDiego的Data Structures Fundamentals: https://www.edx.org/course/data-structures-fundamentals-uc-san-diegox-algs201x

WEEK 5-6 算法

之後,你也許會想了解一些算法方面的東西。使用Python作為基礎語言的最好的一門課程是MIT的算法介紹課程。在他們的網站上,你可以看到所有的課程和相關的筆記以及問題集。你會注意到,當談到數據結構和算法,一旦你開始構建並且能夠理解其中的一些東西,一切都會開始變得有用起來、當涉及到數據的正確存儲時,你會開始理解,你必須要做的一些折衷處理,當你開始考慮應用的時候,你將能夠知道,為了完成任務,你需要什麼類型的數據結構以及算法。 

MIT 6.006: Introduction to Algorithms https://courses.csail.mit.edu/6.006/fall11/notes.shtml

WEEK 7 資料庫

接下來,無論你是構建一個web應用、移動應用或者是僅僅進行數據處理,了解資料庫如何運作都是十分重要的。SQL是最普遍的標準的資料庫語言,Coursera上有一門課程,課程名字叫做Using databases with Python,這門課程能夠幫助你容易地理解資料庫。

你可以跳過這門課程的第一周,繼續往後學,因為我們已經了解了Python學習部分的內容。

密西根大學 Using Databases with Python https://www.coursera.org/learn/python-databases

WEEK 8 網絡

在接下來的一周,我們將在Python上稍微停一下,轉而把注意力放在網絡上。在你構建一個需要使用網際網路的應用時,你必須要弄明白,網際網路這個人類設計的複雜的系統,是如何允許我們在一瞬間與全球各地的人進行交流的。

Coursera上有一門課程,這門課程是Google開設的,叫the bits and bytes of computer networking。你會學到網際網路協議是如何工作的,你會弄明白,當你向網頁中輸入網頁連結並且點擊回車鍵時,在搜尋引擎之下發生了什麼。

The Bits and Bytes of Computer Networking https://www.coursera.org/learn/computer-networking

WEEK 9-10 網頁開發

在你完成這一部分的學習之後,你就能開始進行網頁以及移動應用的編程開發了。我是哈佛大學計算機科學教授David Malan的忠實粉絲,他個人充滿熱情,極富感染力,能夠讓你一直沉浸在課堂中。

網絡方面最好的課程是哈佛的cs50 web編程課程,課程使用的是Python和JavaScipt,我們目前只了解了 Python 的相關知識,但是很有必要去了解一下JavaScipt這門web語言。

Git - Lecture 0 - CS50's Web Programming with Python and JavaScript https://www.youtube.com/watch?v=1u2qu-EmIRc

Github參考:https://github.com/melanierichards/just-build-websites

WEEK 11-12 移動端

接下來,你需要花兩周的時間,構建一個讓你激動的應用。你可能會灰心,不過沒有關係,你有兩個選擇,IOS和安卓。可以在第一個周構建一個IOS應用,第二個周構建一個安卓應用,這樣你就能看到兩者之間的差別,並且能夠意識到自己更喜歡哪一個編程環境。

蘋果端:https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/

安卓端:https://developer.android.com/training/basics/firstapp/

WEEK 13-14 數據科學

數據科學是從數據中尋找結論的一門學科,通常這會用到機器學習和統計分析部分的知識。

EDX上有一門UCSD開設的一門課程,名字叫做Python for data science。通過這門課來進入這個領域是一個很好的方法,課程略長,因此這門課需要一到兩周的時間。這門課會讓你直接使用到你的Python知識,你會接觸到一些常用的數據科學方面的Python庫,如pandas numpy。學完這門課之後,你會對機器學習有一點了解。

Python for Data Science:https://www.edx.org/course/python-for-data-science

 WEEK 15-16 計算機視覺

Udacity上有計算機視覺方面特別好的課程,當然也推薦斯坦福的CS231n。

 https://www.udacity.com/course/introduction-to-computer-vision--ud810

斯坦福CS231nhttp://www.mooc.ai/course/268

WEEK 17-18自然語言處理

我推薦Coursera的這門課:

Applied Text Mining in Python https://www.coursera.org/learn/python-text-mining

WEEK 19 軟體編程實踐

僅僅知道如何編程還是不夠的,你還需要知道在一個團隊中如何進行編程。這就是為什麼,你需要在接下來這個周學習軟體開發實踐。

Coursera上有一門課程,名字叫做軟體開發過程與方法論,在這門課程中,涵蓋了許多和其他人一些協同編碼開發的團隊技巧。如果你想在一家公司工作,比如Google者一些很小的初創公司,了解這些東西至關重要。

Software Development Processes and Methodologies:https://www.coursera.org/learn/software-processes

 WEEK 20 區塊鏈

最後一個周,你需要,對加密貨幣、區塊鏈等技術有一個大致的認識,因為這些技術現在很火。在Youtube上我已經準備好了一個加密貨幣的播放列表,你可以打開看看。

How Does Monero Work? 

雷鋒網雷鋒網

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 想學習數據科學?我們整理了一份優質編程入門課程清單
    在試著上了一些在線課程之後,我深受啟發,接著決定開始學習加拿大最好的計算機科學課程之一。兩周後,我意識到我可以通過 edX ,Coursera 和 Udacity 來學習我需要的一切知識,並且更快、更有效、成本更低。所以我退學了。在不久之後,我開始通過使用在線課程創建自己專屬的數據科學碩士學位。
  • 吐血推薦,B站最強學習資源匯總(數據科學,機器學習,python)
    但要說最受年輕人歡迎的學習資源網站,應該非B站莫屬。該平臺資源之豐富不用多說,並且全程無廣告,很多網友都表示自己通過B站學會了很多技能,比如Python、資料庫、Photoshop、英語考級、日語考級等。總之,一個B站就足夠解決絕大多數問題。
  • 強烈推薦,B站最強學習資源匯總(數據科學,機器學習,python)
    而且最重要的是,課程中布置了很多作業,而萬能的網友更是找出了作業答案,並將其公布在了留言區,可以說太良心了,簡直是沒錢報班學習者的福音。此外,由於該課程有不少實踐內容,所以參加課程的同學最好有一些編程經驗,會用 Python、PyTorch。除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • 原創推薦!B站最強學習資源匯總(數據科學,機器學習,Python)
    而且最重要的是,課程中布置了很多作業,而萬能的網友更是找出了作業答案,並將其公布在了留言區,可以說太良心了,簡直是沒錢報班學習者的福音。此外,由於該課程有不少實踐內容,所以參加課程的同學最好有一些編程經驗,會用 Python、PyTorch。除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • 經驗貼丨北大軟微20計算機考研370+分:9月份正式複習
    >/ 寫在前面的話 /學霸經驗貼,借著前人經驗前行,書寫著屬於自己的故事。小蘇邀請一批「高分學霸」分享經驗,希望同學們借鑑成功上岸學長學姐經歷以勉勵自己。他山之石可以攻玉,希望有越來越多人能夠和我們一起,發揮自己的餘熱。歡迎每一位獨特的你來分享經歷或經驗。 有一分熱,發一份光。
  • 吐血推薦,B站最強學習資源匯總(數據科學,機器學習,Python)
    而且最重要的是,課程中布置了很多作業,而萬能的網友更是找出了作業答案,並將其公布在了留言區,可以說太良心了,簡直是沒錢報班學習者的福音。此外,由於該課程有不少實踐內容,所以參加課程的同學最好有一些編程經驗,會用 Python、PyTorch。除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • 從業者誠懇推薦!10個數據科學領域學習資源
    全文共3412字,預計學習時長10分鐘我讀的是機械專業,大學後成為了一名機械工程師。我的職業生涯始於鋼鐵行業的一份核心工作。隨著我對這份工作恐懼漸深,我意識到這份工作不適合我,所以我制定了一個目標,大概在2011年進入分析和數據科學領域。從那時起,慕課就成了我學習新知識的首選平臺,通過它我收穫了很多新知識。好的也有和壞的也有。如今,到了2020年,數據科學領域的日新月異,不會缺少學習數據科學的資源。
  • 資源| 這是一份收藏量超過2萬6的計算機科學學習筆記
    機器之心整理作者:鄭永川參與:思源這是一份收藏量超過 2 萬 6、Fork 量超過 7 千的學習筆記。近日,中山大學鄭永川構建了一個「準備秋招學習筆記」的項目,該項目包含了計算機科學的大量精要知識與教程。該項目從基礎排序算法到編程理念展示了計算機科學的應知應會,該項目對機器學習開發者及入門讀者也非常有用,例如 Linux 系統、面向對象的編程、Git 工具和代碼可讀性等。這些筆記都是作者根據對各類書籍的理解,並記錄重要知識點而完成。
  • 原創 | 吐血推薦,B站最強學習資源匯總(數據科學,機器學習,python)
    但要說最受年輕人歡迎的學習資源網站,應該非B站莫屬。該平臺資源之豐富不用多說,並且全程無廣告,很多網友都表示自己通過B站學會了很多技能,比如Python、資料庫、Photoshop、英語考級、日語考級等。總之,一個B站就足夠解決絕大多數問題。下面,我們整理一波B站上關於數據科學、人工智慧領域的學習資料和值得關注的up主,歡迎大家收藏轉發哦~
  • 計算機科學專業選什麼大學好?20所計算機科學與技術大學推薦
    計算機科學與技術可從事計算機與應用工程技術、計算機硬體技術、計算機軟體技術、軟體開發、研發工程師、工程監理、工程部經理、銷售工程師、研發工程師等等。哪些大學的計算機科學與技術專業好?據雙一流學科名單顯示,清華大學、北京航空航天大學、西安電子科技大學的計算機科學與技術專業紛紛上榜。本文包含計算機科學與技術專業的類似專業、培養目標以及專業大學列表推薦各個方面,綜合分析填報計算機科學與技術專業選什麼大學好?
  • 經驗貼丨北大軟微20計算機跨考392分辭職考研
    ,未經同意,嚴禁轉載和抄襲,違者將追究其法律責任】/ 寫在前面的話 /學霸經驗貼,借著前人經驗前行,書寫著屬於自己的故事。小蘇邀請一批「高分學霸」分享經驗,希望同學們借鑑成功上岸學長學姐經歷以勉勵自己。他山之石可以攻玉,希望有越來越多人能夠和我們一起,發揮自己的餘熱。歡迎每一位獨特的你來分享經歷或經驗。 有一分熱,發一份光。
  • 想了解計算機的底層原理?這些資源通俗易懂又有趣
    不過,因為對於大多數非科班同學來說,很難有一兩年完整的學習時間,系統學習這麼多的科目;與此同時,即使是科班同學,大多數在學校學習的時候,因為沒有實際的項目工程經驗,所以對這些課程真正的用處也沒有深刻理解,導致學得非常粗淺。很多同學在工作以後,都希望能夠快速高效地「回爐」這些課程的精華內容。在這篇文章中,我就向大家推薦一系列學習計算機底層原理的資源。
  • 軟體應用丨吐血推薦,B站最強學習資源匯總(數據科學,機器學習,python)
    而且最重要的是,課程中布置了很多作業,而萬能的網友更是找出了作業答案,並將其公布在了留言區,可以說太良心了,簡直是沒錢報班學習者的福音。此外,由於該課程有不少實踐內容,所以參加課程的同學最好有一些編程經驗,會用 Python、PyTorch。除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • UOW 伍倫貢大學,計算機科學雙學位課程推薦
    傳播、媒體與計算機科學學士雙學位傳播與媒體學士學位-計算機科學學士學位將讓學生審視澳洲本地和全球媒體產業、受眾和實踐的崛起,並評論它們在技術、政策、社會和文化方面的影響。它將結合理論基礎和實際方法的計算和應用。學生將學習設計方法和工具,並編寫各種程序,如移動數據應用程式、遊戲設計、信息管理和大數據等。
  • 環境科學本科一戰法考經驗貼
    作者簡介:華東師範大學生態與環境科學學院2016級環境科學專業畢業生,華東政法大學經濟法學院環境與資源保護法學碩士在讀
  • B站最強學習資源匯總(Python,數據科學,機器學習)
    而且最重要的是,課程中布置了很多作業,而萬能的網友更是找出了作業答案,並將其公布在了留言區,可以說太良心了,簡直是沒錢報班學習者的福音。此外,由於該課程有不少實踐內容,所以參加課程的同學最好有一些編程經驗,會用 Python、PyTorch。除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • 最系統的計算機科學專業學習規劃:史丹福大學,UCB等世界一流大學CS課程 | 附教材書單
    自學計算機相關課程又不知道從何入手?現在,最系統的計算機學習路線圖來啦!9門計算機必學基礎學科清單,附斯坦福、伯克利、麻省理工學院等名校視頻課程和參考教材,CS成神之路近在眼前。只要閉眼跟著線路圖學,你也能擁有在世界一流大學學習計算機科學的完美體驗。自學教材推薦來看看,要學習的9門學科中,都有哪些相關資料。(文末附書籍連結)
  • 一份點讚上千的《算法》講義,來自20年教學經驗的UIUC計算機教授
    曉查 發自 凹非寺 量子位 出品 | 公眾號 QbitAI一位從1998年就開始講課的老教授Jeff Erickson,把他20年來在UIUC講課的內容整理成了一本算法書,名字簡單粗暴,就叫《算法》(Algorithms)。
  • 計算機學院複試經驗分享!一定要看!
    小招提醒大家,等待成績的同時,更是要積極調整狀態,認真的投入到複試的準備中哦~今天小招為大家帶來的是計算機科學與技術學院的複試經驗貼,希望能夠助力你備戰複試,穩步登科~溫馨提示:以下經驗為考生2020年複試所得,僅供參考,2021年具體複試細則請關注【華中科技大學研究生招生網】和【計算機科學與技術學院官網】。
  • 英國東英吉利大學的計算機科學專業怎麼樣?
    計算機科學是我們生活中很重要的一部分,它給我們的生活和工作帶來了非常多的便利。如果你想在大學時期學習計算機科學專業,那麼我給你推薦的是英國東英吉利亞大學計算機科學專業。接下來對英國東英吉利亞大學計算機科學專業感興趣的小夥伴們就跟我一起走進英國東英吉利亞大學計算機科學專業看一看吧。