你有什么样的数学概念对哪个领域最有用?例如,如果一个Linux内核开发者,一个程序员需要什么类型的数学知识?对于驱动程序开发人员,需要什么类型的数学?在我看来,除了计算机科学相关领域和游戏编程外,其他IT领域还需要核心数学吗?特定领域需要什么必要的数学技能?
回答
<metaphor>
拥有数学学位,数学锤使很多问题看起来像编程指甲。 <metaphor/>
这里有一些数学锤子:
- 线性代数解决近奇异矩阵在NMR光谱 (医学)
- 统计测试 质量的数据馈送的(见 Experiment design)
- combinatorics想知道如何到 击穿发电机组 (工程)
- 更组合学来算药物 组合(见N-sided dice)(医学再次)
- 复杂的算术看曼德勃罗集(学校)
- 蒙卡罗方法(物理, 金融模拟,和酒吧赌注)
- 演算解方程 (金融)
- 布尔逻辑(跨越所有 编程学科)
你可能会认为一个给定的数学课是在浪费时间。但是,如果您从课程中学到知识,您就会知道哪种工具可以清理掉,以及何时需要和使用它!
离散数学和二进制和逻辑数学当然需要在所有领域。
除非您正在进行涉及数学计算的特定类型的开发,否则大多数编程领域并不需要大量的数学知识(下面的例外)。然而,在招聘中寻找强大的数学背景非常普遍,因为强大的数学技能和强大的编程技能之间往往存在高度相关性 - 解决复杂数学问题的良好组织解决了复杂的编程问题。
已经有一些研究,实际上看看替代方法来教授具有非常不同结果的编程。例如,研究创意写作和编程之间的关系,看看具有很高创造性写作技巧的人,并教他们编程,就好像该节目讲故事一样,而不是解决问题。这已经证明也会产生非常好的程序员,而且通常会遇到不同的问题。
数学真正需要的例外是像视频编解码器实现,高级报告所需的统计数据或任何类型的低级3D作品,而不使用将其全部抽象出来的API(这通常是这种情况)。
我不同意。我认识的大多数伟大的数学家都是非常差的程序员,即使他们的日常工作是关于编写程序。尽管数学和知道如何解决问题之间有很强的相关性。成为一名优秀的程序员并不意味着成为一名优秀的问题解决者,而更像是一名手工技能。有一些特定的领域需要*两者(任何涉及例如模拟东西的东西),以及具备这两种技能的人都很难找到(通常已经为谷歌等大公司工作)。 – 2011-03-25 18:10:05
@Alexandre C.,我同意很难找到具备这两种技能的人。大多数非常好的CS学生将加入工作岗位,然后从不积极寻找另一份工作 - 他们可能通过网络转换工作,但往往永远不会放弃他们的工作,而没有排列新的工作,而且往往永远不会出现Monster.com或其他求职网站。这就是为什么像谷歌和微软这样的大公司有很大的推动力,可以在失学的时候聘请优秀的候选人。 – 2011-03-25 18:36:15
除了其他答案,graph theory提供了算法构建的基本工具。
- 1. Mysql:独特的领域需要索引?
- 2. Java API中重要的学习领域
- 3. 需要帮助固定Alexa的技能
- 4. Postgres浮点数学 - 我需要做什么特别的吗?
- 5. 为什么我需要那样的领域
- 6. 为什么我的选择领域仍然需要?
- 7. 为什么我们需要为公共领域添加属性?
- 8. MySQL查询需要的领域
- 9. 阵列领域,需要做的结果
- 10. 摘要Scala的特质私人领域
- 11. dojo需要什么功能?
- 12. 你需要学习OpenGL什么?
- 13. 什么量ASP.NET,我需要学习WIF
- 14. 实施CAS SSO需要什么水平的技术技能/专业知识?
- 15. 排除领域仍然需要
- 16. 需要建模领域建模
- 17. 需要想法设计领域类Grails
- 18. Drupal开发人员需要什么技能?
- 19. 特定领域
- 20. MS在计算机科学中需要多少编码技能?
- 21. 需要的数学公式
- 22. 文件同步---需要的技能 -
- 23. 为什么在pthread中需要线程特定的数据?
- 24. 数据压缩机需要什么样的数学?
- 25. 域名注册后需要做什么
- 26. 我需要学习什么才能制作“Push Pop Press”动画?
- 27. 要求注册的电子邮件来自特定领域
- 28. CMBufferQueueCreate需要什么参数?
- 29. GLSL需要什么数据?
- 30. Retrive特定领域
知道基本的算术是必须的。一些代数是有用的。玩过数学概念可以提供帮助,尤其是在进行函数式编程时。除此之外,这取决于你的编程领域。基本的几何对于程序员来说很有用,而且通常不了解这些关于SO的五年级几何的许多问题。 – 2011-03-25 18:14:00