我刚开始获得软件开发的文凭。现在,我们开始使用基本Java之类的(从底部您可能会说)--这很好,除了知道如何在Java中使用"Hello“之外,我没有编程经验。
我一直听说数学与编码有关,但这是怎么回事呢?有什么普通的例子可以说明数学和编程是如何结合在一起的,或者是相互依赖的?
我很抱歉我的问题含糊不清,我刚开始对我作为一个暗号猴子学生所涉足的世界有一个大致的了解…
发布于 2012-02-26 17:56:21
他们没有那么密切的关系。对于编程来说,了解数学是很重要的--尤其是那些与算法性能有关的分支,但简单的事实是,没有一个数学分支会告诉你,例如,单子是一个可怕的坏主意,或者什么时候偏爱继承而不是组合,或者你是否真的需要这种灵活性,不要重复自己,以及其他几十个核心编程需求。
数学也许能够表达你的程序所做的事情,但它肯定不能告诉你最容易维护、人类可读的、最可行的方法。
发布于 2012-02-26 19:34:53
数学和编程有两种联系。
一是数学可以用来对计算机程序进行推理。它可以帮助回答这样的问题:“随着输入数据的变化,我的程序的运行时间将如何变化?”、“我的程序一定能找到解决我的问题的答案吗?”、“我的程序是否尽可能高效?”、“我应该如何重新安排我的程序以使其更快或使用更少的内存?”您通常会在计算理论、算法设计和计算机语言设计的高级部门课程中介绍这些主题。
数学与程序的第二种方法是用编程来解决数学问题。这一点很重要,因为“普通生活”中的许多问题实际上可以重铸为数学问题,然后在计算机上解决(可能是近似的)。这些主题在几乎所有的课程中都会在某种程度上显示出来,特别是在离散数学和数学建模的课程中。
发布于 2012-02-26 18:21:15
数学教育对计算机科学很重要的两个具体例子是:
1)使用关系演算的关系数据库。
关系演算由两个计算器组成,即元组关系演算和领域关系演算,它们是数据库关系模型的一部分,并提供了一种声明式的方式来指定数据库查询。这与关系代数相反,关系代数也是关系模型的一部分,但它提供了一种指定查询的过程方式。关系代数可能建议采取以下步骤来检索提供一些示例图书的电话号码和书店名称:通过BookstoreID连接书店和书名。将该联接的结果限制为图书的元组(某些示例簿)。对StoreName和StorePhone进行该限制的结果。关系演算将形成一种描述性的、声明性的方法:获取StoreName和StorePhone作为供应品,这样就存在一个标题BK,它具有相同的BookstoreID值,并且具有一些样例图书的BookTitle值。关系代数和关系演算在逻辑上是等价的:对于任何代数表达式,演算中都有一个等价的表达式,反之亦然。这个结果称为Codd定理。
下一个领域是人工智能 (AI)和机器学习。
有关如何使用这些代码的示例,请查看udacity的类CS 373:机器人车的编程。
描述:这门课由人工智能领域的一位顶尖专家教授,将教授人工智能的基本方法,包括:概率推理、计算机视觉、机器学习和规划,所有这些方法都以机器人为重点。广泛的编程示例和作业将在建造自动驾驶汽车的背景下应用这些方法。你将有机会通过视频访问该领域的领先研究实验室,并会见在斯坦福和谷歌生产自动驾驶汽车的科学家和工程师。
先决条件:教师将具备扎实的编程知识,所有编程都将使用Python。概率论和线性代数的知识将有所帮助。
第一周:用粒子过滤器定位概率汽车的基础第2周:高斯和连续概率跟踪其他汽车用卡尔曼滤波器第3周:图像处理和机器学习传感器数据中的物体第4周:规划和搜索,用A*搜索,用动态规划找到最佳路线,第5周:用PID第6周控制控制方向盘和速度:把它们放在一起设计一个自动驾驶汽车周7:期末考试测试测试你的知识。
https://softwareengineering.stackexchange.com/questions/136987
复制相似问题