计算机科学

















Utah teapot representing computer graphics

Plot of a quicksort algorithm

large capital lambda

Microsoft Tastenmaus mouse representing human-computer interaction

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。















































「计算机科学」的各地常用別名
中国大陸
计算机科学
港臺
電腦科學
馬新
电脑科学
日本
計算機科学

计算机科学英语:computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现英语implementation与应用的实用技术的学科。[1][2]它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。


有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。[3]


尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。[4] 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist[5] 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。


著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。


计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。[6] 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。




目录






  • 1 历史


    • 1.1 主要成就




  • 2 哲学


  • 3 计算机科学的领域


    • 3.1 理论计算机科学


      • 3.1.1 数据结构和算法


      • 3.1.2 计算理论


      • 3.1.3 信息论与编码理论


      • 3.1.4 编程语言和编译器


      • 3.1.5 形式化方法




    • 3.2 计算机系统


      • 3.2.1 计算机体系结构与计算机工程


      • 3.2.2 操作系统


      • 3.2.3 并发、并行与分布式系统


      • 3.2.4 计算机网络


      • 3.2.5 计算机安全和密码学


      • 3.2.6 数据库




    • 3.3 计算机应用技术


      • 3.3.1 计算机图形学


      • 3.3.2 科学计算


      • 3.3.3 多媒体技术


      • 3.3.4 数据挖掘


      • 3.3.5 人工智能


        • 3.3.5.1 自动推理


        • 3.3.5.2 机器学习


        • 3.3.5.3 计算机视觉


        • 3.3.5.4 自然语言处理






    • 3.4 软件工程




  • 4 学术界


    • 4.1 会议


    • 4.2 期刊




  • 5 作为高等教育的二级专业


  • 6 工业界


  • 7 参考文献


  • 8 延伸阅读


  • 9 外部链接


  • 10 参见





历史



早期计算机科学建立的基础得追溯到最近电子计算机的发明。那些计算固定数值任务的机器,比如算盘,自古希腊时期即已存在。Wilhelm Schickard在1623年设计了世界上第一台机械计算器,但没有完成它的建造。[7]布莱兹·帕斯卡在1642年设计并且建造了世界上第一台可以工作的机械计算器Pascaline。埃达·洛夫莱斯协助[8]查尔斯·巴贝奇在维多利亚时代设计了差分机。[9]1900年左右,打孔机[10]问世。然而以上这些机器都局限在只能完成单个任务,或者充其量是所有可能任务的子集。


到了20世纪40年代,随着更新更强大的计算机器被发明,术语“计算机”开始用于指代那些机器而不是它们的祖先。[11]计算机的概念变得更加清晰,它不仅仅用于数学运算,总的来说计算机科学的领域也扩展到了对于计算的研究。20世纪50年代至20世纪60年代早期,计算机科学开始被确立为不同种类的学术学科。[12] 世界上第一个计算机科学学位点由普渡大学在1962年设立。[13]随着实用计算机的出现,很多计算的应用都以它们自己的方式逐渐转变成了研究的不同领域。


虽然最初很多人并不相信计算机可能成为科学研究的领域,但是随后的50年里也逐渐被学术界认可。[14]IBM公司是那段时期计算机科学革命的参与者之一。在那段探索时期,IBM(International Business Machines的缩写)发布的IBM 704以及之后的IBM 709计算机被广泛使用。“不过,使用IBM电脑工作仍然是一件很沮丧的事情。如果你弄错了一条指令中的一个字母,程序将会崩溃,而你也得从头再来。”[14]20世纪50年代后期,计算机科学学科還在发展階段,这種問題在当时是一件很常見的事情。


随着时间的推移,计算机科学技术在可用性和有效性上都有显著提升。现代社会见证了计算机从仅仅由专业人士使用到被广大用户接受的重大转变。最初,计算机非常昂贵,要有效利用它们,某种程度上必须得由专业的计算机操作员来完成。然而,随着计算机变得普及和低廉,已经几乎不需要专人的协助,虽然某些时候援助依旧存在。



主要成就





德军在二战时用于加密通信的恩尼格玛密码机。恩尼格玛加密信息在布莱切利园被大量破译被认为是帮助盟军在二战中获胜的重要因素。[15]


