计算机专业的数学应学到什么水平?应该学习数学的那些分支?

计算机专业的数学应学到什么水平?应该学习数学的那些分支?

推荐  (0) | 30人关注关注
25个答案
33 0

本人是数学系的, 但其实真正的爱好是计算机. 当年报志愿的时候不知听谁说了句, 学计算机, 想搞软件就去学数学, 想搞硬件就去学物理, 然后就报了数学. 在数学系, 感觉思维确实受到了训练, 但所学的课程却大多与计算机没什么"直接"联系. 要真的搞计算机, 还是需要自己多折腾计算机的课程, 还有多实践. 其实我觉得在计算机中用到数学, 主要是设计,选择和分析算法的时候会用得到.如果你只是想"设计"好的程序, 可能并不需要太多数学. 但是要是想成为计算机科学者或工程师, 恐怕还是要学一学数学的.

首先谈谈应用比较广泛的基础课:

像大家提到的微积分, 线性代数,概率论,数理统计, 随机过程什么的都是基础中的基础, 在各个学科中都有着广泛应用的.

微积分除去作为 "基础" 的作用不谈, 在用计算机建立模型的时候常常会用到.

线性代数就更有用了, 像著名的 page rank 就是特征值理论的一个重要应用. 很多问题最终都能化为求解线性方程组问题(例如, 用有限差分法或有限元法解偏微分方程, 用最小二乘法求最佳逼近,等等). 线性代数知识还常在机器学习或数据挖掘中被用来降低数据的维度. 还有很多其他的应用.

概率论,数理统计,随机过程在最近的人工智能的各个领域则是非常重要的基础, 很多机器学习算法都是基于统计模型的, 像 Bayes 统计什么的应用极为广泛(例如垃圾邮件过滤.)

离散数学和数值分析什么的和计算机的关系就比较容易看出来了. 离散数学不同的书选取的内容不大一样, 不过一般都有逻辑阿, 图论阿, 有的还有自动机什么的, 一看就和计算机关系紧密. 数学理论大多是抽象的, 想在计算机上用就离不开数值分析了; 用数值方法解一些无法求出解析解的方程也很有实用价值.

再谈谈和不同专业相关的数学知识:

像是信息安全, 编码方面的, 数论知识自然不可缺少, 建议多学一些代数知识, 也包括代数几何啊什么的. (复变函数什么的都是基础啊....)

像是(离散)算法方面的, 可以学学 Knuth 的具体数学, 另外还得学些运筹学, 图论, 组合数学什么的.

像是图形处理方面, 恐怕就需要很多几何知识了, 学几何这玩意代数和分析都得好, 像解析几何, 射影几何, 微分几何, 黎曼几何, 代数几何, 拓扑学呀都在这个领域用的上. 还得熟悉样条理论, 曲线与曲面的表示啊等等.

图像处理, 也需要不少数学. 最近利用偏微分方程,反问题啊来研究图像处理的很热门. 还有傅立叶分析, 小波分析呀都很有用.

人工智能相关的话, 得把概率, 统计, 随机过程什么的学的更深入一些.

我也不是计算机专业出身, 上面的计算机领域列的不一定足够. 如果大家有什么疑问欢迎在评论中提出, 我会帮大家调研然后补上的.

谢谢观赏~~~ :)

11 0

晓风残月网络安全工程师

2012-04-14 00:30

数学能多学就多学,能学多好就学多好,在编程的时候逻辑思维一定要强,要善于细节分析,这些都离不开数学。趁着在学校的时候多学一些基础知识,基础打好了,计算机相关的技术一定不会差。计算机说白了只是一个工具,想要合理有效的利用一个工具,逻辑思维必须要过硬,这对于一些高级技术(数据结构设计,算法,操作系统原理,编译原理,效率优化等等)的掌握是非常有帮助的。

8 2

作为一个海外毕业的计算机专业(编程方向)学生,很负责任地告诉你:本科3年基本没学过数学……

事实上如果是以开发为主向的计算机课程,真正需要的数学知识并不多,就算需要也远远不到各种剥离实际的抽象概念(原谅我数学黑……)。但是,对数学知识有一定的了解(但感觉上程度就相当于大一几门数学的基础吧)对于了解算法或者初步设计算法还是很有帮助的。只是这一点在我学校基本不强调。毕竟开发类课程更多着重的是动手做和勤思(diao)考(tou fa)的能力,一般的编程语言对数学思维要求都不高。

但如果选择的是数据管理和数据挖掘的方向的话,还是需要修读一定的数学理论课程以便更好地理解和运用挖掘算法。这个是肯定的。

4 0

好吧,要是你只是一个普通的程序员,高中数学都绰绰有余了。 基本上只要会四则运算,会简单的排列组合,会二进制的换算,就可以了。这是作为一个多年程序员的真正经验

