Re: [心得] CS 自學網站/資源 推薦

看板studyabroad (留學)作者 (@@)時間7年前 (2017/11/28 09:14), 編輯推噓9(9015)
留言24則, 12人參與, 7年前最新討論串2/3 (看更多)
這邊有些科目清單 供大家參考 程式語言: C/C++, Java, Python 基本上這4個會了 要學其他語言就不是難事 核心知識: Data structure, Algorithm, Operating System, Computer Organization 核心知識這四門課我覺得是必備 很多人說後兩門不一定需要 但我不同意 會覺得只需要前兩門的多半是因為近年來美國的面試都考coding而已 沒有Operating System 那就搞不懂process/thread/paging/virtual memory 沒有Computer Organization 那就搞不懂system hierarchy/caching/cpu ※ 引述《deacon (deacon)》之銘言: : 各位版大好, : 有鑒於CS領域越來越熱門, : 想要轉領域的人更是不在少數, : 我想分享一些免費的線上教學網站, : 裡頭含有各種程式語言的教學,以及一些CS必修的基礎課。 : 分享的動機其實很簡單, : 除了給一些很確定想轉CS的人,有更多的學習管道外, : 也想讓那些還不確定想不想轉的人,有一點點學習的方向, : 至少先接觸看看一些CS的東西,避開轉領域後才發現沒興趣的風險。 : 如果直接零零總總列出一大堆網站,我想可能很多人會不知道從何開始, : 也許光看到一堆專有名詞眼睛就花了。 : 是故,以下我會列出我當初自學時的進度,以及陸陸續續發現的網站, : 如果有板大們有更好的資源也歡迎提供,謝謝。 : 一、 什麼都不會的階段,例如連C/C++、OOP是什麼都不知道 : 在這個階段,我主要看了以下兩個online course: : (1) Introduction to Computer Science and Programming - MIT Open Course : https://www.youtube.com/watch?v=k6U-i4gXkLM
: 這個課程算是MIT CS系裡的CS 101, : 裡頭教的程式語言是目前非常熱門的Python, : 如果按部就班的看完這個課程,會學到非常多的coding技巧. : (2) CS50 - Havard : https://www.youtube.com/watch?v=o4SGkB_8fFs&t=3580s
: 我沒有看完Havard cs50這個系列,所以不便在這邊提出太多的心得。 : 不過對於CS零基礎的人來說,這門課也是很多人一開始的選擇。 : 個人感想是對於上述的兩堂課,二擇一即可, : 當然如果有時間的話,都看過最好。 : (3) Crash Course - Computer Science (給連計概都沒修過的人) : https://www.youtube.com/watch?v=tpIctyqH29Q
: 這是一個在youtube上面的頻道,主要是對於CS這個領域作大致的介紹, : 有一點像計算機概論,非常適合超級新手, : 看完這個playlist後,應該會對於電腦的原理有種豁然開朗的感覺。 : 目前整個系列有37部影片,而且看來還在陸續新增中。 : 二、 給對於programming這檔事有一點頭緒的人 : (1) thenewboston - 有各種程式語言的基礎教學 : https://thenewboston.com/ : 是的,你沒看錯,這個網站有近乎各種程式語言的基礎教學, : 舉凡 C/C++、C#、Java、Javascript、Swift、Python、HTML5/CSS3 等等, : 只要你想得到的,叫得出名字的熱門程式語言這裡面都有。 : 當初我發現這個網站時,真的有種如獲至寶的感覺, : 雖然幾乎都是beginner level,但基本的syntax都有cover到, : 有的時候學程式語言,缺的也就是這個臨門一腳而已。 : 聽說在印度,印度人都尊稱這個網站的老師Bucky一聲"sir", : 你就知道這個網站有多屌了 : (2) Stack Overflow : https://stackoverflow.com/ : 相信每個會寫程式的人,一定都知道這個網站, : 但這篇的目的是給不會寫程式的人嘛, : 簡而言之,如果你在寫code的時候遇到了一點困難, : po上這個網站就對了,九成九會有高手幫你解答 : 三、 CS的一些基礎課 : 相信很多人會對於學CS該修什麼基礎課有疑問, : 我當初為了該修什麼課,也花了不少時間在找這方面的資訊, : 最後發現大部分的人都會修下列幾堂: : Linear Algebra, Discrete Math, Data Structure & Algorithms : 總而言之,基礎課上面幾個是必修的, : 當然也是會有人堅持Operating Systems等等也要修, : 那些就見仁見智了,或多或少都會有點爭議, : 畢竟沒有一定的準則 : 以下列出我自己看過的線上教學課程,清一色都是MIT Open Course的, : 如果有其他更適合的資源,也希望版大們可以補充。 : (1) Linear Algebra - MIT Open Course : https://www.youtube.com/watch?v=ZK3O402wf1c
: (2) Mathematics for CS (Discrete Math) - MIT Open Course : https://www.youtube.com/watch?v=L3LMbpZIKhQ
: (3) Introduction to Algorithms - MIT Open Course : https://www.youtube.com/watch?v=HtSuA80QTyo&t=127s
: 以上是我覺得對於自學CS非常有幫助的網站, : 雖然不確定適不適合po在這邊,但我想這些網站都是國外的教學網站, : 某種程度上應該也算studyabroad了。 : 尤其板上每年都會看到很多文章,開頭就是完全沒學過CS但想轉過去, : 然後在留言的部分,就會看到很多版大建議先去修個基礎課。 : 所以這篇文章對於初學者來說,我想或多或少應該會有點幫助。 : 如果有其他版大們有更好的資源及建議,希望也可以分享,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 100.35.220.180 ※ 文章網址: https://www.ptt.cc/bbs/studyabroad/M.1511831672.A.2E7.html