虽然计算机科学被认定为正式学术学科的历史很短暂,但仍对科学和社会作出了很多基础贡献。包括:



  • “数位革命”的开端:信息时代与互联网。[16]

  • 对于计算和可计算理论的正式定义,证明了存在计算上不可解英语Undecidable problem及难解型问题。[17]

  • 提出程式语言的概念,作為一种使用不同的抽象層次來精确表达處理程序的工具。[18]

  • 在密码学领域,恩尼格玛密码机的破译被视为盟军在二战取得胜利的重要因素。[15]


  • 科学计算实现了高复杂度处理的实用价值,以及完全使用软件进行实验。同时也实现了对人类思想的深入研究,使得人类基因组计划绘制人类基因成为可能。[16]还有探索蛋白质折叠的分布式计算项目Folding@home。


  • 算法交易增长了金融市场的经济效益与市场流通性,通过人工智能,机器学习及大规模的统计和数值技术。[19]


  • 電腦成像廣泛用於娛樂,包括電視、電影、廣告、動畫、電子遊戲等。[來源請求]


  • 自然语言处理,包括语音到文字(speech-to-text)转换、语言间的自动翻译[來源請求]

  • 对各种过程的模拟,包括计算流体力学、物理、电气、电子系统和电路,以及同人类居住地联系在一起的社会和社会形态(尤其是战争游戏,war games)。现代计算机能够对这些设计进行优化,如飞机设计。尤其在电气与电子电路设计中,SPICE软件对新的物理实现(或修改)设计具有很大帮助。它包含了针对集成电路的基本设计软件。[來源請求]



哲学



Peter Wegner英语Peter Wegner提出计算机科学可以分成三个领域:数学、工程学、科學。Amnon H. Eden提议了三种范式应用于计算机科学的各个领域:[20]



  • “理性主义范式”,将计算机科学看作是数学的分支,在理论计算机科学中很流行,主要利用演绎推理。

  • “技术专家范式”,这类范式有着很明显的工程学倾向,尤其是在软件工程领域。

  • “科学范式”,人工智能的某些分支可以作为这类范式的代表(比如说对于人工生命的研究)。



计算机科学的领域


作为一个学科,计算机科学涵盖了从算法的理论研究和计算的极限,到如何通过硬件和软件实现计算系统。[21][22]CSAB(以前被叫做Computing Sciences Accreditation Board),由Association for Computing Machinery(ACM)和IEEE计算机协会英语IEEE Computer Society(IEEE-CS)的代表组成[23],确立了计算机科学学科的4个主要领域:计算理论算法与数据结构编程方法与编程语言,以及计算机组成与架构。CSAB还确立了其它一些重要领域,如软件工程,人工智能,计算机网络与通信,数据库系统,并行计算,分布式计算,人机交互,计算机图形学,操作系统,以及数值和符号计算。



理论计算机科学



广义的理论计算机科学包括经典的计算理论和其它專注于更抽象、逻辑与数学方面的计算。



数据结构和算法


















O(n2){displaystyle O(n^{2})}O(n^{2})

Sorting quicksort anim.gif

Singly linked list.png

SimplexRangeSearching.png

6n-graf.svg

算法分析

算法

数据结构

计算几何

图论

算法指定义良好的计算过程,它取一个或一组值作为输入,经过一系列定义好的计算过程,得到一个或一组输出。[24]算法是计算机科学研究的一个重要领域,也是许多其他计算机科学技术的基础。算法主要包括数据结构、计算几何、图论等。除此之外,算法还包括许多杂项,如模式匹配、部分数论等。



计算理论



按照Peter J. Denning的说法,计算机科学的最根本问题是“什么能够被有效地自动化?”[6]计算理论的研究就是專注于回答这个根本问题,关于什么能够被计算,去实施这些计算又需要用到多少资源。为了试图回答第一个问题,递归论检验在多种理论计算模型中哪个计算问题是可解的。而计算复杂性理论则被用于回答第二个问题,研究解决一个不同目的的计算问题的时间与空间消耗。


著名的“P=NP?”问题,千禧年大奖难题之一,[25]是计算理论的一个开放问题英语open problem


















