程序员需要怎样的数学基础?

程序员需要怎样的数学基础?,第1张

离散数学对程序员来说非常重要,还有组合数学、线性代数、概率论、数论等等,即使你将来不做研究,这些基础知识也能极大地提高你的水平。计算机科学对离散数学的要求很高,建议你先学习前面提到的这些课程,然后学习计算机算法和数据结构,再配合到网上的在线题库做题,过程很艰辛,但是对你的帮助会很大。

推荐书目:

《具体数学》(先学完前面的数学课程,在水平有一定进步以后再看)

《算法导论》(应该人手一本的好书)

简单来说,学数学的目的,一方面是活跃你的思维;另一方面是为了深入学习算法打基础,设想一下,同样的问题,普通人的程序要几十分钟甚至几小时几天才能解决出来,甚至根本无法解决,而你精心设计的程序却能在1秒内解决出来,这就是数学的魅力、算法的魅力。

其实,一切取决于你是否想做一个高级程序员。如果你做体力活(其实一般编程别人都认为是体力活),那你可以不学,因为你用不到,但是,你要是做技术上的创新,做个很强的程序员,没有数学的支持,很难。

你既然学习了C,c++,你也知道算法的重要性,同样一个问题,我用13行程序解决了,我的同学居然用了33行,因为他不懂的用数学。你要达到什么高等,取决于你的数学修养。当然,要做一个普通的程序员就不用学习了。要挑战自己,做个好的,优秀的,学习数学吧!

1、编程中的数学

于是我马上回顾了下编程中用到的数学知识,好像少的可怜。

计数的能力:for循环中经常用, 小学生都会。

数字的加减乘除:每种编程语言都会内置支持,都不需要你自己算

余数和模:偶尔会用得到

集合运算:交集、并集、差集,编程中用的不多。

布尔运算: AND,OR, 非

各种进制:二进制、十进制、十六进制

还有哪些?我想不起来了。

当然这和我从事的编程领域有极大关系,天通苑北大青鸟认为如果我做的不是Web开发,而是搜索,游戏,安全,算法,人工智能等,那对数学的要求估计就开始飙升了。

其实计算机的基础是数学,只是我们一直在应用层编程,体会不到罢了。

比如说我们日常使用的计算机,绝大部分都是所谓冯诺依曼结构,这个结构可以说是图灵机这个概念机器的具体实现,而图灵机就是一个纯数学的东西啊,没有图灵机这么伟大的抽象作为数学基础,现代的计算机是制造不出来的。

再比如说密码领域需要很多数论的知识,RSA算法就涉及到大素数的分解

我们常用的Mysql,Oracle等关系数据库的底层基础是离散数学的笛卡尔乘积

通信系统中很重要的一个原理就是傅里叶变换。

编译器会用到有限状态机

数据的压缩会用到各种数学的算法

项目管理中的进度管理,甘特图数学基础就是图论。

.....

总之,数学在计算机科学扮演着非常重要的角色,是整个学科的基础。

2、不拼数学拼什么?

具体到应用层编程,尤其Web开发、企业信息化开发,整天折腾的是框架和类库,用不到这么多高大上的数学知识,那到底拼的是什么?

想想编程中常用的数组,如果是一维数组,做个循环和遍历,每个人都能轻松应对。如果要用数组来表示二叉树,就需要把一个树形结构对应到线性结构,那难度立刻上升。

如果在编程中需要自己实现链表,就会发现把各个节点的链接关系维护好,需要把指针调来调去,挪来挪去,实在不是一件容易的事情。

这样的能力就是逻辑思维的一种体现。

我们在做系统设计的时候,经常需要总结、分析现实需求,找到容易变化的部分和相对稳定的部分,把他们封装起来,形成核心的概念,支撑起整个系统,这是一个抽象的过程,虽然用不到多少数学知识,但是思维的过程也极不容易。

逻辑思维能力和抽象能力的差别,能够区分出程序员的优秀和平庸。

一个优秀程序员写出的代码,接口清晰,容易扩展,易于维护 一个差程序员写出的代码,思路混乱,完全是一些计算机语句的堆砌,别人看不明白,过一段时间自己都看不明白了。

