计算机科学即指研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。作为一门学科,它与数学、计算机程序设计、软件工程和计算机工程有显著的不同,却通常被混淆,尽管这些学科之间存在不同程度的交叉和覆盖。
研究课题
计算机科学研究的课题是:
计算机程序能做什么和不能做什么(可计算性);
如何使程序更高效的执行特定任务(算法和复杂性理论);
程序如何存取不同类型的数据(数据结构和数据库);
程序如何显得更具有智能(人工智能);
人类如何与程序沟通(人机互动和人机界面)。
计算机科学的大部分研究是基于“冯·诺依曼计算机”和“图灵机”的,它们是绝大多数实际机器的计算模型。作为此模型的开山鼻祖,邱奇-图灵论题(Church-Turing Thesis)表明,尽管在计算的时间,空间效率上可能有所差异,现有的各种计算设备在计算的能力上是等同的。尽管这个理论通常被认为是计算机科学的基础,可是科学家也研究其它种类的机器,如在实际层面上的并行计算机和在理论层面上概率计算机、oracle 计算机和量子计算机。在这个意义上来讲,计算机只是一种计算的工具:著名的计算机科学家 Dijkstra 有一句名言“计算机科学之关注于计算机并不甚于天文学之关注于望远镜。”。
相关条目
参考资源