DFAexample.svg

Wang tiles.png

P = NP ?

GNITIRW-TERCES

Blochsphere.svg

自动机理论

递归论

计算复杂性理论

密码学

量子计算论


信息论与编码理论



信息论与信息量化相关,由克劳德·香农创建,用于寻找信号处理操作的根本极限,比如压缩数据和可靠的数据存储与通讯。编码理论是对编码以及它们适用的特定应用性质的研究。编码(code)被用于数据压缩,密码学,前向纠错,近期也被用于网络编码。研究编码的目的在于设计更高效、可靠的数据传输方法。



编程语言和编译器



编程语言理论是计算机科学的一个分支,主要处理编程语言的设计、实现、分析、描述和分类,以及它们的个体特性。它属于计算机科学学科,既受影响于也影响着数学、软件工程和语言学。它是公认的计算机科学分支,同时也是活跃的研究领域,研究成果被发表在众多学术期刊,计算机科学以及工程出版物。














Γx:Int{displaystyle Gamma vdash x:{text{Int}}}Gamma vdash x:{text{Int}}

Ideal compiler.png

Python add5 syntax.svg

类型论

编译器设计

程序设计语言


形式化方法



形式化方法是一种特别的基于数学的技术,用于软件和硬件系统的形式规范、开发以及驗證。在软件和硬件设计方面,形式化方法的使用动机,如同其它工程学科,是通过适当的数学分析便有助于设计的可靠性和健壮性的期望。但是,使用形式化方法会带来很高的成本,意味着它们通常只用于高可靠性系统,这种系统中安全或保安(security)是最重要的。对于形式化方法的最佳形容是各种理论计算机科学基础种类的应用,特别是计算机逻辑演算,形式语言,自动机理论和形式语义学,此外还有类型系统、代数数据类型,以及软件和硬件规范和验证中的一些问题。



计算机系统



计算机体系结构与计算机工程



计算机系统结构,或者数字计算机组织,是一个计算机系统的概念设计和根本运作结构。它主要侧重于CPU的内部执行和内存访问地址。这个领域经常涉及计算机工程和电子工程学科,选择和互连硬件组件以创造满足功能、性能和成本目标的计算机。














NOR ANSI.svg

Fivestagespipeline.png

SIMD.svg

数字电路

微架构

多处理机


操作系统



操作系统是管理电脑硬体与软体资源的电脑程式,同时也是电脑系统的核心与基石。作业系统需要处理如管理与配置记忆体、决定系统资源供需的优先次序、控制输入与输出装置、操作网路与管理档案系统等基本事务。作业系统也提供一个让使用者与各电脑设备互动的操作介面。



并发、并行与分布式系统



并发性(concurrency)是系统的一种性质,这类系统可以同时执行多个可能互相交互的计算。一些数学模型,如Petri网、进程演算和PRAM模型,被建立以用于通用并发计算。分布式系统将并发性的思想扩展到了多台由网络连接的计算机。同一分布式系统中的计算机拥有自己的私有内存,它们之间经常交换信息以达到一个共同的目的。



计算机网络



计算机网络是管理遍及全球的计算机连接成的网络的计算机科学分支。



计算机安全和密码学



计算机安全是计算机技术的一个分支,其目标包括保护信息免受未经授权的访问、中断和修改,同时为系统的预期用户保持系统的可访问性和可用性。密码学是对于隐藏(加密)和破译(解密)信息的实践与研究。现代密码学主要跟计算机科学相关,很多加密和解密算法都是基于它们的计算复杂性。



数据库



数据库是为了更容易地组织、存储和检索大量数据。数据库由数据库管理系统管理,通过数据模型和查询语言来存储、创建、维护和搜索数据。



计算机应用技术



计算机图形学



计算机图形学是对于数字视觉内容的研究,涉及图像数据的合成和操作。它跟计算机科学的许多其它领域密切相关,包括计算机视觉、图像处理、计算几何与可视化,同时也被大量运用在特效和电子游戏。



科学计算


科学计算(或者计算科学)是关注构建数学模型和量化分析技术的研究领域,同时通过计算机分析和解决科学问题。在实际使用中,它通常是计算机模拟和计算等形式在各个科学学科问题中的应用。
















