看板 SENIORHIGH 關於我們 聯絡資訊
偶4學店森la 上課上到一半看到這篇文,想發表一下偶廢廢的意見,但4偶其實沒讀過資工系,只是剛好在學電腦而已,所以稍微看看就可以了 la 在高中版這種醫牙電資雲集的地方講這種垃圾話會不會被戰啊 QQ 以下均為個人意見,沒有正確與否,建議讀者多方參考,另外我盡可能新手友善一點,如果還是有看不懂的可以問我沒關係 先說結論,要讀電腦科學不一定要喜歡寫程式,也沒必要是程式神,只要不要排斥就好。 我目前是高三升大一,非資工系(考不上 QQ),從國中時就有在寫程式,高中開始接觸電腦科學的東西,目前主攻資訊安全和密碼學。 註:本文用電腦科學(Computer Science,CS,就資工 la)代表廣義與資訊有關的學問,不特別區分 CS CE IE SE 之類的。 -----以下正文----- 零、學 CS 需要很強的程式能力嗎 CS 是在非常廣泛地研究電腦領域,從非常數學的計算理論、演算法、平行計算,到很實務的程式語言、網路、作業系統,還有大家最喜歡的人工智慧等等,都是 CS 的範疇。CS 主要在研究如何使用電腦去實現某個功能,例如現在 A 與 B 電腦想要傳資料,該怎麼傳(網路協定)、怎麼避免被別人竊聽(密碼學)、要怎麼用少一點網路流量(壓縮演算法),這些東西程式新手也能學會,不過一些強者會實際寫程式來實作這些東西,程式能力普通的人要去實作,會比較吃力。 雖然學好 CS 不一定要有超強的程式能力,甚至也不一定要喜歡寫程式,不要過於排斥就好,但要成為軟體工程師,還是要有以後得一直面對程式的心理準備,而且在資訊產業,強者和弱者的薪資待遇差異非常大。但,沒有人逼你成為軟體工程師啊。 CS 領域還有許多工作,像是資料分析、機器學習、資訊安全、資料庫管理等等,都沒有很高的程式能力門檻,還有像是系統維運之類的工作更是只要有基礎程式能力就好。 以我自己來說,我很喜歡密碼學,常常是花了好幾個小時在讀數學,然後再花一點時間用程式實作出來,少則二三十行,多則一百多行的程式而已,根本沒多難。事實上我程式功力很差,也不喜歡寫程式,但還是學 CS 學得很開心。我在研究資訊安全時,比起寫程式,更常是在研究語言特性,思考程式邏輯來找漏洞,做 Code Review,或是通靈(?),通常都是想到潛在漏洞再寫個簡單的程式去測,研究的時間遠大於寫程式的時間。 或像是在 Machine Learning (ML) ,反正就 Tensorflow(一個 ML 的函式庫)拉下來,Python code 寫一寫,重點是背後的那些數學,研究各種神經網路,瞭解統計等等,利用這些知識設計出好的演算法遠比程式寫得好重要。 題外話,上個月去旁聽某大學的暑期課,在教計算理論,是資訊科系的課,可是兩個星期的課下來我寫得程式大概不超過 30 行吧,然後學數學和寫各種證明到心 hen 累,我都開始懷疑我不適合讀資訊了 QQ 總而言之,程式不是一切,學 CS 不需要有超級強的程式能力,也不需要喜歡寫程式,但至少不能排斥。當然,如果很會寫程式,對於學習以及就業有很大的幫助。 一、讀 CS 需要很強的數學能力嗎 讀 CS,數學很重要,但要研究 CS,有很多領域沒有很高的數學門檻,像是作業系統、網路架構與協定、編譯器之類的,都不需要是數學神,當然也有一些領域是和數學有密切關係的,像是 ML、演算法設計與分析、密碼學等等。 然而這並不意味著高中數學好就可以讀好 CS。高中的數學和大學的數學差非常多,很多高中的數學好手到大學優勢就沒了,所以不管你現在數學好不好,到了 CS 都要有被數學神電爆的心理準備。然後,讀 CS 數學好真的很吃香,數學不好很痛苦 QQ CS 常用到的數學包含微積分、線性代數、工程數學、離散數學、機率統計、圖論等等,這些都和高中數學有很大的差異,但也不是說高中數學就不重要,有時還是會用上的,例如 Shamir's Secret Sharing 就是用了高一的拉格朗日插值法,高中數學還是好好學吧。 二、該怎麼知道自己適不適合讀 CS 以下是轉述資工系的朋友所言 + 個人意見。 電腦科學和寫程式有很大的差別,就像作文高手不一定就讀得懂詩經一樣,很會寫程式不代表可以與電腦科學中那些數學打交道。 對於想讀 CS 的人,給一點點建議: 1. 去翻一下一些程式入門書,Python, JS 之類的,新手除非要打競賽不然不要碰 C / C++,會太挫折 2. 翻一下演算法的書或文章,研究他邏輯怎麼跑就好,行有餘力再去看程式 3. 對於有一定程度的人,可以找學術論文來讀 如果上面三件事都做了還沒有澆熄你的熱情,那就可以考慮看看 CS 囉。 當然並不是說做不到就不能讀 CS,只是要有點心理準備,一旦踏進這個領域,就免不了要和這些可怕的東西相處。 然後要知道,CS 就是整天都在碰數學及程式,寫個一整頁的數學證明,或是 debug 到半夜都有可能,雖然不必超級喜歡寫程式和研究數學,但討厭程式或數學的話會過得很辛苦。 之前聽台大資工的教授說,每年台大資工的新生大概會有一成出現適應不良的問題,讀 CS 前還是想清楚吧。 三、CS 真的有大家講得那麼好嗎 確實未來是資訊化的時代,人工智慧也會崛起,讀 CS 看似前途光明。 但我想換一個方式來講,在臺灣,軟體工程師(純軟)的月薪,高手可能十幾二十萬沒問題,但新手起薪大概才三萬多,如果沒有成為頂尖,其實薪水根本不會高到哪裡去,還要提早面臨中年危機,等三四十歲沒爬到管理層就要被年輕人與他們新鮮的肝超越了。 在美國,CS 競爭非常激烈,大學畢業已經很難找到工作了,連碩士都有困難,如果要進好一點的公司,都得讀到博士,而這幾年 top10 的 CS PhD 超級難投,甚至還有台大資工的卷神 CS top 10 全死的(不過投 PhD 比較多是看發表和推薦信,感謝 Apache 補充)。就算讀了 PhD,如果要在 Machine Learning 之類的紅海殺出一條生路,能投上頂級期刊的論文是少不了的。 但是,學歷也不是一切。有趣的是,Stackoverflow(工程師的 Yahoo 知識 +)之前做過調查,專業軟體工程師中,只有 64% 的人是 CS 學歷畢業的。大學沒畢業能力就很強的工程師也時有所聞,更不用說一堆大學其他科系畢業後才轉換跑道的工程師,其中也有一些人發展得很好,CS 領域最大的優勢是,學歷的重要性不再如以往無法動搖,能力夠就算沒很好的學歷也是能有一片天的。不過還是要強調,想進 Facebook, Google 之類的大公司,學歷仍然很重要。 最後,行行出狀元,想要有高收入不一定要讀 CS,讀 CS 不必然會有高收入,也有聽過財經系大學生的到外商實習就月薪 100k 了。然後,如果沒興趣,讀 CS 真的會很痛苦,還沒選系的希望能謹慎思考,已經選了,如果真的不適合也可以趕快換一個方向。 話說,這年頭蠻重視跨領域人才的,就算不讀 CS,去修一點程式課也好,讀了 CS 也建議修一些外系的課,強者我朋友清大計量財務金融學系雙主修資工系,現在在銀行也有非常好的發展,羨慕 QQ。 結果我打完時都下課了,坐在系館門口打完 ==” ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.4.208 ※ 文章網址: https://www.ptt.cc/bbs/SENIORHIGH/M.1533207044.A.EDF.html
lee457088 : 色碼是用Ctrl+C 08/02 18:51
lee457088 : 而且明明就112學店屁 08/02 18:52
lee457088 : 這樣叫我們真正一路學店上來的情何以堪嗚嗚QQQ 08/02 18:52
※ 編輯: s3131212 (140.112.4.206), 08/02/2018 18:57:49
hmenri : 高三升大一現在就可以住學校嗎? 08/02 19:06
先來大學聽暑期課順便發廢文而已
unmolk : 這經歷跟人脈和ip還是先跪再說 08/02 19:08
leo42054205 : 還在想論述這麼有條理的人是會讀什麼學店 就看到112 08/02 19:09
leo42054205 : ip(跪 08/02 19:09
unmolk : 這個感覺是特殊班的背景 不過都該跪 08/02 19:14
沒,我是私校升學班,還考不上 112CS ,嗚嗚
plsmaop : 為什麼數學系沒有計算理論的課R 08/02 19:21
※ 編輯: s3131212 (39.12.72.254), 08/02/2018 19:44:08
unmolk : 拍拍QQ我也上不了112cs嗚嗚 08/02 20:27
kkkuccu : 條例清晰給推 台大除了醫牙電資都是學店(O 08/02 20:39
DesertGold : 看你申請什麼職位,如果是research相關的當然博士較 08/02 20:57
DesertGold : 好,但是一般軟體工程師有學士 碩士的學歷就足夠了 08/02 20:58
臺灣的狀況我不清楚,之前在 studyabroad 版有看到有不少職位學士沒什麼機會
AuroraERo : 財金系去哪間外商實習有100K 我也想去 08/02 22:20
花X銀行 金融業就兩極化啊,高的超高,低的超低
Bearr3z : hi allen 08/02 22:38
Hi
Apache : 美國IT業沒有飽和吧 飽和的只是簽證 08/02 22:52
是阿帕契大大 <(__)> 我改成「競爭激烈」了,這樣應該比較符合實情,感謝指教
Apache : PhD跟書卷關係也不大 高度取決於發表跟推薦信 08/02 22:54
已修正內文,謝謝補充 :)
Apache : 你講的比較像是DS的狀況 08/02 22:58
是喔 OAO 其實我沒碰過 DS 欸 ※ 編輯: s3131212 (1.34.188.165), 08/02/2018 23:42:06
Bearr3z : 那你學會玩大老二了嗎 08/02 23:48
hozzzz : 推好文 08/03 02:19
catinclay : FB我不知道但G對學歷的要求真的還好辣 08/03 04:14
catinclay : oracle或是MS"感覺"更看重學歷一點 08/03 04:15
rice9547 : 跪個大神 <(_ _)> 08/03 10:00
rice9547 : 跪個大神 <(_ _)> 08/03 10:01
xdlow : 抓到了 是Allen耶 08/03 11:48
DesertGold : 重點是你的CODING能力, CODING能力夠強學士就能進 08/03 16:01
DesertGold : 谷歌了 08/03 16:02
DesertGold : 美國大公司通常是先審核你的學校 08/03 16:06
DesertGold : 之後就進面試階段 08/03 16:06
DesertGold : 面試就是考你的程式能力 08/03 16:07
DesertGold : research相關的職位當然學士沒機會 08/03 16:09
DesertGold : 但純RESEARCH的職位基本上也不會太多 08/03 16:09
DesertGold : 美國一般的軟體工程師 學歷過了第一階段 08/03 16:11
DesertGold : 後面面試就是看你自己的coding能力 08/03 16:11
DesertGold : 跟你是學士 碩士 還是博士 關係不大 08/03 16:12
youtuuube000: 也不一定要看演算法決定適不適合唸資工啦... 08/03 17:29
youtuuube000: 我很討厭演算法但系統之類的課就念的蠻開心的 08/03 17:30
youtuuube000: 也許有人對架構類型的課比較有興趣但很討厭數學類型 08/03 17:31
youtuuube000: 的課 08/03 17:31
ggyyd : 現在機械化工很吃香 高中生不妨考慮看看 08/03 22:07
andy0219 : 140.112 羨慕… 08/04 03:41