1. 首頁
  2. 職業/專業/職能

美國計算機科學CS專業

美國計算機科學CS專業

計算機專業是現在最熱門最高薪的專業之一,在2016年PayScale美國碩士專業薪水排名中,計算機科學、計算機工程等相關專業名列前茅,早期薪水便已達到$80K-$90K。除了高薪以外,計算機相關專業抽中H1B工作簽證的機率也更高,去年被抽中的H1B簽證中,計算機相關專業佔到了70%以上。

一旦決定了申請Computer Science(CS),我們要做的第一步可能是去開啟一個美國大學的網站(當然除了從一開始就決定找個留學中介機構來幫忙,自己樂得輕鬆的甩手掌櫃型別的申請者),打開了大學的網站後,產生的第一個困惑就是Computer Engineering(CE)還是Computer Science?兩者的區別是什麼?因為我們很快就會發現很多美國學校的EE和CS/CE是合併在一起的,所以許多研究方向的跨學科性非常強,無法簡單地歸類為是屬於計算機還是屬於電子的範疇。

CS和CE這兩個專案非常相似,兩個專案都學習程式設計和軟體開發的基礎學科,兩者之間最基本的區別可以歸結為理科(science)和工科(engineering)的區別。science的意思是知識或學問,它是來自拉丁單詞“to know”,engineering則是來自拉丁單詞“to contrive”。因此從操作層面來看兩者的區別是CE的學生擁有對電路、電子學和VLSI設計的非常深厚的認知,而這些都是現代計算機實際結構中至關重要的;CS的學生學習的是代數、計算和程式語言,這些構成了高階程式設計和計算的基礎。但是這樣的描述事實還是不夠準確,因為比如SE(Software Engineering )分支有時候會放在CE下,有時候又會放在CS下,這也要具體情況具體分析,具體學校具體對待。

我們可以這樣來理解:廣義的CE就是應用性的computer 相關的,CS會更理論一些。這也就是為什麼SE是軟體相關,可是卻會放在CE下的原因,SE是用工程的思維去開發一個軟體專案的方式方法的學習。另外一方面,有一些狹義的劃分,SE又會放在CS下,這樣的劃分就是按照軟硬的劃分了,CS是軟,CE是硬。但是核心都是computer。因為每個學校都有自己的劃分方式,所以沒有統一的標準。同時,軟硬現在已經你中有我,我中有你了。比如說,CPU裡是有指令集的,離開了指令集,CPU也沒有辦法工作。而先進的軟體都會針對硬體進行最佳化,沒有足夠的最佳化,就會出現多年前經常會出現的相容問題了。這是兩者之間的區別,我們本文重點講的是CS。

CS在計算機系統和軟體的理論和設計,以及重要的應用領域培養學生。CS主要的研究領域和學習領域包括計算機人工智慧、生物系統和計算機生物學、計算機結構和工程、機器人(與EE交叉,很多開設在EE下)、訊號和圖形處理(與EE交叉,很多開設在EE下)、作業系統和網路、程式設計系統、演算法和理論、互動系統和軟體系統等。CS涉及到了我們生活的方方面面,我們生活的衣食住行都離不開,在未來的日子裡更離不開。衣有智慧服裝;住有智慧家電,比如我們普通的平板電視等;行:所有汽車上都有行車電腦。

美國計算機科學CS專業研究分支

留學美國申請美國大學計算機專業(CS)的學生非常多。美國大學CS專業的研究分支也非常多,不同分支對學生的要求也會不同,因此,學生們要根據自己的條件選擇適合自己的研究方向。

下面小編要對美國大學CS專業十三個分支方向進行詳細的闡述,前方高能!

一、體系結構、編譯器和平行計算

體系結構和編譯器的研究主要集中在硬體設計,程式語言以及下一代編譯器。

平行計算研究的包含範圍很廣,包括平行計算的計算模型,並行演算法,並行編譯器設計等。

二、系統與網路 Systems and Networking

(1)網路與分散式系統(Networking and distributed systems):移動通訊系統,無線網路協議(wireless protocols),Ad-hoc網路,服務質量管理(Quality of Service management,QoS),多媒體網路,計算機對等聯網(peer-to-peer networking, P2P),路由,網路模擬,主動佇列管理(active queue management, AQM)和感測器網路(sensor networks)。