Lorenz attractor yb.svg

Quark wiki.jpg

Naphthalene-3D-balls.png

1u04-argonaute.png

数值分析

计算物理学

计算化学

生物信息学


多媒体技术



数据挖掘


資料探勘也就是將人類在過去的歷史當中所收集的資料,加以匯集起來,再將這些資料結合機器學習,來達到分析、管理、前瞻等能力。



人工智能



这个计算机科学分支旨在创造可以解决计算问题,以及像动物和人类一样思考与交流的人造系统。无论是在理论还是应用上,都要求研究者在多个学科领域具备细致的、综合的专长,比如应用数学,逻辑,符号学,电机工程学,精神哲学,神经生理学和社会智力,用于推动智能研究领域,或者被应用到其它需要计算理解与建模的学科领域,如金融或是物理科学。人工智能领域开始变得正式源于Alan Turing这位人工智能先驱提出了图灵试验,以回答这样一个终极问题:“计算机能够思考吗?”



自动推理


机器学习

机器学习是人工智慧的其中一个分支,让机器可以自动学习、从巨量资料中找到规则,进而有能力做出预测。人工智慧让过去只能透过人类或动物智慧解决的问题也能透过电脑系统迎刃而解;机器人是自动执行工作的机器装置,而人工智慧则可以让机器人快速、精准处理大量资料。简单来说,机器人像是人的「身躯」,人工智慧则是人的「脑」。[26]



计算机视觉


自然语言处理


软件工程



软件工程是对于设计、实现和修改软件的研究,以确保软件的高质量、适中的价格、可维护性,以及能够快速构建。它是一个系统的软件设计方法,涉及工程实践到软件的应用。


计算机科学和软件工程的关系是一个有争议的话题,随后关于什么是“软件工程”,计算机科学又该如何定义的争论使得情况更加混乱。David Parnas从其它工程和科学学科之间的关系得到启示,宣称计算机科学的主要重点总的来说是研究计算的性质,而软件工程的主要重点是具体的计算设计,以达到实用的目的,这样便构成了两个独立但又互补的学科。[27]



学术界



会议




期刊




作为高等教育的二级专业




印度一個二手電腦書攤


一些教授计算机科学的大学[哪個/哪些?]主要进行计算和算法推理的研究。其中包括计算理论、算法分析、形式化方法、并行理论、数据库、计算机图形学以及系统分析等。通常也教授程序设计,但仅仅将它看作是支持计算机科学其它领域的媒介,而不是高级研究的重心。


其它一些学院、大学、中学以及职业培训[哪個/哪些?]的计算机科学课程则主要侧重于训练高级编程,而不是算法和计算理论。这些课程着重教授那些对于软件工业很重要的技能。像这样的计算机编程过程通常被叫做软件工程。


然而,尽管计算机科学专业日益推动着美国经济,但是计算机科学教育依然不存在大多数美国K-12课程中。2010年10月由ACM和计算机科学教师协会(CSTA)共同发表了一篇名为“Running on Empty: The Failure to Teach K-12 Computer Science in the Digital Age”的报告,文中揭示了仅有14个州通过了有意义的高中计算机科学教育标准。同时,仅有9个州将高中计算机科学课程算作毕业要求的核心学科。配合“Running on Empty”这篇文章,一个新的无党派宣传联盟:Computing in the Core(CinC)被建立,以影响联邦和政府政策,比如Computer Science Education Act要求政府拨款以制定计划完善计算机科学教育及支持计算机科学教师。


在中国,“计算机科学”或“计算机科学与技术”是工科(一级门类)下的二级专业。一般可细分为三级专业:




  • 计算机软件:围绕着软件开发、软件工程、编程语言等


  • 计算机应用:计算机的各种应用算法、技术。如:模式识别、计算视觉、计算机图形学等等。


  • 计算机体系结构:关于计算机或计算机信息系统的“硬件”。



工业界



