基本的計算機科學主題列表 - 维基百科,自由的百科全书
電腦科學是資訊及運算理論基礎的研究以及電子計算機領域中的執行及應用,電腦科學中一個有名的主題分類系統是ACM 电脑分类系统,它是由美國電腦協會(英语:Association for Computing Machinery,简称ACM)所設計的,再電腦科學中一個基本的主題列表包括:
電腦科學的分支
[编辑]數學基礎
[编辑]- 數理邏輯 - 布林邏輯以及其他邏輯查詢的方法;正統的證明方法的使用及限制。
- 數論 - 在整數的簡單領域中找出證明及啟發的理論,像在人工智慧的測試領域中使用密碼學一樣。
- 圖論 - 資料結構以及搜尋演算的基礎。
- 博弈論 - 使用在人工智慧及模控學中。
- 編碼理論 - 研究資訊傳輸過程中訊號編碼規律的數學理論。
計算理論
[编辑]- 自動機理論 - 解決問題的不同邏輯結構。
- 可计算性理论 - 以現有的電腦模式來看什麼是可計算的,此由艾倫·麥席森·圖靈所證明並由其他人提供可計算及不可計算的可能性更加深入的說明。
- 計算複雜性理論 - 計算課題上的基本界限(特別是時間及儲存空間)。
- 量子電腦理論 -
演算法及資料結構
[编辑]程式語言及編譯器
[编辑]並列, 並行, 及分散系統
[编辑]- 同做 - 模擬計算的理論及應用;在多工或多執行續環境裡的資料安全。
- 分散式計算 - 在網路上使用多種計算裝置計算來完成一共同的目標或工作並藉此降低單一處理器的工作貢獻。
- 並行計算 - 使用多個同做的執行緒來計算。
軟體工程
[编辑]- 形式方法 - 用數學的方法來描述及解釋軟體的設計。
- 軟體工程 - 設計、發展及測試程式的理論與應用像是適當的工程應用。
- 逆向工程 - 用來了解現有的軟體所採用的科學方法的應用。
- 演算法設計 - 使用演算法理論的概念對真實的工作做設計的解決。
- 程式設計 - 使用程式語言來完成演算法的應用。
電腦系統結構
[编辑]通訊及安全
[编辑]資料庫
[编辑]人工智慧
[编辑]- 人工智慧 - 系統可以展示其智慧或行為的研究及執行。
- 自動推理 - 解決的引擎像是用在Prolog,這種語言可以從規則資料庫中查詢出來的結果來產生一些步驟。
- 機器人學 - 控制機器人行為的演算法。
- 電腦視覺 - 從2D的圖片來辨識3D物件的演算法。
- 機器學習 - 從輸入自動產生一組規則
電腦圖形學
[编辑]科學計算
[编辑]- 數值分析 - 數學問題的近似值解像是求根、數值積分、常微分方程解……等特殊函數的近似值。
- 符號計算 - 用符號的方式來表示處理及解決通常也叫作電腦代數。
- 計算物理學 - 大型不可分析的系統數我去。
- 計算化學 - 理論化學的計算模式為了可以決定化學結構及特性。
- 生物資訊學 - 用來維護、分析及儲存生物學資料的電腦科學,這些可以幫助解決像是蛋白質摺疊、函式預測及種系發生學等的生物學問題
- 計算神經科學 - 神經生理學的計算模式.
電腦科學的歷史
[编辑]電腦科學的行業
[编辑]基本的電腦科學概念
[编辑]核心基础概念
[编辑]- 算法与数据结构:作为计算机科学的核心,算法是解决问题的分步程序,而数据结构(如数组、链表、树和图)则是组织和存储数据的方法,以便这些算法能够高效地使用它们。
- 计算理论: 该领域从数学角度探索计算机的基本能力和局限性。它探讨哪些问题可被解决(可计算性理论)以及解决这些问题所需的时间或内存(复杂度理论)。
- 计算机系统结构:该领域关注计算机系统的内部结构与组织。它涵盖CPU、内存(RAM)和存储等组件的设计方式,以及它们在低级别上的交互方式,包括数据在二进制中的表示形式。
- 编程语言与范式:该领域涉及用于编写计算机指令的工具。它包括不同的编程范式——如过程式、面向对象和函数式编程——以及各种语言的语法和语义(如Python、C++、Java)。
系统概念与应用概念
[编辑]- 操作系统(OS):操作系统是管理计算机硬件和软件资源的核心软件。关键概念包括进程管理、内存管理、文件系统和并发性。
- 计算机网络:该领域涵盖使计算机能够相互通信的原则和协议。核心主题包括TCP/IP模型、路由和互联网架构。
- 数据库:该领域专注于高效可靠地存储、组织和检索海量数据的原则。其中包括关系模型、SQL等查询语言以及新兴的NoSQL系统等概念。
- 人工智能(AI)与机器学习(ML):一个致力于创建能够执行需要人类智能任务的系统的广泛领域。机器学习作为人工智能的子领域,专注于开发能够从数据中学习模式并进行预测的算法。
- 软件工程:这是设计、开发、测试和维护软件的系统化方法。其中包括软件开发生命周期、版本控制和测试方法等实践。
- 计算机图形学:研究利用计算机创建和处理视觉图像的学科,涵盖从渲染2D/3D图像到动画和模拟的各个方面。
- 密码学与安全:该领域致力于保障信息和系统的安全。密码学提供安全通信的技术,而更广泛的安全领域则涵盖防御系统免受攻击和漏洞的影响。