計算機專業儼然成為很多學生的首選專業,說到計算機類專業,這個稱呼其實非常籠統,導致很多學生和家長在留學選專業的時候一頭霧水,區分不清。
比如以下幾個專業:
1、CS (computer Science )計算機科學
2、CE (Computer Engineering) 計算機工程
3、EE (Electrical Engineering ) 電氣工程
4、SE (SoftwareEngineering) 軟體工程
5、IT (InternetTechnology) 信息技術
6、DS (DataScienCE) 數據科學
7、BA( BusinessAnalysis) 商業分析
8、Statistics 統計學
長得像,但又不一樣。這也是很多想申CS專業同學經常迷糊的專業,那我們今天來說說以上幾組比較容易混淆的專業,都有什麼區別。再選擇專業的時候,就不會傻傻分不清啦!
專業介紹
01 ComputerScience
即計算機科學,是系統性研究信息與計算的理論基礎以及它們在計算機系統中如何實現與應用的實用技術的學科。
主要的研究領域包括:人工智慧、計算機體系結構、人機交互、軟體工程、數據與資料庫、多媒體(計算機圖形學等)、網路、信息安全、管理信息系統MIS、生物信息、計算理論等。
02 Electrical Engineering
習慣上分為Electronic Engineering (電子工程)和Power Engineering (電力工程),也就是我們常說的弱電和強電(弱電是用於信息傳遞,強電是用作一種動力能源。)
維基百科給出的定義是以電子學、電磁學等物理學分支為基礎,涵蓋電子學、電子計算機、電力工程、電信、控制工程、信號處理等子領域的一門工程學。
主要的研究分支有:通信與網路、信號處理、電子學、集成電路、光電子與光學、電力技術、電磁學、微結構、材料與裝置、生物工程等。
單純地從兩個專業的研究分支的名稱來看,大家也能發現一些端倪。兩個專業存在很多交叉的地方,比如計算機里有圖形學,EE里也有圖像處理、信號處理等,比如計算機里有網路,EE里也有網路,雖然側重不完全相同。
03 ComputerEngineering
它也可以被理解成是CS和EE的交集的主要部分。維基百科給出的定義是一個以電機工程學和計算機科學的部分交叉領域為內容的工程學,其主要任務是設計及實現計算機系統。
加州大學洛杉磯分校官網對於CS和CE的區別,給出的解釋是,CE適合那些有著很好的CS基礎,同時又對computer system hardware比較感興趣的人。在美國,CE有時會開設在CS系下,稱為是Computer Scienceand Engineering 系,也有的會開設在EE系下,稱作是Electrical andComputer Engineering 系。而純EE則多指的是EE系有但是CS系沒有的方向,比如電磁、半導體、光電、強電以及其他偏器件、材料、物理的方向等。
04 SoftwareEngineering
軟體工程,研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。是CS下的一個分支領域,側重工程應用和實現。該方向很熱門,也是跟碼農的工作最接近的一個方向。
05 IT
即信息技術,是主要用於管理和處理信息所採用的各種技術總稱,主要是應用計算機科學和通信技術來設計、開發、安裝和實施信息系統及應用軟體。雖然IT經常用到CS、SE 和信息系統的相關技術,但是它的獨特之處在於它專註於對終端的用戶施加影響,而不是專註於創造新的技術。
計算機科學和一些與之相關的項目是以技術為核心的。computerscientists總是會深入探究技術的物理層面和功能層面的表現,而theprofessional關心的卻是如何將技術應用以解決人們的問題。
06 Data Science / Business Analysis / Statistics
數據科學,是一門近幾年熱度在持續上升的交叉學科。是一門利用數據學習知識的學科,其目標是通過從數據中提取出有價值的部分來生產數據產品。它結合了諸多領域中的理論和技術,包括應用數學,統計,模式識別,機器學習,數據可視化,數據倉庫,以及高性能計算。
對於數據科學項目來說,完美的申請者是同時具備很強的數學知識、統計知識和計算機知識。有數學知識作為理論基礎,有統計方法作為對數據分析的工具,有計算機知識作為編程實現的手段。
那我們再深入一步,隨著大數據時代的帶來,我們經常會處理海量的數據,而對這些海量的數據進行分析的最終目的是什麼,自然是希望他能夠指導我們的決策。這就到了商業分析BusinessAnalysis 的層面。因此,商業分析項目和數據科學項目學的內容很接近,但又互有側重。
商業分析項目更加側重利用對數據的分析指導商業決策。在項目的課程設置中也會有偏商科類的課程設置,很多商科的學生會申請這一項目。每年,很多對數據科學感興趣的申請者同時會考慮申一些商業分析的碩士,因為單獨的數據科學項目並沒有那麼多。很多學校的數據科學作為一個分支開設在CS或者統計系下,只是一個concentration。不過,隨著這一研究領域的日趨熱門,越來越多的院校開始開設單獨的數據科學項目。
而統計,則就到了更加宏觀的層面。可以簡單粗暴地把數據科學理解為是統計下的一個分支方向。統計學是在數據分析的基礎上,研究如何測定、收集、整理、歸納和分析反映數據數據,以便給出正確消息的科學。包含有對理論的研究,如高維、非參等,更多的是對應用層面的研究,比如生物統計,金融統計等
就業方向
以下內容選了幾個典型崗位介紹一下日常主要負責什麼業務,方便大家更清晰的理解:
1.技術類
開發工程師
一般概念里的技術崗位就是開發工程師,一般分為前端開發與後端開發,例如JAVA,C++開發都屬於後端開發,而HTML,JavaScript等屬於前端開發。
測試工程師
對於一個產品來說,測試與開發同等重要。
測試工程師作為產品質量的把關者,主要負責編寫測試方案,執行測試工作,記錄測試結果,定位問題所在,提出改進建議等工作。
運維工程師
主要負責維護並確保整個服務的高可用性,同時不斷優化系統架構提升部署效率、優化資源利用率。
2.數據類
數據挖掘&數據分析
這兩個崗位都是做數據相關的工作,屬於同一個領域,但不同的側重點:
數據分析偏統計,主要負責將數據可視化,出各類分析報表和報告,需要較強的表達能力。
數據挖掘偏重演算法,側重建立數據模型,需要較強的代碼能力,日常工作中代碼編寫量較大。
3.設計類
用戶交互設計師
主要工作內容是通過調整頁面的內容來提高產品的數據指標,這要求交互設計師了解用戶的使用習慣,比如各類功能模塊應當如何排列才能夠使用戶使用感更為舒適。
接下來以下內容從技術的角度幫助大家梳理了需要掌握的技能:
一名合格的Java開發工程師需要掌握以下這些技術:
1、Java方向
Java自1995年問世以來,因其卓越的通用性、高效性、平台移植性和安全性等特性,成為全球範圍內應用範圍最廣的開發語言。而Java工程師是指運用Java這種語言去完成軟體產品的設計、開發、測試、運維等的人。
2、WEB前端方向
前端開發是創建Web頁面或APP等前端界面呈現給用戶的過程,通過HTML、CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。
目前行業內前端開發主要是使用React、vue.js、AngularJS等框架,以前後端分離式開發模式進行產品研發。那麼除以上基礎知識和框架技能,還需要具備什麼呢?
3、Python方向
Python受益於其能夠廣泛應用於雲計算、系統運維、圖形GUI、大數據、人工智慧和機器學習等應用場景的優勢,伴隨著行業的快速發展受到越來越多人的喜愛和使用。
Python提供了高效的數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
同時隨著大數據和人工智慧等新興行業的快速發展,Python目前可謂是國內最火的編程語言之一了,那麼從事Python技術研發我們需要具備哪一些技能呢?
最後,建議各位同學可以結合自己的未來規劃,提前了解清楚行業以及行業內崗位發展詳情,選擇更適合自己的路。