参考文献





  1. ^ Comer, D. E.; Gries, David; Mulder, Michael C.; Tucker, Allen; Turner, A. Joe; Young, Paul R. /Denning. Computing as a discipline. Communications of the ACM. 1989-01-01, 32 (1): 9–23. ISSN 0001-0782. doi:10.1145/63238.63239. Computer science and engineering is the systematic study of algorithmic processes-their theory, analysis, design, efficiency, implementation, and application-that describe and transform information. 


  2. ^ Wegner, P. Research paradigms in computer science. Proceedings of the 2nd international Conference on Software Engineering. San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA. October 13–15, 1976. Computer science is the study of information structures 


  3. ^ "Common myths and preconceptions about Cambridge Computer Science" Computer Science Department 互联网档案馆的存檔,存档日期2010-11-25., University of Cambridge


  4. ^ Communications of the ACM 1(4):p.6


  5. ^ Communications of the ACM 2(1):p.4


  6. ^ 6.06.1 Denning, P.J. Computer Science: The Discipline (PDF). Encyclopedia of Computer Science. 2000. (原始内容 (PDF)存档于2006-05-25). 


  7. ^ Nigel Tout. Calculator Timeline. Vintage Calculator Web Museum. 2006 [2006-09-18]. 


  8. ^ A Selection and Adaptation From Ada's Notes found in "Ada, The Enchantress of Numbers," by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA. [2006-05-04]. (原始内容存档于2006-02-10). 


  9. ^ Science Museum - Introduction to Babbage. [2006-09-24]. (原始内容存档于2006-09-08). 


  10. ^ IBM Punch Cards in the U.S. Army. [2006-09-24]. 


  11. ^ The Association for Computing Machinery (ACM) was founded in 1947.


  12. ^ CAM.ac.uk


  13. ^ Computer science pioneer Samuel D. Conte dies at 85 互联网档案馆的存檔,存档日期2010-12-08. July 1, 2002


  14. ^ 14.014.1 Levy, Steven. Hackers: Heroes of the Computer Revolution. Doubleday. 1984. ISBN 0-385-19195-2. 


  15. ^ 15.015.1 David Kahn, The Codebreakers, 1967, ISBN 978-0-684-83130-5.


  16. ^ 16.016.1 Cornell.edu 互联网档案馆的存檔,存档日期2006-09-11.


  17. ^ Constable, R.L. Computer Science: Achievements and Challenges circa 2000 (PDF). March 2000. 


  18. ^ Abelson, H.; G.J. Sussman with J. Sussman. Structure and Interpretation of Computer Programs 2nd. MIT Press. 1996. ISBN 0-262-01153-0. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology — the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects.  引文使用过时参数coauthors (帮助)


  19. ^ Black box traders are on the march The Telegraph, August 26, 2006


  20. ^ Eden, Amnon H. Three Paradigms of Computer Science. Minds and Machines. 2007-07-01, 17 (2): 135–167. ISSN 0924-6495. doi:10.1007/s11023-007-9060-8 (英语). 


  21. ^ Computing Sciences Accreditation Board. Computer Science as a Profession. 28 May 1997 [2010-05-23]. (原始内容存档于17 六月 2008).  请检查|archive-date=中的日期值 (帮助)


  22. ^ Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council. Computer Science: Reflections on the Field, Reflections from the Field. National Academies Press. 2004. ISBN 978-0-309-09301-9. 


  23. ^ CSAB, Inc.


  24. ^ 《算法导论》1.1[美]Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein著, 潘金贵、顾铁成、李成法、叶懋译,机械工业出版社 2011年7月第1版


  25. ^ Clay Mathematics Institute WebCite的存檔,存档日期2007-07-30 P=NP


  26. ^ 【BigData大會搶先看】人工智慧和機器學習有何不同?哈佛AI專家告訴你. iThome. [2018-01-13] (中文(繁體)‎). 


  27. ^ Parnas, David Lorge. Software engineering programmes are not computer science programmes. Annals of Software Engineering. 1998-03-01, 6 (1-4): 19–37. ISSN 1022-7091. doi:10.1023/a:1018949113292 (英语). Rather than treat software engineering as a subfield of computer science, I treat it as an element of the set, Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering, [...] 




延伸阅读


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}