(2)作業系統(Operating system):分散式資源管理,普適計算(ubiquitous computing/pervasive computing)環境管理,反射中介軟體(reflective middleware),中介軟體元級作業系統(middleware “meta-operating systems”),面向物件作業系統設計,允許單個使用者與多計算機、對等作業系統服務互動的使用者設計,上下文敏感的分散式檔案系統,資料中心的電源管理,檔案/儲存系統,自主計算(autonomic computing),軟體健壯性的系統支援以及資料庫的系統支援。

(3)安全(Security): 隱私,普適計算,無線感測器(wireless sensors),移動式和嵌入式計算機,規範,認證,驗證策略,QoS保證和拒絕服務保護,下一代電話通訊,作業系統虛擬化和認證,關鍵基礎設施系統,例如SCADA控制系統和醫療,訊息系統,安全閘道器,可用性安全。

(4)實時和嵌入式系統(Real-time and embedded systems):開放式實時系統,Qos驅動的實時排程和通訊協議,控制設計和實時排程整合,實時、容錯和安全協議整合,網路化器件和智慧空間的魯棒動態實時構架。

三、理論與演算法 Theory and Algorithms

計算機理論研究主要集中在演算法和資料結構的設計與分析,以及計算複雜性的研究。具體包括最最佳化(optimization),計算幾何和拓撲(computational geometry and topology),近似演算法(approximation algorithms),密碼(cryptography)和安全計算(secure computation),網路設計(network design),資料探勘(data mining),機器學習(machine learning),有限元網格生成(finite-element mesh generation)和自動化軟體驗證(automatic software verification)。

四、人工智慧 Artificial Intelligence

這個領域包含廣泛的研究課題,包括知識表示,機器學習,計算機視覺,推理和機器人等。

知識表示(knowledge representation):把知識按照一種有利於推理(得出結論)的方式表示出來。機器學習(machine learning):自動學習如何識別複雜模式並基於資料作出智慧決策。

計算機視覺(computer vision):使機器自動從影象和影片中提取資訊並理解其中包含的視覺概念。

推理(reasoning):學習推理的計算模型。

機器人(robotics):工程學和機器人技術,以及它們的設計,製造,應用和結構配置。

五、程式語言 Programming Languages

該領域的研究包括計算機語言的設計與實現,其目標是同時提高開發人員的開放效率和軟體質量。包含如下一些課題:

(1)程式語言設計和實現(Programming Language Design and Implementation):編譯器最佳化(Compiler optimization),語義(Semantics),即時編譯器(JIT complier),域特定語言(DSL:Domain-specific languages)。

(2)程式設計環境和工具(Programming Environments and Tools):監控(Monitoring),程式設計師搜尋引擎(Programmer search engines),基於模型的設計(Model-based design)。

(3)程式分析和驗證(Program Analysis and Verification):模型檢測(Model checking),靜態和動態分析(Static and dynamic analysis),定理證明(Theorem proving),實時系統的'任務排程分析(Schedulability analysis for real-time systems)。

六、資料庫與資訊系統 Database and Information Systems

(1)資料庫(Database):資料模型,資料查詢、整合,各種資料庫系統的設計、實現等。

(2)資料探勘(Data Mining):從資料中提取模式的處理過程。它在很多領域有廣泛的應用,例如市場營銷、監測、入侵檢測和科學發現。資料探勘和機器學習很相關,但是資料探勘更關注實際應用。

(3)資訊檢索(Information Retrieval):研究如何提取各種媒體(文字、音訊、影片等,目前的研究以文字居多)中的資訊,同時還搜尋與之關聯的資料庫和全球資訊網。

(4)自然語言處理(Natural language processing):構建一種可以分析、理解和生成自然語言的計算機系統。研究課題包含自動摘要(automatic summarization),語篇分析(discourse analysis),機器翻譯(machine translation),命名實體識別(named entity recognition),自然語言生成(natural language generation)和語音識別(speech recognition)等。

七、圖形學與多媒體 Graphics and Multimedia

圖形學的研究包含對自然景象的建模和動畫生成(modeling and animation of natural phenomena),計算拓撲學(computational topology),圖形硬體的使用(graphics hardware utilization),渲染(rendering),網格處理和簡化(mesh processing and simplification),形狀建模(shape modeling),曲面引數化(surface parameterization)和視覺化處理(visibility processing)等。

