看板 studyabroad 關於我們 聯絡資訊
這邊有些科目清單 供大家參考 程式語言: 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
bluebluelan: 大大一定是kernel guy 做web真心不需要瞭解這些 11/28 09:25
mmonkeyboyy: 推~~ 11/28 09:52
ahahahahah: OS應該有包含計組那些部分~ 11/28 09:56
fishlinghu: 我也覺得後面兩門沒修過超怪 我同意web不需要啦 11/28 10:43
fishlinghu: 但我總覺得身為工程師起碼要懂電腦吧XD 11/28 10:44
fishlinghu: 只是修過跟專精完全搭不上邊 但至少懂電腦基本運作 11/28 10:45
pups003: 做web有需要念碩士嗎@@ 11/28 10:48
bluebluelan: 做SWE也不需要phd亞... 11/28 10:51
bluebluelan: 現在都沒年輕人想做底層的嗚嗚嗚 11/28 10:52
hsnuyi: 學界其實有想要為js優化CPU架構 不過業界興趣缺缺 11/28 13:13
cybermeow: Haskell: 11/28 14:26
cybermeow: 其實做純理論例如機器學習比起後面兩個我反而比較建議 11/28 14:27
cybermeow: 把數學唸好 11/28 14:27
MAGICMCGRADY: 做ML也不需要懂後面那兩門 11/28 14:54
MAGICMCGRADY: 那些底層的東西在美國根本不紅,現在ML,CV 11/28 14:55
MAGICMCGRADY: 正紅,把數學學好比懂那兩門更容易找 11/28 14:55
stitchris: 遇過不懂OS的寫multithreading說這compiler有問題 11/28 17:34
stitchris: 怎沒照我寫的順序執行... 而且還工作十年了 11/28 17:34
mmonkeyboyy: 如果是最近SE的話 還蠻多要加問AGILE的東西 11/29 00:38
keke0421: ..你那四個語言都是static吧 至少選一個dynamic的語言 12/01 15:31
wawi2: Python是static programming language????? 12/02 16:57
acgotaku: 我覺得底層語言很重要,至少C++夠強,沒人會懷疑你其他 12/04 06:38
acgotaku: 語言的理解能力,只熟python 面試官一定要你用C解 12/04 06:40
acgotaku: 掛白板的機會很高呀 12/04 06:40