概述



  • Tucker, Allen B. Computer Science Handbook 2nd. Chapman and Hall/CRC. 2004. ISBN 158488360X. 
    • "Within more than 70 chapters, every one new or significantly revised, one can find any kind of information and references about computer science one can imagine. [...] all in all, there is absolute nothing about Computer Science that can not be found in the 2.5 kilogram-encyclopaedia with its 110 survey articles [...]." (Christoph Meinel, Zentralblatt MATH)



  • van Leeuwen, Jan. Handbook of Theoretical Computer Science. The MIT Press. 1994. ISBN 0262720205. 
    • "[...] this set is the most unique and possibly the most useful to the [theoretical computer science] community, in support both of teaching and research [...]. The books can be used by anyone wanting simply to gain an understanding of one of these areas, or by someone desiring to be in research in a topic, or by instructors wishing to find timely information on a subject they are teaching outside their major areas of expertise." (Rocky Ross, SIGACT News)



  • Ralston, Anthony; Reilly, Edwin D.; Hemmendinger, David. Encyclopedia of Computer Science 4th. Grove's Dictionaries. 2000. ISBN 156159248X. 
    • "Since 1976, this has been the definitive reference work on computer, computing, and computer science. [...] Alphabetically arranged and classified into broad subject areas, the entries cover hardware, computer systems, information and data, software, the mathematics of computing, theory of computation, methodologies, applications, and computing milieu. The editors have done a commendable job of blending historical perspective and practical reference information. The encyclopedia remains essential for most public and academic library reference collections." (Joe Accardin, Northeastern Illinois Univ., Chicago)



论文选集


  • Knuth, Donald E. Selected Papers on Computer Science. CSLI Publications, Cambridge University Press. 1996. 
    • "Covering a period from 1966 to 1993, its interest lies not only in the content of each of these papers — still timely today — but also in their being put together so that ideas expressed at different times complement each other nicely." (N. Bernard, Zentralblatt MATH)


文章


  • Peter J. Denning. Is computer science science?, Communications of the ACM, April 2005.

  • Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004.

  • Research evaluation for computer science, Informatics Europe report. Shorter journal version: Bertrand Meyer, Christine Choppy, Jan van Leeuwen and Jorgen Staunstrup, Research evaluation for computer science, in Communications of the ACM, vol. 52, no. 4, pp. 31-34, April 2009.


课程与分类



  • Association for Computing Machinery. 1998 ACM Computing Classification System. 1998.

  • Joint Task Force of Association for Computing Machinery (ACM), Association for Information Systems (AIS) and IEEE Computer Society (IEEE-CS). Computing Curricula 2005: The Overview Report. September 30, 2005.


  • Norman Gibbs, Allen Tucker. "A model curriculum for a liberal arts degree in computer science". Communications of the ACM, Volume 29 Issue 3, March 1986.




外部链接



































  • 开放式目录计划中和计算机科学相关的内容

  • Scholarly Societies in Computer Science

  • Best Papers Awards in Computer Science since 1996


  • Photographs of computer scientists by Bertrand Meyer


参考文献和学术搜索引擎



  • CiteSeerx: search engine, digital library and repository for scientific and academic papers with a focus on computer and information science.


  • DBLP Computer Science Bibliography: computer science bibliography website hosted at Universität Trier, in Germany.

  • The Collection of Computer Science Bibliographies


Webcast


  • Directory of free university lectures in Computer Science

  • Collection of computer science lectures

  • UCLA Computer Science 1 Freshman Computer Science Seminar Section 1

  • Berkeley Introduction to Computers



参见






  • 计算机科学家的学术家谱

  • 计算机科学家

  • 计算

  • 计算机科学的历史

  • 信息学

  • 学术计算机科学系列表

  • 计算机科学会议列表

  • 计算机科学家列表

  • 计算机科学开放问题列表

  • 计算机科学出版物列表

  • 计算机科学先驱列表

  • 软件工程主题列表

  • 计算机科学的哲学

  • 计算机领域中的女性

  • 计算机

  • 计算尺

  • 算盤

  • 語言

  • 科学

  • 科学家

  • 算籌

  • 科學會議

  • 計算機遊戲

  • 按揭計算機

  • 計算機程式

  • CASIO 計算機

  • 計算機工程

  • 桌上型計算機








Comments

Popular posts from this blog

Information security

Lambak Kiri

章鱼与海女图