计算机科学(英语:puterscience,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论是研究描述计算的方法,而程序设计是应用特定的编程语言解决特定的计算问题,人机交互则是专注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。[1]
有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。[1]
研究领域
计算机是一种进行算术和逻辑运算的机器,而且对于由若干台计算机联成的系统而言还有通信问题,并且处理的对象都是信息,因而也可以说,计算机科学是研究信息处理的科学。计算机科学分为理论计算机科学和实验计算机科学两个部分。在数学文献中所说的计算机科学,一般是指理论计算机科学。实验计算机科学还包括有关开辟计算机新的应用领域的研究。[1]
计算机科学的大部分研究是基于“冯·诺依曼计算机”和“图灵机”的,它们是绝大多数实际机器的计算模型。作为此模型的开山鼻祖,邱奇-图灵论题(Church-TuringThesis)表明,尽管在计算的时间,空间效率可能有所差异,现有的各种计算设备在计算的能力是等同的。尽管这个理论通常被认为是计算机科学的基础,可是科学家也研究其它种类的机器,如在实际层面的并行计算机和在理论层面概率计算机、oracle计算机和量子计算机。在这个意义来讲,计算机只是一种计算的工具:著名的计算机科学家Dijkstra有一句名言“计算机科学之关注于计算机并不甚于天文学之关注于望远镜。”。[1]
科学领域
作为一个学科,计算机科学涵盖了从算法的理论研究和计算的极限,到如何通过硬件和软件实现计算系统。CSAB(以前被叫做ComputingSciencesAreditationBoard),由AssociationforComputingMachinery(ACM)和IEEEComputerSociety(IEEE-CS)的代表组成,确立了计算机科学学科的4个主要领域:计算理论,算法与数据结构,编程方法与编程语言,以及计算机元素与架构。CSAB还确立了其它一些重要领域,如软件工程,人工智能,计算机网络与通信,数据库系统,并行计算,分布式计算,人机交互,机器翻译,计算机图形学,操作系统,以及数值和符号计算。[1]
理论计算机
主条目:理论计算机科学
广义的理论计算机科学包括经典的计算理论和其它专注于更抽象、逻辑与数学方面的计算。[1]
计算理论
主条目:计算理论
按照PeterJ.Denning的说法,计算机科学的最根本问题是“什么能够被有效地自动化?”计算理论的研究就是专注于回答这个根本问题,关于什么能够被计算,去实施这些计算又需要用到多少资源。为了试图回答第一个问题,递归论检验在多种理论计算模型中哪个计算问题是可解的。而计算复杂性理论则被用于回答第二个问题,研究解决一个不同目的的计算问题的时间与空间消耗。[1]
著名的“P=NP?”问题,千禧年大奖难题之一,是计算理论的一个开放问题。
信息编码论
本站域名已经更换为www.adouyinxs.com 。请牢记。