基本的計算機科學主題列表
外觀
電腦科學是資訊及運算理論基礎的研究以及電子計算機領域中的執行及應用,電腦科學中一個有名的主題分類系統是ACM 電腦分類系統,它是由美國電腦協會(英語:Association for Computing Machinery,簡稱ACM)所設計的,再電腦科學中一個基本的主題列表包括:
電腦科學的分支
[編輯]數學基礎
[編輯]- 數理邏輯 - 布林邏輯以及其他邏輯查詢的方法;正統的證明方法的使用及限制。
- 數論 - 在整數的簡單領域中找出證明及啟發的理論,像在人工智慧的測試領域中使用密碼學一樣。
- 圖論 - 資料結構以及搜尋演算的基礎。
- 博弈論 - 使用在人工智慧及模控學中。
- 編碼理論 - 研究資訊傳輸過程中訊號編碼規律的數學理論。
計算理論
[編輯]- 自動機理論 - 解決問題的不同邏輯結構。
- 可計算性理論 - 以現有的電腦模式來看什麼是可計算的,此由艾倫·麥席森·圖靈所證明並由其他人提供可計算及不可計算的可能性更加深入的說明。
- 計算複雜性理論 - 計算課題上的基本界限(特別是時間及儲存空間)。
- 量子電腦理論 -
演算法及資料結構
[編輯]程式語言及編譯器
[編輯]並列, 並行, 及分散系統
[編輯]- 同做 - 模擬計算的理論及應用;在多工或多執行續環境裡的資料安全。
- 分散式計算 - 在網路上使用多種計算裝置計算來完成一共同的目標或工作並藉此降低單一處理器的工作貢獻。
- 並行計算 - 使用多個同做的執行緒來計算。
軟體工程
[編輯]- 形式方法 - 用數學的方法來描述及解釋軟體的設計。
- 軟體工程 - 設計、發展及測試程式的理論與應用像是適當的工程應用。
- 逆向工程 - 用來了解現有的軟體所採用的科學方法的應用。
- 演算法設計 - 使用演算法理論的概念對真實的工作做設計的解決。
- 程式設計 - 使用程式語言來完成演算法的應用。
電腦系統結構
[編輯]通訊及安全
[編輯]資料庫
[編輯]人工智慧
[編輯]- 人工智慧 - 系統可以展示其智慧或行為的研究及執行。
- 自動推理 - 解決的引擎像是用在Prolog,這種語言可以從規則資料庫中查詢出來的結果來產生一些步驟。
- 機器人學 - 控制機器人行為的演算法。
- 電腦視覺 - 從2D的圖片來辨識3D物件的演算法。
- 機器學習 - 從輸入自動產生一組規則
電腦圖形學
[編輯]科學計算
[編輯]- 數值分析 - 數學問題的近似值解像是求根、數值積分、常微分方程解……等特殊函數的近似值。
- 符號計算 - 用符號的方式來表示處理及解決通常也叫作電腦代數。
- 計算物理學 - 大型不可分析的系統數我去。
- 計算化學 - 理論化學的計算模式為了可以決定化學結構及特性。
- 生物資訊學 - 用來維護、分析及儲存生物學資料的電腦科學,這些可以幫助解決像是蛋白質摺疊、函式預測及種系發生學等的生物學問題
- 計算神經科學 - 神經生理學的計算模式.
電腦科學的歷史
[編輯]電腦科學的行業
[編輯]基本的電腦科學概念
[編輯]核心基礎概念
[編輯]- 算法與數據結構:作為計算機科學的核心,算法是解決問題的分步程序,而數據結構(如數組、鍊表、樹和圖)則是組織和存儲數據的方法,以便這些算法能夠高效地使用它們。
- 計算理論: 該領域從數學角度探索計算機的基本能力和局限性。它探討哪些問題可被解決(可計算性理論)以及解決這些問題所需的時間或內存(複雜度理論)。
- 計算機系統結構:該領域關注計算機系統的內部結構與組織。它涵蓋CPU、內存(RAM)和存儲等組件的設計方式,以及它們在低級別上的交互方式,包括數據在二進制中的表示形式。
- 編程語言與範式:該領域涉及用於編寫計算機指令的工具。它包括不同的編程範式——如過程式、面向對象和函數式編程——以及各種語言的語法和語義(如Python、C++、Java)。
系統概念與應用概念
[編輯]- 操作系統(OS):操作系統是管理計算機硬件和軟件資源的核心軟件。關鍵概念包括進程管理、內存管理、文件系統和並發性。
- 計算機網絡:該領域涵蓋使計算機能夠相互通信的原則和協議。核心主題包括TCP/IP模型、路由和互聯網架構。
- 數據庫:該領域專注於高效可靠地存儲、組織和檢索海量數據的原則。其中包括關係模型、SQL等查詢語言以及新興的NoSQL系統等概念。
- 人工智能(AI)與機器學習(ML):一個致力於創建能夠執行需要人類智能任務的系統的廣泛領域。機器學習作為人工智能的子領域,專注於開發能夠從數據中學習模式並進行預測的算法。
- 軟件工程:這是設計、開發、測試和維護軟件的系統化方法。其中包括軟件開發生命周期、版本控制和測試方法等實踐。
- 計算機圖形學:研究利用計算機創建和處理視覺圖像的學科,涵蓋從渲染2D/3D圖像到動畫和模擬的各個方面。
- 密碼學與安全:該領域致力於保障信息和系統的安全。密碼學提供安全通信的技術,而更廣泛的安全領域則涵蓋防禦系統免受攻擊和漏洞的影響。