1.6.1 计算机科学的概念及知识体系
计算机科学与技术学科可分为理论计算机科学、计算机软件、计算机系统结构、计算机应用技术等领域,以及与其他学科交叉的研究领域,如人工智能、应用数学等。通常,计算机科学与技术学科可概括为计算机软件与理论、计算机系统结构、计算机应用技术等3个二级学科。
其主要研究领域包括:
(1)理论计算科学:经典的计算理论以及其他一些关于计算技术中较为抽象、逻辑和数学化方面的主题。
(2)可计算理论:研究什么可以被自动计算的问题。
(3)计算复杂性理论:研究完成一个可计算问题需要的计算时间和空间资源的代价问题。
(4)算法和数据结构:研究解决可计算问题的具体方法、步骤和过程,及其所需要的数据表示和操作方法。
(5)程序设计方法学和程序设计语言:主要研究解决各种计算问题和软件系统设计所需要采用的程序设计原理和方法,以及相关的程序设计语言的设计实现原理和方法。
计算机学科知识体系分为14个知识领域:
(1)离散结构:Discrete Structures(DS)。
(2)程序设计基础:Programming Fundamentals(PF)。
(3)算法和复杂性:Algorithms and Complexity(AL)。
(4)体系结构和组织:Architecture and Organization(AR)。
(5)操作系统:Operating Systems(OS)。
(6)网络计算:Net-Centric Computing(NC)。
(7)程序设计语言:Programming Languages(PL)。
(8)人机交互:Human-Computer Interaction(HC)。
(9)图形和可视化计算:Graphics and Visual Computing(GV)。
(10)智能系统:Intelligent Systems(IS)。
(11)信息管理:Information Management(IM)。
(12)社会和职业问题:Social and Professional Issues(SP)。
(13)软件工程:Software Engineering(SE)。
(14)计算科学和数值计算:Computational Science and Numerical Methods(CN)。