计算机科学:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
(机器人:将英文日期转换为ISO格式)
(机器人:清理不当的来源、移除无用的模板参数;整理源码)
 
第18行: 第18行:
{{各地中文名
{{各地中文名
|cn = 计算机科学
|cn = 计算机科学
|hk = 計算機科学<ref>{{Cite web |url=http://admission.cuhk.edu.hk/tc/programmes/CSCIN.html |title=存档副本 |access-date=2020-11-28 |||}}</ref><ref>{{Cite web |url=https://join.ust.hk/zh-hant/our-programs/school-of-engineering/computer-science |title=存档副本 |access-date=2020-11-28 |||}}</ref>、电脑科学<ref>{{Cite web |url=https://www.cityu.edu.hk/zh-hk/academic/colleges-schools-and-departments#directories-1 |title=存档副本 |access-date=2020-11-28 |||}}</ref>
|hk = 計算機科学<ref>{{Cite web |url=http://admission.cuhk.edu.hk/tc/programmes/CSCIN.html |title=存档副本 |access-date=2020-11-28 }}</ref><ref>{{Cite web |url=https://join.ust.hk/zh-hant/our-programs/school-of-engineering/computer-science |title=存档副本 |access-date=2020-11-28 }}</ref>、电脑科学<ref>{{Cite web |url=https://www.cityu.edu.hk/zh-hk/academic/colleges-schools-and-departments#directories-1 |title=存档副本 |access-date=2020-11-28 }}</ref>
|tw = 計算機科学<ref>{{Cite web |url=https://web.ee.ntu.edu.tw/research1.php?sn=109 |title=存档副本 |access-date=2020-11-28 |||}}</ref><ref>{{Cite web |url=http://web.ntnu.edu.tw/~algo/Science.html#1 |title=存档副本 |access-date=2020-11-28 |||}}</ref>、电脑科学
|tw = 計算機科学<ref>{{Cite web |url=https://web.ee.ntu.edu.tw/research1.php?sn=109 |title=存档副本 |access-date=2020-11-28 }}</ref><ref>{{Cite web |url=http://web.ntnu.edu.tw/~algo/Science.html#1 |title=存档副本 |access-date=2020-11-28 }}</ref>、电脑科学
|sg = 电脑科学<ref>{{cite web |title=电脑科学学士(荣誉) |url=https://www.uowmkdu.edu.my/zh-hans/programme/bachelor-of-computer-science-hons/ |accessdate=2021-01-21 |||}}</ref>
|sg = 电脑科学<ref>{{cite web |title=电脑科学学士(荣誉) |url=https://www.uowmkdu.edu.my/zh-hans/programme/bachelor-of-computer-science-hons/ |accessdate=2021-01-21 }}</ref>
}}
}}


第38行: 第38行:
早期计算机科学建立的基础得追溯到最近[[电子计算机]]的发明。那些计算固定数值任务的机器,比如[[算盘]],自古希腊时期即已存在,而用于加快计算的[[算法]]更是在算盘等古老的计算仪器发明之前就已被广泛使用。
早期计算机科学建立的基础得追溯到最近[[电子计算机]]的发明。那些计算固定数值任务的机器,比如[[算盘]],自古希腊时期即已存在,而用于加快计算的[[算法]]更是在算盘等古老的计算仪器发明之前就已被广泛使用。


[[Wilhelm Schickard]]在1623年设计了世界上第一台机械计算器,但没有完成它的建造。<ref>{{Cite web |title=Calculator Timeline |url=http://www.vintagecalculators.com/html/calculator_time-line.html |accessdate=2006-09-18 |author=Nigel Tout |date=2006 |work=Vintage Calculator Web Museum |||}}</ref>[[布莱兹·帕斯卡]]在1642年设计并且建造了世界上第一台可以工作的机械计算器[[Pascal's calculator|Pascaline]]。1673年,[[莱布尼兹]]开始了{{tsl|en|Stepped reckoner|步进计算器}}的建造工作并于1694年竣工,他也因为记录了二进制系统而被认为是第一个计算机科学家和信息理论家。[[埃达·洛夫莱斯]]协助[[查尔斯·巴贝奇]]在[[维多利亚时代]]设计了[[差分机]]<ref>{{Cite web |title=Science Museum - Introduction to Babbage |url=http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |accessdate=2006-09-24 |||}}</ref><ref>{{Cite web |title=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 |url=http://www.scottlan.edu/Lriddle/women/ada-love.htm |accessdate=2006-05-04 |||}}</ref>。1900年左右,[[打孔机]]问世<ref>{{Cite web |title=IBM Punch Cards in the U.S. Army |url=http://www.pattonhq.com/ibm.html |accessdate=2006-09-24 |||}}</ref>。然而以上这些机器都局限在只能完成单个任务,或者充其量是所有可能任务的子集。
[[Wilhelm Schickard]]在1623年设计了世界上第一台机械计算器,但没有完成它的建造。<ref>{{Cite web |title=Calculator Timeline |url=http://www.vintagecalculators.com/html/calculator_time-line.html |accessdate=2006-09-18 |author=Nigel Tout |date=2006 |work=Vintage Calculator Web Museum }}</ref>[[布莱兹·帕斯卡]]在1642年设计并且建造了世界上第一台可以工作的机械计算器[[Pascal's calculator|Pascaline]]。1673年,[[莱布尼兹]]开始了{{tsl|en|Stepped reckoner|步进计算器}}的建造工作并于1694年竣工,他也因为记录了二进制系统而被认为是第一个计算机科学家和信息理论家。[[埃达·洛夫莱斯]]协助[[查尔斯·巴贝奇]]在[[维多利亚时代]]设计了[[差分机]]<ref>{{Cite web |title=Science Museum - Introduction to Babbage |url=http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |accessdate=2006-09-24 }}</ref><ref>{{Cite web |title=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 |url=http://www.scottlan.edu/Lriddle/women/ada-love.htm |accessdate=2006-05-04 }}</ref>。1900年左右,[[打孔机]]问世<ref>{{Cite web |title=IBM Punch Cards in the U.S. Army |url=http://www.pattonhq.com/ibm.html |accessdate=2006-09-24 }}</ref>。然而以上这些机器都局限在只能完成单个任务,或者充其量是所有可能任务的子集。


到了20世纪40年代,随着更新更强大的计算机器(如[[ABC计算机]]、[[电子数值积分计算机]])被发明,术语“计算机”开始用于指代那些机器而不是它们的祖先。<ref>[[Association for Computing Machinery]] (ACM) 建立于1947.</ref>计算机的概念变得更加清晰,它不仅仅用于数学运算,总的来说计算机科学的领域也扩展到了对于[[计算]]的研究。20世纪50年代至20世纪60年代早期,计算机科学开始被确立为不同种类的学术学科。<ref>{{Cite web |url=http://www.cl.cam.ac.uk/conference/EDSAC99/statistics.html |title=CAM.ac.uk |accessdate=2010-11-20 |||}}</ref>世界上第一个计算机科学学位点由[[普渡大学]]在1962年设立。<ref>[http://www.cs.purdue.edu/feature/conte.html Computer science pioneer Samuel D. Conte dies at 85] July 1, 2002</ref>随着实用计算机的出现,很多计算的应用都以它们自己的方式逐渐转变成了研究的不同领域。
到了20世纪40年代,随着更新更强大的计算机器(如[[ABC计算机]]、[[电子数值积分计算机]])被发明,术语“计算机”开始用于指代那些机器而不是它们的祖先。<ref>[[Association for Computing Machinery]] (ACM) 建立于1947.</ref>计算机的概念变得更加清晰,它不仅仅用于数学运算,总的来说计算机科学的领域也扩展到了对于[[计算]]的研究。20世纪50年代至20世纪60年代早期,计算机科学开始被确立为不同种类的学术学科。<ref>{{Cite web |url=http://www.cl.cam.ac.uk/conference/EDSAC99/statistics.html |title=CAM.ac.uk |accessdate=2010-11-20 }}</ref>世界上第一个计算机科学学位点由[[普渡大学]]在1962年设立。<ref>[http://www.cs.purdue.edu/feature/conte.html Computer science pioneer Samuel D. Conte dies at 85] July 1, 2002</ref>随着实用计算机的出现,很多计算的应用都以它们自己的方式逐渐转变成了研究的不同领域。


虽然最初很多人并不相信计算机可能成为科学研究的领域,但是随后的50年里也逐渐被学术界认可。<ref name="Levy1984">{{Cite book |title=[[Hackers: Heroes of the Computer Revolution]] |last=Levy |first=Steven ||date=1984 |publisher=Doubleday |isbn=0-385-19195-2}}</ref>[[IBM]]公司是那段时期计算机科学革命的参与者之一。在那段探索时期,IBM(International Business Machines的缩写)发布的IBM 704以及之后的IBM 709计算机被广泛使用。“不过,使用IBM电脑工作仍然是一件很沮丧的事情。如果你弄错了一条指令中的一个字母,程序将会崩溃,而你也得从头再来。”<ref name="Levy1984" />20世纪50年代后期,计算机科学学科還在发展阶段,这种問題在当时是一件很常见的事情。
虽然最初很多人并不相信计算机可能成为科学研究的领域,但是随后的50年里也逐渐被学术界认可。<ref name="Levy1984">{{Cite book |title=[[Hackers: Heroes of the Computer Revolution]] |last=Levy |first=Steven ||date=1984 |publisher=Doubleday |isbn=0-385-19195-2}}</ref>[[IBM]]公司是那段时期计算机科学革命的参与者之一。在那段探索时期,IBM(International Business Machines的缩写)发布的IBM 704以及之后的IBM 709计算机被广泛使用。“不过,使用IBM电脑工作仍然是一件很沮丧的事情。如果你弄错了一条指令中的一个字母,程序将会崩溃,而你也得从头再来。”<ref name="Levy1984" />20世纪50年代后期,计算机科学学科還在发展阶段,这种問題在当时是一件很常见的事情。
第47行: 第47行:


=== 主要成就 ===
=== 主要成就 ===
[[File:Enigma.jpg|缩略图|[[德国|德]]军在[[第二次世界大战|二战]]时用于加密通信的[[恩尼格玛密码机]]。恩尼格玛加密信息在[[布莱切利园]]被大量破译被认为是帮助盟军在二战中获胜的重要因素。<ref name="kahnbook" />]]
[[File:Enigma.jpg|thumb|[[德国|德]]军在[[第二次世界大战|二战]]时用于加密通信的[[恩尼格玛密码机]]。恩尼格玛加密信息在[[布莱切利园]]被大量破译被认为是帮助盟军在二战中获胜的重要因素。<ref name="kahnbook" />]]


虽然计算机科学被认定为一门正规学科的历史很短暂,但它对科学和社会做出了许多根本性的贡献ー事实上,计算机科学与[[电子学]]一样,是[[信息时代]]的奠基科学,也是[[资訊革命]]的驱动力,被视为继[[第一次工业革命|工业革命]](公元1750-1850年)和[[新石器革命]](公元前8000-5000年)之后人类技术进步的第三次重大飞跃。
虽然计算机科学被认定为一门正规学科的历史很短暂,但它对科学和社会做出了许多根本性的贡献ー事实上,计算机科学与[[电子学]]一样,是[[信息时代]]的奠基科学,也是[[资訊革命]]的驱动力,被视为继[[第一次工业革命|工业革命]](公元1750-1850年)和[[新石器革命]](公元前8000-5000年)之后人类技术进步的第三次重大飞跃。
第53行: 第53行:
这些贡献包括:
这些贡献包括:


* 开启“[[数字化革命]]”,包括当今的[[信息时代]]和[[互联网]]。<ref name="bgu">{{Cite web |title=Computer Science : Achievements and Challenges circa 2000 |url=http://www.cis.cornell.edu/Dean/Presentations/Slides/bgu.pdf |accessdate=2007-01-11 |||}}</ref>
* 开启“[[数字化革命]]”,包括当今的[[信息时代]]和[[互联网]]。<ref name="bgu">{{Cite web |title=Computer Science : Achievements and Challenges circa 2000 |url=http://www.cis.cornell.edu/Dean/Presentations/Slides/bgu.pdf |accessdate=2007-01-11 }}</ref>
* 对[[计算]]和[[可计算性]]的形式定义,证明了存在计算上[[不可判定问题|不可解]]及[[計算复杂性理论|难解型]]问题。<ref>{{Cite journal |title=Computer Science: Achievements and Challenges circa 2000 |author=Constable, R.L. |url=http://www.cs.cornell.edu/cis-dean/bgu.pdf |date=2000-03 |access-date=2010-12-20 |||}}</ref>
* 对[[计算]]和[[可计算性]]的形式定义,证明了存在计算上[[不可判定问题|不可解]]及[[計算复杂性理论|难解型]]问题。<ref>{{Cite journal |title=Computer Science: Achievements and Challenges circa 2000 |author=Constable, R.L. |url=http://www.cs.cornell.edu/cis-dean/bgu.pdf |date=2000-03 |access-date=2010-12-20 }}</ref>
* 提出[[程式语言]]的概念,作为一种使用不同的抽象層次来精确表达处理程序的工具。<ref>{{Cite book |title=Structure and Interpretation of Computer Programs |last=Abelson |first=H. ||last2=G.J. Sussman with J. Sussman |publisher=MIT Press |year=1996 |isbn=978-0-262-01153-2 |edition=2nd |quote=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. |title-link=Structure and Interpretation of Computer Programs}}</ref>
* 提出[[程式语言]]的概念,作为一种使用不同的抽象層次来精确表达处理程序的工具。<ref>{{Cite book |title=Structure and Interpretation of Computer Programs |last=Abelson |first=H. ||last2=G.J. Sussman with J. Sussman |publisher=MIT Press |year=1996 |isbn=978-0-262-01153-2 |edition=2nd |quote=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. |title-link=Structure and Interpretation of Computer Programs}}</ref>
* 在[[密码学]]领域,[[恩尼格玛密码机]]的破译被视为盟军在二战取得胜利的重要因素。<ref name="kahnbook">[[David Kahn (writer)|David Kahn]], [[The Codebreakers]], 1967, {{ISBN|0-684-83130-9}}.</ref>
* 在[[密码学]]领域,[[恩尼格玛密码机]]的破译被视为盟军在二战取得胜利的重要因素。<ref name="kahnbook">[[David Kahn (writer)|David Kahn]], [[The Codebreakers]], 1967, {{ISBN|0-684-83130-9}}.</ref>
* [[计算科学|科学计算]]让分析实际中非常复杂的过程和场景成为可能,可以完全借助软件来进行一些实验。同时也实现了对人类思想的深入研究,使得[[人类基因组计划]]绘制人类基因成为可能。<ref name="bgu" />还有探索[[蛋白质折叠]]的[[分布式计算]]项目[[Folding@home]]。
* [[计算科学|科学计算]]让分析实际中非常复杂的过程和场景成为可能,可以完全借助软件来进行一些实验。同时也实现了对人类思想的深入研究,使得[[人类基因组计划]]绘制人类基因成为可能。<ref name="bgu" />还有探索[[蛋白质折叠]]的[[分布式计算]]项目[[Folding@home]]。
* [[算法交易]]通过使用[[人工智能]]、[[机器学习]]和其他大规模的统计和[[数值分析|数值]]方法,提高了金融市场的[[经济效率|效率]]和[[市场流通性|流通性]]。<ref>{{Cite news |url=https://www.telegraph.co.uk/money/main.jhtml?xml=/money/2006/08/27/ccsoft27.xml |title=Black box traders are on the march |date=2006-08-26 |newspaper=The Telegraph ||||accessdate=2021-05-17 }}</ref>高频率的算法交易也会加快[[波动性]]。<ref>{{Cite journal |title=The Impact of High Frequency Trading on an Electronic Market |url=http://faculty.chicagobooth.edu/john.cochrane/teaching/35150_advanced_investments/Kyle_etal_flash_crash.pdf |first=Andrei A. |last2=Kyle |first2=Albert S. |date=2017-01-06 |publisher=Papers.ssrn.com |doi=10.2139/ssrn.1686004 |ssrn=1686004 |last3=Samadi |first3=Mehrdad |last4=Tuzun |first4=Tugkan |last1=Kirilenko |journal= |access-date=2019-10-02 |||}}</ref>
* [[算法交易]]通过使用[[人工智能]]、[[机器学习]]和其他大规模的统计和[[数值分析|数值]]方法,提高了金融市场的[[经济效率|效率]]和[[市场流通性|流通性]]。<ref>{{Cite news |url=https://www.telegraph.co.uk/money/main.jhtml?xml=/money/2006/08/27/ccsoft27.xml |title=Black box traders are on the march |date=2006-08-26 |newspaper=The Telegraph ||||accessdate=2021-05-17 }}</ref>高频率的算法交易也会加快[[波动性]]。<ref>{{Cite journal |title=The Impact of High Frequency Trading on an Electronic Market |url=http://faculty.chicagobooth.edu/john.cochrane/teaching/35150_advanced_investments/Kyle_etal_flash_crash.pdf |first=Andrei A. |last2=Kyle |first2=Albert S. |date=2017-01-06 |publisher=Papers.ssrn.com |doi=10.2139/ssrn.1686004 |ssrn=1686004 |last3=Samadi |first3=Mehrdad |last4=Tuzun |first4=Tugkan |last1=Kirilenko |journal= |access-date=2019-10-02 }}</ref>
* [[计算机图形]]和[[电脑成像]](CGI)在现代娱乐中无处不在,尤其是在电视、[[电影制作|电影]]、广告、动画和视频游戏中。即便是没有用到[[电脑成像|CGI]]技术的电影,通常也是用[[数码相机]]拍摄,或者使用数字视频编辑器[[视频编辑|剪辑]]或[[Video post-processing|后期处理]]过的。<ref>{{Cite journal |title=How Digital Filmmakers Produced a Gorgeous Sci-Fi Movie on a Kickstarter Budget |url=https://www.wired.com/2013/01/kickstarted-scifi-movie/ |first=Timy |date=2013-01-30 |journal=Wired |accessdate=2015-11-24 |last1=Maly |||}}</ref><ref>{{Cite journal |title=How Tech Has Shaped Film Making: The Film vs. Digital Debate Is Put to Rest |url=https://www.wired.com/insights/2015/01/how-tech-shaped-film-making/ |first=Charles |date=2015-01-08 |journal=Wired |accessdate=2015-11-24 |last1=Matthau |||}}</ref>
* [[计算机图形]]和[[电脑成像]](CGI)在现代娱乐中无处不在,尤其是在电视、[[电影制作|电影]]、广告、动画和视频游戏中。即便是没有用到[[电脑成像|CGI]]技术的电影,通常也是用[[数码相机]]拍摄,或者使用数字视频编辑器[[视频编辑|剪辑]]或[[Video post-processing|后期处理]]过的。<ref>{{Cite journal |title=How Digital Filmmakers Produced a Gorgeous Sci-Fi Movie on a Kickstarter Budget |url=https://www.wired.com/2013/01/kickstarted-scifi-movie/ |first=Timy |date=2013-01-30 |journal=Wired |accessdate=2015-11-24 |last1=Maly }}</ref><ref>{{Cite journal |title=How Tech Has Shaped Film Making: The Film vs. Digital Debate Is Put to Rest |url=https://www.wired.com/insights/2015/01/how-tech-shaped-film-making/ |first=Charles |date=2015-01-08 |journal=Wired |accessdate=2015-11-24 |last1=Matthau }}</ref>
* [[仿真]]各种过程,包括计算[[流体动力学]]、物理、电气和电子系统和电路,以及同人类居住地联系在一起的社会和社会形态(尤其是战争游戏,war games)。现代计算机能够对这些设计进行优化,如飞机设计。尤其在电气与电子电路设计中,[[集成电路通用模拟程序|SPICE]]软件对新的物理实现(或修改)设计具有很大帮助。<ref>Muhammad H. Rashid, 2016. SPICE for Power Electronics and Electric Power. CRC Press. p. 6. {{ISBN|978-1-4398-6047-2}}.</ref>它包含了针对[[集成电路]]的基本设计软件。{{Citation needed|date=2010-10}}
* [[仿真]]各种过程,包括计算[[流体动力学]]、物理、电气和电子系统和电路,以及同人类居住地联系在一起的社会和社会形态(尤其是战争游戏,war games)。现代计算机能够对这些设计进行优化,如飞机设计。尤其在电气与电子电路设计中,[[集成电路通用模拟程序|SPICE]]软件对新的物理实现(或修改)设计具有很大帮助。<ref>Muhammad H. Rashid, 2016. SPICE for Power Electronics and Electric Power. CRC Press. p. 6. {{ISBN|978-1-4398-6047-2}}.</ref>它包含了针对[[集成电路]]的基本设计软件。{{Citation needed|date=2010-10}}
* [[人工智能]]变得越来越重要,因为它变得更加高效和复杂。人工智能的应用有很多,其中一些可以在家里看到,比如[[機器人吸塵器]]。它也出现在视频游戏和现代战场上的无人机、反导弹系统和{{le|步兵班组支援系统|Legged Squad Support System|小队支援机器人}}中。<ref>Marko B. Popovic, 2019. Biomechatronics. Elsevier Science. p. 501. {{ISBN|978-0-12-813041-4}}.</ref>
* [[人工智能]]变得越来越重要,因为它变得更加高效和复杂。人工智能的应用有很多,其中一些可以在家里看到,比如[[機器人吸塵器]]。它也出现在视频游戏和现代战场上的无人机、反导弹系统和{{le|步兵班组支援系统|Legged Squad Support System|小队支援机器人}}中。<ref>Marko B. Popovic, 2019. Biomechatronics. Elsevier Science. p. 501. {{ISBN|978-0-12-813041-4}}.</ref>
第66行: 第66行:
== 哲学 ==
== 哲学 ==
{{main|计算机科学的哲学}}
{{main|计算机科学的哲学}}
{{link-en|Peter Wegner|Peter Wegner}}提出计算机科学可以分成三个领域:数学、工程学、科学。Amnon H. Eden提议了三种[[范式]]应用于计算机科学的各个领域:<ref>{{Cite journal |title=Three Paradigms of Computer Science |url=https://link.springer.com/article/10.1007/s11023-007-9060-8 |last=Eden |first=Amnon H. |date=2007-07-01 |journal=Minds and Machines |issue=2 |doi=10.1007/s11023-007-9060-8 |volume=17 |pages=135–167 |language=en |issn=0924-6495 |access-date=2018-03-03 |||}}</ref>
{{link-en|Peter Wegner|Peter Wegner}}提出计算机科学可以分成三个领域:数学、工程学、科学。Amnon H. Eden提议了三种[[范式]]应用于计算机科学的各个领域:<ref>{{Cite journal |title=Three Paradigms of Computer Science |url=https://link.springer.com/article/10.1007/s11023-007-9060-8 |last=Eden |first=Amnon H. |date=2007-07-01 |journal=Minds and Machines |issue=2 |doi=10.1007/s11023-007-9060-8 |volume=17 |pages=135–167 |language=en |issn=0924-6495 |access-date=2018-03-03 }}</ref>
* “理性主义范式”,将计算机科学看作是数学的分支,在理论计算机科学中很流行,主要利用[[演绎推理]]。
* “理性主义范式”,将计算机科学看作是数学的分支,在理论计算机科学中很流行,主要利用[[演绎推理]]。
* “技术专家范式”,这类范式有着很明显的[[工程学]]倾向,尤其是在软件工程领域。
* “技术专家范式”,这类范式有着很明显的[[工程学]]倾向,尤其是在软件工程领域。
第72行: 第72行:


== 计算机科学的领域 ==
== 计算机科学的领域 ==
作为一个学科,计算机科学涵盖了从算法的理论研究和计算的极限,到如何通过硬件和软件实现计算系统。<ref name="CSAB1997">{{Cite web |title=Computer Science as a Profession |url=http://www.csab.org/comp_sci_profession.html |accessdate=2010-05-23 |author=Computing Sciences Accreditation Board |date=1997-05-28 |||}}</ref><ref>{{Cite book |url=http://www.nap.edu/catalog.php?record_id=11106#toc |title=Computer Science: Reflections on the Field, Reflections from the Field |last=Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council |date=2004 |publisher=National Academies Press |isbn=978-0-309-09301-9 |access-date=2010-12-20 |||}}</ref>[[CSAB (专业机构)|CSAB]](以前被叫做''Computing Sciences Accreditation Board''),由[[计算机协会|Association for Computing Machinery]](ACM)和{{link-en|IEEE计算机协会|IEEE Computer Society}}(IEEE-CS)的代表组成<ref>{{Cite web |url=http://www.csab.org/ |title=CSAB, Inc. |accessdate=2010-12-20 |||}}</ref>,确立了计算机科学学科的4个主要领域:''计算理论'',''算法与数据结构'',''编程方法与编程语言'',以及''计算机组成与架构''。CSAB还确立了其它一些重要领域,如软件工程,人工智能,计算机网络与通信,数据库系统,并行计算,分布式计算,人机交互,计算机图形学,操作系统,以及数值和符号计算。
作为一个学科,计算机科学涵盖了从算法的理论研究和计算的极限,到如何通过硬件和软件实现计算系统。<ref name="CSAB1997">{{Cite web |title=Computer Science as a Profession |url=http://www.csab.org/comp_sci_profession.html |accessdate=2010-05-23 |author=Computing Sciences Accreditation Board |date=1997-05-28 }}</ref><ref>{{Cite book |url=http://www.nap.edu/catalog.php?record_id=11106#toc |title=Computer Science: Reflections on the Field, Reflections from the Field |last=Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council |date=2004 |publisher=National Academies Press |isbn=978-0-309-09301-9 |access-date=2010-12-20 }}</ref>[[CSAB (专业机构)|CSAB]](以前被叫做''Computing Sciences Accreditation Board''),由[[计算机协会|Association for Computing Machinery]](ACM)和{{link-en|IEEE计算机协会|IEEE Computer Society}}(IEEE-CS)的代表组成<ref>{{Cite web |url=http://www.csab.org/ |title=CSAB, Inc. |accessdate=2010-12-20 }}</ref>,确立了计算机科学学科的4个主要领域:''计算理论'',''算法与数据结构'',''编程方法与编程语言'',以及''计算机组成与架构''。CSAB还确立了其它一些重要领域,如软件工程,人工智能,计算机网络与通信,数据库系统,并行计算,分布式计算,人机交互,计算机图形学,操作系统,以及数值和符号计算。


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


计算机科学和[[软件工程]]的关系是一个有争议的话题,随后关于什么是“软件工程”,计算机科学又该如何定义的争论使得情况更加混乱。[[David Parnas]]从其它工程和科学学科之间的关系得到启示,宣称计算机科学的主要重点总的来说是研究计算的性质,而软件工程的主要重点是具体的计算设计,以达到实用的目的,这样便构成了两个独立但又互补的学科。<ref>{{Cite journal |title=Software engineering programmes are not computer science programmes |url=https://link.springer.com/article/10.1023/A:1018949113292 |last=Parnas |first=David Lorge |date=1998-03-01 |journal=Annals of Software Engineering |issue=1-4 |doi=10.1023/a:1018949113292 |volume=6 |pages=19–37 |language=en |issn=1022-7091 |quote=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, [...] |access-date=2018-03-03 |||}}</ref>
计算机科学和[[软件工程]]的关系是一个有争议的话题,随后关于什么是“软件工程”,计算机科学又该如何定义的争论使得情况更加混乱。[[David Parnas]]从其它工程和科学学科之间的关系得到启示,宣称计算机科学的主要重点总的来说是研究计算的性质,而软件工程的主要重点是具体的计算设计,以达到实用的目的,这样便构成了两个独立但又互补的学科。<ref>{{Cite journal |title=Software engineering programmes are not computer science programmes |url=https://link.springer.com/article/10.1023/A:1018949113292 |last=Parnas |first=David Lorge |date=1998-03-01 |journal=Annals of Software Engineering |issue=1-4 |doi=10.1023/a:1018949113292 |volume=6 |pages=19–37 |language=en |issn=1022-7091 |quote=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, [...] |access-date=2018-03-03 }}</ref>




第262行: 第262行:


== 作为高等教育的二级专业 ==
== 作为高等教育的二级专业 ==
[[File:Bangalore India Tech books for sale (kid got in the shot) IMG 5255.jpg|缩略图|印度一个二手电脑书攤]]
[[File:Bangalore India Tech books for sale (kid got in the shot) IMG 5255.jpg|thumb|印度一个二手电脑书攤]]
大学通常主要进行计算和算法推理的研究。其中包括[[计算理论]]、[[算法分析]]、[[形式化方法]]、[[并行性|并行理论]]、[[数据库]]、[[计算机图形学]]以及[[系统分析]]等。通常也教授[[程序设计]],但仅仅将它看作是支持计算机科学其它领域的媒介,而不是高级研究的重心。也有大学的计算机科学课程则主要侧重于训练高级编程,而不是算法和计算理论。这些课程着重教授那些对于软件工业很重要的技能。像这样的计算机编程过程通常被叫做[[软件工程]]。
大学通常主要进行计算和算法推理的研究。其中包括[[计算理论]]、[[算法分析]]、[[形式化方法]]、[[并行性|并行理论]]、[[数据库]]、[[计算机图形学]]以及[[系统分析]]等。通常也教授[[程序设计]],但仅仅将它看作是支持计算机科学其它领域的媒介,而不是高级研究的重心。也有大学的计算机科学课程则主要侧重于训练高级编程,而不是算法和计算理论。这些课程着重教授那些对于软件工业很重要的技能。像这样的计算机编程过程通常被叫做[[软件工程]]。