計算機系(Computer Science)下到底有多少不可以思議的分類呢?有多少人很認真地去區(qū)分他們呢?今天小編給大家全面盤點一下。
1.ArtificialIntelligence人工智能
人工智能學習研究的核心領域大致包括:學術呈現(xiàn),推理,學習,規(guī)劃,決策,視覺,機器人,語音和語言處理。同時AI也旨在運用先進的算法來解決各領域的實際問題,其中包括生物信息學,網(wǎng)絡及各類系統(tǒng),搜索和信息檢索等等。人工智能與認知科學也是緊密相聯(lián)的,包括心理學,語言學和哲學方面。除此之外,研究人工智能還需要涉及到以下的技術和工具:統(tǒng)計學,神經(jīng)科學,控制,優(yōu)化和業(yè)務研究。有大學也開設AI與Machine Learning結合的課程,由于ML本身涉及的內容就足以開設一門課程,很多大學也有獨立的機器學習課程。也有些大學雖然沒有AI專業(yè),但是有Robotic Systems(機器人系統(tǒng))相關的課程,其實也是類似人工智能的專業(yè)。
2.Algorithmsand Theory 計算機算法和理論
理論計算機科學是研究更高效的算法和協(xié)議。它強調學習許多20世紀的發(fā)明,如密碼學、計算生物學、機器學習、量子計算等先進算法和理論。同時計算機算法和理論還研究包括復雜性理論,算法,數(shù)據(jù)結構,計算幾何,密碼學,機器學習和計算經(jīng)濟學,并且與計算生物學,圖形,網(wǎng)絡和系統(tǒng)緊密連接。屬于基礎理論學習的學科,需要扎實的數(shù)學基礎。
3.Biosystems& Computational Biology生物系統(tǒng)與計算生物學
現(xiàn)代生物學越來越依賴計算機科學和電子工程的算法和工具。生物數(shù)據(jù)包括多品種的基因組數(shù)據(jù),多態(tài)變體的數(shù)據(jù)庫,蛋白質結構和RNA結構,基因數(shù)據(jù)庫,實驗生物化學測量數(shù)據(jù)和生物醫(yī)學數(shù)據(jù)。對這些數(shù)據(jù)進行表達,操縱和整合需要計算機科學的技術,如數(shù)據(jù)庫,算法,人工智能,圖形,信號處理和圖像處理,因而生物系統(tǒng)也被稱為Bioinformatics生物信息學。
4.BigData 大數(shù)據(jù)
大數(shù)據(jù)相關專業(yè)的別稱包括:Data Science(數(shù)據(jù)科學),Data Analytics(數(shù)據(jù)分析), and Data Mining(數(shù)據(jù)挖掘)。由于互聯(lián)網(wǎng)和社交媒體的興起,數(shù)據(jù)量空前龐大,而獲取數(shù)據(jù)的設備也越來越多,如智能手機和微型傳感設備收集數(shù)據(jù)、科學儀器收集類似的基因組數(shù)據(jù),天文數(shù)據(jù),醫(yī)療。管理和分析“大數(shù)據(jù)”需要全新的技術和系統(tǒng)。除了通過常規(guī)數(shù)據(jù)庫系統(tǒng)及相關應用程序管理數(shù)據(jù)外(已經(jīng)難以駕馭多樣化嘈雜的數(shù)據(jù)分析),還要增強捕捉和關聯(lián)個人數(shù)據(jù),保護安全和隱私問題的能力。要解決大數(shù)據(jù)管理的各個方面,需要學習的方向包括:高性能計算,數(shù)據(jù)庫,云計算,分布式系統(tǒng),可視化以及安全性和隱私的領域。所以大數(shù)據(jù)屬于CS中的交叉學科。
5.ComputerArchitecture計算機系統(tǒng)結構
計算機系統(tǒng)結構是計算機的機器語言程序員或編譯程序編寫者所看到的外特性。所謂外特性,就是計算機的概念性結構和功能特性,主要研究計算機系統(tǒng)的基本工作原理,以及在硬件、軟件界面劃分的權衡策略,建立完整的、系統(tǒng)的計算機軟硬件整體概念。有大學將Complier(編譯器)和Architecture(系統(tǒng)結構)一起研究,研究內容集中在為下一代計算機和計算組件進行硬件,編程語言和編譯器的設計,很多大學將編程語言及編譯器單獨開設課程進行學習。
6.ComputerGraphics and Visualization 計算機圖形學
計算機圖形學的主要研究內容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關原理與算法。除這些以外,還會研究如何科學可視化,基于物理渲染,動畫制作,計算機輔助幾何設計,快速成型,計算機輔助角膜建模和可視化,醫(yī)學成像等等。相較于藝術類的動畫制作而言,計算機圖形學更注重算法及理論的學習。
7.DatabaseSystems數(shù)據(jù)庫系統(tǒng)
在過去的幾年中,運用數(shù)據(jù)庫的重點領域包括生命科學和生物數(shù)據(jù)庫,圖形數(shù)據(jù)庫,傳感器網(wǎng)絡數(shù)據(jù)管理,社交網(wǎng)絡數(shù)據(jù)管理,移動數(shù)據(jù)庫,P2P網(wǎng)絡和非結構化的文本數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)的學習將繼續(xù)在傳統(tǒng)數(shù)據(jù)管理的基礎上進行創(chuàng)新,如提高管理和查詢數(shù)據(jù),空間數(shù)據(jù)庫的速率,增強查詢處理和優(yōu)化,數(shù)據(jù)流,近似查詢處理和數(shù)據(jù)挖掘的能力。與Data Science相比,它更傾向于單純的數(shù)據(jù)處理管理(Database Management Systems or Information Systems),隨著時代發(fā)展,這個專業(yè)方向正在逐漸被發(fā)展獨立開來成為IS。
8.DistributedSystems 分布式系統(tǒng)
分布式系統(tǒng)往往與操作系統(tǒng)(Operating Systems)同時學習,也有學校直接用系統(tǒng)(Systems)來概括這個專業(yè),學習的偏重性根據(jù)學校不同有偏差。操作系統(tǒng)的研究重點是針對一臺機器或物理設備運行的系統(tǒng)軟件,而分布式系統(tǒng)則是研究如何實現(xiàn)網(wǎng)絡互連的多臺計算機運行一致的,安全的,可擴展的,可靠的系統(tǒng)。學習重點包括調查算法,設計原則,并制定運行現(xiàn)代計算機系統(tǒng)所必需的軟件工程技術。
9.High-PerformanceComputing 高性能計算
高性能計算專業(yè)主要是學習用大型計算機來解決的重大科學和工程問題及并行算法和開發(fā)相關軟件。HPC研究的重點在于從創(chuàng)新的核心數(shù)值算法中提煉精華,運用到系統(tǒng)軟件或者嵌入到需要大規(guī)模生產(chǎn)計算的工具中去。該專業(yè)的形成與“大數(shù)據(jù)”息息相關。有大學也將高性能計算的學習并入科學計算(Scientific Computing)的學習。
10.Human-ComputerInteraction 人機交互設計
人機交互是指通過計算機輸入、輸出設備,以有效的方式實現(xiàn)人與計算機對話的技術。它與認知學、人機工程學、心理學等學科領域有密切的聯(lián)系。主要研究在未來云計算環(huán)境中如何人機交互,包括辦公室,家庭,移動,醫(yī)療互動。該課程強調對環(huán)境的感知系統(tǒng),感知接口(如計算機視覺和語音),可視化和學習技術。
11.MachineLearning 機器學習
機器學習和計算機感知的研究主要集中在機器學習的基礎理論和實驗研究機器學習算法。在學習ML的同時,要學習如何在其他領域運動ML,比如生物學和信息圖像采集。同時,大多數(shù)大學對將ML運用到大而復雜的數(shù)據(jù)集中非常感興趣,因而也將ML歸類于Data Science中的數(shù)據(jù)挖掘(Data Mining)或分析。應用實例包括物種分布的棲息地建模,大量學術文章主題歸類,大腦圖像分類,蛋白質功能分類等等。
12.Networking and Systems 互聯(lián)網(wǎng)與系統(tǒng)
互聯(lián)網(wǎng)的學習往往與操作系統(tǒng)直接相關聯(lián),具體研究內容包括分布式系統(tǒng),操作系統(tǒng),存儲系統(tǒng),網(wǎng)絡和網(wǎng)絡架構,移動和無線系統(tǒng)和網(wǎng)絡協(xié)議設計。網(wǎng)絡架構的學習包括疊加架構,分布式哈希,下一代網(wǎng)絡的設計,對等聯(lián)網(wǎng),移動和點對點網(wǎng)絡,故障排除,能耗影響問題的研究等等。也有學校將互聯(lián)網(wǎng)與通信(Communications)結合進行學習,其專業(yè)性質是屬于EE與CS的交叉課程,很多學校歸類于EE,而伯克利大學將其歸類于EECS系下。
13.ProgrammingLanguages
編程語言的學習主要目的是為了提高程序的安全性和隱私性,極大限度得提高軟件的靈活性,可靠性,可用性,高效性,可重復利用性。編程語言的學習往往會和編譯器(Complier)一起學習,研究重點集中在云計算,移動端計算,高利用率系統(tǒng),靜態(tài)分析,函數(shù)型編程,調試和隱私保護計算。同時編程語言的學習非常側重于編譯器的優(yōu)化,軟件的設計,合成和測試,因而編程語言往往也和軟件工程(Software Engineering)并為一個專業(yè)進行學習。
14.ScientificComputing and Numerical Analysis 科學計算和數(shù)值分析
科學計算,也被稱為數(shù)值分析或計算數(shù)學。它的重點是在設計和分析算法來解決各領域發(fā)生的數(shù)學相關問題,特別適用于科學和工程領域以及高性能電腦上算法的應用(最明顯的就是應用在并行和分布式系統(tǒng)中)。研究的內容包括數(shù)值線性代數(shù),快速求和的方法等等。并且在不同的領域中也有涉入,比如影像學,流體力學和聲學。也有大學將科學計算和數(shù)值分析分開,科學計算更傾向于高性能計算(HPC)的學習,數(shù)值分析更傾向于統(tǒng)計,數(shù)學領域。
15.Securityand Cryptography 安全和加密
安全與加密注重密碼學從理論到應用的學習和時間,并且強調研究數(shù)據(jù)庫的隱私,監(jiān)控系統(tǒng)的隱私,基于Web的應用程序的隱私及傳感器網(wǎng)絡安全,測試平臺的安全,人機界面的安全,互聯(lián)網(wǎng)安全(在Networking專業(yè)的學習中也會涉及,但是如果被分出學習的話,更偏向于密碼學的學習,對數(shù)學邏輯思維的要求較高)等等。有些學校甚至從計算機信息安全這個專業(yè)的方向衍生到對心理學及經(jīng)濟學、社會學的思考和學習中去了。
16.SoftwareEngineering 軟件工程
軟件工程的目標是改進現(xiàn)有的技術來提高軟件系統(tǒng)(也有學校開設Software Systems專業(yè),其內容和軟件工程相似)的成本、準確性和可用性。將這三個互相制衡的因素都實現(xiàn),是目前軟件工程研究的重點。同時軟件工程也致力于軟件的開發(fā),測試及維護等等工作,立志于解決復雜系統(tǒng)及處理程序中產(chǎn)生的問題。