11/28 09:25, 7年前 , 1F
大大一定是kernel guy 做web真心不需要瞭解這些
11/28 09:25, 1F

11/28 09:52, 7年前 , 2F
推~~
11/28 09:52, 2F

11/28 09:56, 7年前 , 3F
OS應該有包含計組那些部分~
11/28 09:56, 3F

11/28 10:43, 7年前 , 4F
我也覺得後面兩門沒修過超怪 我同意web不需要啦
11/28 10:43, 4F

11/28 10:44, 7年前 , 5F
但我總覺得身為工程師起碼要懂電腦吧XD
11/28 10:44, 5F

11/28 10:45, 7年前 , 6F
只是修過跟專精完全搭不上邊 但至少懂電腦基本運作
11/28 10:45, 6F

11/28 10:48, 7年前 , 7F
做web有需要念碩士嗎@@
11/28 10:48, 7F

11/28 10:51, 7年前 , 8F
做SWE也不需要phd亞...
11/28 10:51, 8F

11/28 10:52, 7年前 , 9F
現在都沒年輕人想做底層的嗚嗚嗚
11/28 10:52, 9F

11/28 13:13, 7年前 , 10F
學界其實有想要為js優化CPU架構 不過業界興趣缺缺
11/28 13:13, 10F

11/28 14:26, 7年前 , 11F
Haskell:
11/28 14:26, 11F

11/28 14:27, 7年前 , 12F
其實做純理論例如機器學習比起後面兩個我反而比較建議
11/28 14:27, 12F

11/28 14:27, 7年前 , 13F
把數學唸好
11/28 14:27, 13F

11/28 14:54, 7年前 , 14F
做ML也不需要懂後面那兩門
11/28 14:54, 14F

11/28 14:55, 7年前 , 15F
那些底層的東西在美國根本不紅,現在ML,CV
11/28 14:55, 15F

11/28 14:55, 7年前 , 16F
正紅,把數學學好比懂那兩門更容易找
11/28 14:55, 16F

11/28 17:34, 7年前 , 17F
遇過不懂OS的寫multithreading說這compiler有問題
11/28 17:34, 17F

11/28 17:34, 7年前 , 18F
怎沒照我寫的順序執行... 而且還工作十年了
11/28 17:34, 18F

11/29 00:38, 7年前 , 19F
如果是最近SE的話 還蠻多要加問AGILE的東西
11/29 00:38, 19F

12/01 15:31, 7年前 , 20F
..你那四個語言都是static吧 至少選一個dynamic的語言
12/01 15:31, 20F

12/02 16:57, 7年前 , 21F
Python是static programming language?????
12/02 16:57, 21F

12/04 06:38, 7年前 , 22F
我覺得底層語言很重要,至少C++夠強,沒人會懷疑你其他
12/04 06:38, 22F

12/04 06:40, 7年前 , 23F
語言的理解能力,只熟python 面試官一定要你用C解
12/04 06:40, 23F

12/04 06:40, 7年前 , 24F
掛白板的機會很高呀
12/04 06:40, 24F
文章代碼(AID): #1Q7BXuBd (studyabroad)
討論串 (同標題文章)
文章代碼(AID): #1Q7BXuBd (studyabroad)