時序入夏又屆莘莘學子升大學申請放榜時刻,選擇理工科系的同學面對標題這類的學門往往會有許多疑問?父母如果沒有經歷過可能也無法給予意見。最近有朋友的女兒準備升高二也準備在未來選擇理工,於是開始積極在校外修習APCS (Advanced Placement Computer Science) 以幫自己將來申請大學資訊相關科系加分。
其實AP是仿效美國的高中升大學的學制,在常規課程外如果學生能選修一些高等先修課程就能為其在申請大學過程加分。在熱門的理工科系中到底要選擇哪一個科系往往是許多高中生的困擾。我個人在物理、電機、與電腦科學剛好都有相關的碩士學位,在此就分享我的經驗。
如果興趣在電子電機,我會選擇大學先唸物理外加一些電機電子的選修課。在台灣出現大學氾濫現象之下,現在攻讀碩士已經變成常態,所以如果應用科學是你的興趣就可以在研究所再選讀電機電子類的,由於電機電子幾乎都是基植於物理的基礎理論,這樣你會發覺唸起來很札實。另外我發現數學好的人唸甚麼都可以上手,因為說穿了理工的世界多以數學為底,理工唸到博士尤其是電腦博士最後都是在搞數學。之前的工作需要找影像處理演算法的高手,我都會先從數學博士的候選人下手。所以說數學是理工之母也不為過。話說回來,數學與物理都不是容易唸的科系甚至過程會因為難與現實應用連結讓人覺得不知道"為何而戰",的確是需要一些勇氣投入學習。但是當你理論札實後應用就變得相對簡單。舉個電機電子幾乎必定會碰上的客DSP (Digital Signal Processing,數位訊號處裡),經常是一門讓理論基礎不足的工科學生聞之色變的科目。
談到APCS中的CS (Computer Science,電腦科學),電腦科學這個學門就可以是與硬體(hardware)劃清界線俗稱軟體(software)或是程式設計(programming)。除非唸到博士,要不然大部分的學習與工作中,除了一般的邏輯思考外你不會碰觸的物理數學之類的理論東西除非搞的是演算法像是人工智慧或影像處理。軟體的優點就是它的缺點,為什麼這樣說?優點就是隨時隨地只要有台電腦就可以開始學,剩下的就是你的想像力能夠完成甚麼樣的程式了。缺點是這代表任何人只要有興趣加上努力都可以避開許多硬體設備的門檻進入軟體的世界,競爭相對大但市場需求量也是遠高於硬體,放眼現今市場上的巨無霸公司都是軟體或半軟體公司 (Microsoft、Amazon、Facebook、Google、Apple等),市值都是硬體公司的數倍,連特斯拉(Tesla)都因其成功的AI自駕軟體技術已幾乎被歸類成半軟體公司未來十年將是Apple的勁敵。當然最後功力因資質天分而異。早年自己在加州矽谷工作時,美國同事軟體工程師中極少數是電腦科學科班出身,只有我們亞裔因赴美攻讀電腦碩士畢業後留下工作算是科班出身,所以最好能定位自己在軟體中長時間專長的領域在市場中會較有競爭性,反觀硬體工程師清一色都是電機電子科系畢業的。還記得Google還是個小公司時有次在矽谷Cisco會議室辦了一個研討會,講者是當時Google的資訊長(CIO),介紹說的背景是腦神經外科醫師,台下聽眾包含我都驚訝不已,後來他說其實自己只是應用腦神經網路的相同概念去管理Google數以萬計的伺服器主機,這讓我印象深刻。
在當今市場不斷的在強調人工智慧與機器人在智慧製造的突破與人工取代性,無論如何智慧的後面就是程式就是軟體,除非有一天人工智慧可以連程式都由機器產出,軟體人才的需求在可預見的未來只會以幾何級數的成長。