多媒體研究包括影象處理(image processing),影片處理(video processing),音訊分析(audio analysis),文字檢索和理解(text retrieval and understanding),資料探勘和分析,以及資料融合(data fusion)。因為多媒體資料包含不同格式的資料(如文字,音訊,影片),所以它的研究包含很多不同領域的技術和理論。

八、人機互動 Human-Computer Interaction (HCI)

HCI主要研究人和計算機之間的互動。它通常被認為是計算機科學、行為科學、設計及其他相關領域研究的交叉學科。

研究課題包括:

(1) 上下文感知計算(Context-aware computing):行為分析,智慧空間(Smart Spaces),定位感知系統(Location-aware systems),隱私技術。

(2) 感知人機介面(Perceptual Interfaces):基於視覺的介面(Vision-based interfaces),語音和話語介面(speech and discourse interfaces)。

(3) 協同和學習(Collaboration and Learning):基於模式的編輯工具(Pattern-based authoring tools),ESL (English as a second language) 學習,群組協同技術(group collaboration technologies),包含按地理分佈的遠端沉浸協同(geographically distributed tele-immersive collaboration)等。

(4) 驗光和人的視覺模擬(Optometry and Human Vision Simulation):計算機輔助的角膜建模和視覺化,醫學成像(medical imaging),手術模擬的虛擬環境(virtual environments for surgical simulation),模擬渲染(vision realistic rendering)。

九、科學計算 Scientific Computing

科學計算主要是研究構建數學模型(mathematical models)和數值解法(numerical solution),並用計算機來分析和解決科學、社會科學以及工程問題。

研究課題包含:(1)平行計算(Parallel computing):平行計算語言和並行演算法。

(2)自動效能調整(Automatic Performance Tuning): Automatic generation of optimized implementations of computational and communication kernels。

(3)網格剖分(Mesh generation):自動生成三角網格(triangulated meshes)來表示物理和計算區域。

(4)矩陣計算(Matrix computations):設計高效的矩陣計算演算法和軟體。

(5)浮點數(Floating point):可擴充套件的精度算術(Extended precision arithmetic),可靠的浮點數標準(Reliable floating point standards),浮點數標準的體系和執行時間實現(Architectural and run time implications of floating point standards),浮點數標準的程式語言實現。

(6)計算機代數(Computer Algebra):符號數學計算方法。

十、資訊保安 Security

(1)密碼學(Cryptology)密碼學理論(cryptography theory),新的密碼學系統開發(development of new cryp ographic systems),密碼分析學(cryptanalysis),協議開發,應用密碼學,量子計算(quantum computation)。

(2)隱私(Privacy)無線感測器網路的隱私,RFID系統的隱私,資料庫的隱私問題,基於網路的應用的隱私。

(3)軟體安全(Software security)開發程式語言和計算機安全之間的相互影響。

(4)一致性和完整性(Identity and integrity)預防“網路釣魚”和攻擊。

(5)網路安全(Network security)網路安全檢測(network security monitoring)和入侵防禦(intrusion prevention)。

十一、軟體工程 Software Engineering

主要研究開發大規模軟體系統的原理和技術。

十二、生物資訊學和計算生物學

研究高效魯棒的生物計算模擬演算法,以及應用資料探勘,機器學習,自然語言處理和資訊檢索等方法來分析和挖掘各類生物資料。

研究課題包括:

(1)生物資訊學(Bioinformatics)比較基因組學(Comparative genomics),遺傳分析(Genetic analysis),系統發育(Phylogenetics),分子進化建模(Molecular evolutionary modeling),基因調控網路(Gene regulatory networks)。

(2)蜂窩系統(Cellular systems)蛋白質結構建模(Protein structure modeling),基因調控網(Gene regulatory networks),合成生物學(Synthetic biology),Computational systems biology,細胞訊號傳導通路,傳輸和代謝,自組裝系統(Self-assembling systems)。

(3)神經系統(Neural systems)

(4)生物醫學系統(Biomedical systems)感測器,健康服務系統,生理模型,醫學影象和生物影象分析。

十三、計算機教育 Computers and Education

本領域研究如何教授計算機科學以及如何將計算機應用到教育中。