前言:
此时咱们对“计算机算法是什么课”可能比较重视,姐妹们都想要了解一些“计算机算法是什么课”的相关文章。那么小编同时在网摘上收集了一些有关“计算机算法是什么课””的相关内容,希望大家能喜欢,各位老铁们一起来了解一下吧!计算作为一门学科
摘自:《 Computing as a discipline 》
计算机科学与工程是对描述和转换信息的算法过程的理论、分析、设计、效率、实现和应用的系统研究。所有计算背后的根本问题是,什么可以(有效地)自动化。这门学科诞生于20世纪40年代初,伴随着算法理论、数学逻辑和存储程序电子计算机的发明而诞生。
计算的根源深深地延伸到数学和工程中。数学赋予领域分析能力;工程学赋予设计。该学科包含自己的理论、实验方法和工程,而大多数物理科学与应用其发现的工程学科(如化学和化学工程原理)不同。科学和工程是不可分割的,因为学科内科学和工程范式之间的基本相互作用。
几千年来,计算一直是数学的主要关注点。许多物理现象的模型被用来推导方程,这些方程的解可以预测这些现象,例如轨道的计算轨道的 轨迹弹道, 天气预报和流体流动。已经设计了许多求解此类方程的通用方法,例如线性方程组、微分方程组和积分函数的算法。几乎在同一时期,有助于机械系统设计的计算一直是工程界关注的主要问题。示例包括评估静态物体中的应力、计算运动物体的动量以及测量远大于或小于我们直接感知的距离的算法。
工程和数学之间长期相互作用的一个产物就是计算的机械辅助。
一些测量员和航海家的仪器可以追溯到一千年前。帕斯卡和莱布尼茨在17世纪中期制造了算术计算器。1830年代,巴贝奇构想了一种“分析引擎”,它可以机械地、无误差地计算对数、三角函数和其他一般算术函数。他的机器从未完成,为后来的工作提供了灵感。1920年代,布什建造了一台电子模拟计算机,用于求解一般微分方程组。在同一时期,能够进行加法、减法、乘法、除法和平方根计算的机电计算机器变得可用。电子触发器提供了从这些机器到没有移动部件的数字版本的自然桥梁。
逻辑是数学的一个分支,涉及推理的有效性标准和推理的形式原则。自欧几里得时代以来,它就一直是严谨的数学和科学论证的工具。在19世纪,人们开始寻找一个普遍的逻辑系统,它将摆脱已知演绎系统中观察到的不完整性。在一个完整的系统中,可以机械地确定任何给定的陈述是真是假。1931年,哥德尔发表了他的“不完备性定理”,表明不存在这样的系统。在19世纪30年代末,图灵探索了一种通用计算机的想法,它可以模拟任何其他计算机的任何逐步过程。他的发现与哥德尔的相似:一些定义明确的问题无法通过任何机械程序解决。逻辑之所以重要,不仅是因为它对自动计算的局限性有深刻的见解,还因为它对符号串(可能编码为数字)既可以解释为数据,也可以解释为程序的见解。
这种洞察力是区分存储程序计算机和计算机器的关键思想。算法的步骤被编码在机器表示中并存储在存储器中,以供处理器稍后解码和执行。机器代码可以从更高级的符号形式(编程语言)中机械地派生出来。
正是古老的计算和逻辑符号操作线程与现代的电子和信息的电子表示线程的明确而复杂的交织,催生了计算学科。
我们把计算学科划分为九个子领域:
1.算法和数据结构
2.编程语言
3.设计
4.数值和符号计算
5.操作系统
6.软件方法和工程
7.数据库和信息检索
8.人工智能和机器人
9.人机交互
每一个子领域都有一个基本的统一主题,一个重要的理论组成部分,重要的抽象,以及重要的设计和实现问题。理论涉及分区的基本数学发展,包括支持理论,如图论、组合数学或形式语言。抽象(或建模)处理潜在实现的模型;这些模型抑制了细节,同时保留了基本特征,并提供了预测未来行为的方法。设计涉及指定问题、导出需求和规范、迭代和测试原型以及实现系统的过程。设计包括实验方法,在计算中有几种风格:测量程序和系统,验证假设,以及将抽象扩展到实践的原型。
虽然软件方法论本质上与设计有关,但它也包含大量的理论和抽象元素。因此,我们将其确定为一个分区。另一方面,并行和分布式计算是遍及所有分区及其所有组件(理论、抽象和设计)的问题;它们既没有被识别为子区域,也没有被识别成子区域组件。
随后编号的章节以理论、抽象和设计三个部分提供了每个分区的详细信息。理论与抽象,抽象与设计之间的界限必然是模糊的;有些物品放在哪里是个人品味的问题。
我们的目的是通过展示学科的主要特征,而不是详细的地图,为学科提供指导。重要的是要记住,本学科指南不是课程或课程的计划;它只是一个可以设计课程的框架。同样重要的是要记住,本学科指南是生物体不断变化的快照。需要定期重新评估和修订。
标签: #计算机算法是什么课