数学系的同学在这两方面恰恰是长项,想想看,数学系同学们整天折腾这么多“枯燥的”抽象概念,再去看编程这样大部分都是具体化的实现,简直是分分钟搞定!这可能是数学系的转到编程领域很厉害的原因吧。

逻辑思维能力通过学习数据结构和算法,做数据结构的习题可以得到有效的提高,抽象能力需要在实践中不断的练习、积累经验。对于初学编程的同学,从现在就开始努力提升吧!

想学计算机都需要精通什么数学知识

学编程需要用到微积分,离散数学,数学电路,还有函数,以及各种数学思想,对抽象思维和形象思想要求都比较高。

学编程要具备一定的基础,总结之有以下几方面:

1、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。

2、逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。

不知道楼主想学习电脑软件还是硬件?我大学上了四年的计算机科学与技术,高等数学、离散数学、概率统计、线性代数电路原理、模拟电子技术、数字逻辑、数值分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构、 *** 作系统、数据库原理、编译原理、、人工智能、计算方法、以及算法设计与分析、面向对象方法、计算机英语等该学习的都学习了,但是四年下来基本上都忘完了又。毕业后进公司,搞得是网络和硬件,上大学时候的知识除了计算机网络还用的上外,其余的都基本上用不上。开始工作又是重头开始学习,刚开始时候做个RJ45型网卡接口水晶头、拆开主机箱这些基本的都不会,因为大学没学习。囧ing~~

所以,如果现在想学习计算机,需要根据你要从事的方向而定:

1、如果单纯基本的电脑软硬件学习,根本不需要学习数学知识,需要哪方面学习哪方面,市面上关于计算机硬件介绍的书很多啦,看几本然后找台电脑DIY下,就熟悉啦。如果想深入硬件设计与研究,那大学学习的高数等数学科目还有电路等物理科目都要学习。

2、如果想搞软件程序设计,数据结构、面向对象方法以及找个流行的设计语言设计书目(譬如java程序设计学习教程)等可以3个月内搞定(如果你喜爱程序设计的话)。

3、如果就是简单滴工具学习类的。其他的都不需要学习,根据喜欢想要学习的工具方向学习即可,比如photoshop类的工具学习,找个参考书、网上下点视频,3各月专心研究下来就是个PS高手了。

以上是个人浅见。仅供楼主参考。计算机学习还是靠兴趣,行行出状元。那都是兴趣与天赋的综合。缺一方面都不会成功滴。

学计算机需要那些数学知识

离散数学、组合数学、数论、高等代数、抽象代数、运筹学、数值代数、概率论、数理统计、随机过程

学计算机硬件需要哪些数学知识

计算机专业学生需要学好数学,不是需要学习哪些数学知识,而是需要数学的逻辑思维能力。

计算机专业是计算机硬件与软件相结合、面向系统、侧重应用的宽口径专业。通过基础教学与专业训练,培养基础知识扎实、知识面宽、工程实践能力强,具有开拓创新意识,在计算机科学与技术领域从事科学研究、教育、开发和应用的高级人才。

学习计算机需要哪方面数学知识?

算法 数据结构 流程图

计算机与数学知识

本科生:高等数学、线性代数、概率论与数理统计、离散数学等

研究生还会学习组合数学、数学分析等

学习计算机编程算法需要哪些数学知识?

离散很重要,因为集合论和图论,尤其是后者涉及得非常广泛。其他涉及得真的不多。要学好算法,一定要多打代码,多思考~~

我想学习计算机密码学,需要学好哪些数学知识。

个人读过半年这东西,学电子商务时学的。

看你怎么打算,要深入研究计算机密码就要学高数、概率论、离散数学、组合数学。

如果只是想知道一下加密解密原理,直接看本《密码学》就行了!

现在加密,私钥,数字签证那些银行认证中心有很多现成的了!

计算机的哪个领域最需要数学知识?

和算法相关的核心代码 。

计算机编程都要哪些数学知识

主要是逻辑的思维能力,我是计算机专业,也学习编程类的,我们主修了离散数学,是关于逻辑思维的。你看看那类的书籍吧!挺有用的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11491904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存