破除迷思系列:Programming = Computer Science ?
2018-11-01
一個大家經常會問到Tecky Academy的問題是,我們程式設計微學位課程跟大學的電腦科學學位有甚麼不同?為何大學要讀四年,Tecky卻是在三個月完成? 其實,歸根究柢原因是大學教的是電腦科學(Computer Science) ,Tecky教的是程式設計(Programming) 。
Computer Science vs Programming
電腦科學 vs 程式設計
電腦科學作為二十世紀新興學科,其實包括許多不同的分支:程式設計(Programming)、人工智能(Artificial Intelligence)、計算理論(Theory of Computation),以至於電腦保安(Cybersecurity)。
由上圖可見,其實程式設計只是電腦科學的其中一小部份,就正如你只在中上環一帶閒逛,又怎能說自己已遊遍香港呢?正因為電腦科學涵蓋的範圍很大,所以修讀電腦科學需要涉獵許多不同的領域,亦因此需要有一定的數學能力以理解抽象的計算理論。
值得留意的是,軟件開發(Software Development) 、除錯(Debugging)、數據結構(Data Structure)、軟件測試(Software Testing)等技能,同時包括於電腦科學及程式設計之內。而相關技能所需的主要是邏輯理解能力而非數學能力。這亦解釋了為何有許多本身並非修讀電腦科學的朋友,靠著平常個人鑽研,亦有能力成為軟件工程師。
圖片來源:http://programarcadegames.com/index.php?showpart=0
職場前景比較
由於所着重的不同,學習電腦科學及學習程式設計比較適合不同的職位:
電腦科學的知識由於涵蓋範圍比較大,不論在程式設計、數據科學(Data Science)、電腦保安都可以有發展的空間,但由於在程式設計上的實踐不足,如果要在程式設計上發展,須要再花一些時間重新熟習程式設計的範疇。
而學習程式設計由於專攻程式設計一門,在軟件測試、程式碼重構(Code refactoring)方面可以着墨更多,因此如果想在程式設計一門發展,其實直接學習程式設計更為適合。 而由上圖可見,由於Programming 相關的工作空缺近年愈趨嚴重,直接學習程式設計亦未嘗不可。
留言
閱讀更多
破除迷思系列:用Command Line 的都是Hacker?
2018-11-13
大家如果有Programmer 的朋友,你應該早就發現他們使用的軟件與平常電腦使用者很不同,其中最引人注目的就是一個黑底淺色字、無任何圖案的軟件,而你的Programmer 朋友在上面飛速打字,然後密密麻麻的文字就慢慢向上褪出螢幕,大家總會忍唔住補上一句:「嘩!好似Matrix啊!」 或者「你係Hacker嚟架?」
Data Science? AI ? Machine Learning? 到底有何分別?
2018-11-23
近幾年大家經常聽到 Data Science(數據科學)、AI(人工智能)、Machine Learning(機器學習)、 Deep Learning(深度學習)等等詞彙, 以上的名詞的意思好像差不多,但又並非完全一樣