但若是你想做研究,那根据你的研究方向,可以学不同的数学分支,或者是深入研究数学。这一点其实也适用于上面的普通的程序员,因为随着时间的推进,你越走越深,可能要研究了,比如要研究图形学,这时候自然就要学线性代数了。

5 4

Valky_lz程序员崇拜者

2012-04-13 15:03

不搞科研的话,学好离散数学就好了,其他数学都用不到。

1 0
支持者: 艾特君

有本书叫做《具体数学》……

1 0

伟大正午IT互联网小鱼一条

2013-06-07 18:21
支持者: 花儿666

我打了一堆字,又删了,一言难尽,现在回过头来说,数学非常非常重要,尤其是概率论和数理统计,是数据挖掘的基础,我就是因为基础没打好,现在半吊子

1 0
支持者: 小丸PC

学计算机需要逻辑思维,但是,能够读到大学,选上理科,逻辑思维就有一定基础,而且,C语言、数据结构这些课程已经足够训练你的逻辑思维,不需要在数学上太过深入。除非你要搞算法,否则,数学其实不太重要,更不要说什么分支了。
至于搞算法,要看是哪方面的算法了,所使用的数学模型不同,数学分支也不同,不一而足。

1 0

射秽主义溅射软件工程师,反病毒达人,数学控

2013-07-03 16:51
支持者: 布欧

没有硬性要求,
但是,正如楼上楼下们所说,数学锻炼三观脑,书到用时方恨少
最后,我见过很多小学毕业的大神,实在不给力不用给自己加紧箍咒

0 0

除了高等数学,线性代数,还有概率,数值分析(也有叫计算方法的),再有就是离散数学了,计算机专业的好像都要学。

0 0

discrete math, linear algebra, probability, statistics
有能力的话还可以学 graph theory and differential equations
看一下这篇文章 很有用
http://steve-yegge.blogspot.ca/2006/03/math-for-programmers.html

0 0

ASphoebus1412数学控 语言fan 编程爱好者

2012-04-15 11:20

LS正解,不过好像少了个数值计算~

0 0

如果只是从事应用开发级的工作,什么数学也不用

0 0

尼玛我们学了
高数,线性代数,概率论,离散数学,复变函数,积分变换,常微分方程,数学物理方程(偏微分方程)。。。
信息安全

0 0

基础课程: 微积分(数学分析) 线性代数 概率论 数理统计 随机过程
专业课程: 离散数学 计算理论 数值分析
大学计算机需要的数学课就是这些了

0 0

离散数学应该是分支里面最重要的了吧。。。

0 0

大学时候 记得出了哪都有的高数外 还有离散数学 线性代数 不过感觉实际工作时候也没用太多的数学东西 搞算法的会用的多些,其他情况下可能也就离散用一点,最不济网上找点算法库就能解决。

0 0

如果LZ想计算机方向读硕 读博的话,本科学数学是不错的选择。。。。如果打算本科毕业就当码农的话数学专业基本没啥竞争力了。。。当然acm、数学建模 大牛另当别论咯

0 0

寻觅黑暗理论物理——专业YY

2013-07-12 00:18

正好前两天跟一个学计算机的聊起这个问题。按他的说法,高数之类的自然不用说了,线性代数、离散数学、图论也是必然要学的。比较让我意外的是,还要学群论,甚至还有数论……

当然,想来数论通常只有那些做科研的人会涉及到应用,包括做人工智能的。

0 0

2gua太极拳资深假码农

2013-07-13 11:21

高数是基础,还有线代、离散、概率论等。
还有,计算机专业课里的算法、数据架构也很重要。

0 0

如果做系统的话,基本不需要大学数学。大部分开发者只需要学一些离散数学的东西即可。现在比较热的数据挖掘需要一些统计的东西,但是做开发其实也不需要懂那么多。

0 0

要看做什么的。其实必要起来可能就不止数学了,物理语文什么的知识都要有。

如果只是做数据库增删改查,初中毕业一般足以。

曾经有个图像处理的项目,让我把“空间两点距离的计算公式”复习了一遍。还有一个自动生成用户帐号的需求,逼得我甚至把《百家姓》也看了一遍。

我有一个哥们做游戏的,他说当时甚至自学了一下流体力学。

0 0

如果做机器学习科研的话………
随机分析,抽象调和分析,混沌动力系统,谱图论,代数拓扑,组合微分几何拓扑,代数几何,表示轮,………
这些数学分支弄出来的工具基本都能用上……
在工业界真不需要啥数学

1 2
支持者: 布欧

做算法设计对数学的要求比较高,其他的可以少学习一些。
东西自然是学得越多越好,但针对具体希望研究的方向,学习要抓住重点。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字第朝200003号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区