编程数学基础
㈠ 学习编程需要什么基础
学习编程其实不需要什么基础,只要可以正常操作电脑就可以学习编程,但是如果想往高深的技术研究就需要学习很多东西,时代咋子进步很多东西都有千丝万缕,所以很多编程需要都是相通的。1、明确的学习目标学习编程对大多数信息技术专业人员非常有用 学习编程和成为程序员可以从个人的角度解决软件使用中遇到的问题,改进现有的软件,为自己找到一份理想的工作增加重要的权重,并帮助你在找工作的路上找到一份好工作。
2、从国家的角度来看,它可以为中国软件业作出应有的贡献。优秀的程序员将永远是争论的对象。 学习编程还可以训练我们的思维,使我们的逻辑思维更加严谨。能够持续享受创新的乐趣将永远有机会走在高科技的前沿,因为编程本身就是一种创造性的工作。
3、知识经济时代给我们带来了无限的机遇。要真正掌握计算机技术并在信息技术行业有所作为,具备一定的编程能力是一个基本条件和要求。
4、为基础编程打下坚实的基础,应总结如下几个方面,数学基础从计算机发展和应用的历史来看,计算机的数学模型和体系结构是由数学家提出的,最早的计算机也是为数值计算而设计的。 因此要学好计算机必须有一定的数学基础初学者应该有高中水平。
㈡ 学编程需要什么基础知识
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
希望对您有帮助。
㈢ 编程需要多少数学知识
1、编程中的数学
于是我马上回顾了下编程中用到的数学知识,好像少的可怜。
计数的能力:for循环中经常用,小学生都会。
数字的加减乘除:每种编程语言都会内置支持,都不需要你自己算
余数和模:偶尔会用得到
集合运算:交集、并集、差集,编程中用的不多。
布尔运算:AND,OR,非
各种进制:二进制、十进制、十六进制
还有哪些?我想不起来了。
当然这和我从事的编程领域有极大关系,昆明北大青鸟http://www.kmbdqn.cn/认为如果我做的不是Web开发,而是搜索,游戏,安全,算法,人工智能等,那对数学的要求估计就开始飙升了。
其实计算机的基础是数学,只是我们一直在应用层编程,体会不到罢了。
比如说我们日常使用的计算机,绝大部分都是所谓冯诺依曼结构,这个结构可以说是图灵机这个概念机器的具体实现,而图灵机就是一个纯数学的东西啊,没有图灵机这么伟大的抽象作为数学基础,现代的计算机是制造不出来的。
再比如说密码领域需要很多数论的知识,RSA算法就涉及到大素数的分解;
我们常用的Mysql,Oracle等关系数据库的底层基础是离散数学的笛卡尔乘积;
通信系统中很重要的一个原理就是傅里叶变换。
编译器会用到有限状态机;
数据的压缩会用到各种数学的算法;
项目管理中的进度管理,甘特图数学基础就是图论。
.....
总之,数学在计算机科学扮演着非常重要的角色,是整个学科的基础。
2、不拼数学拼什么?
具体到应用层编程,尤其Web开发、企业信息化开发,整天折腾的是框架和类库,用不到这么多高大上的数学知识,那到底拼的是什么?
想想编程中常用的数组,如果是一维数组,做个循环和遍历,每个人都能轻松应对。如果要用数组来表示二叉树,就需要把一个树形结构对应到线性结构,那难度立刻上升。
如果在编程中需要自己实现链表,就会发现把各个节点的链接关系维护好,需要把指针调来调去,挪来挪去,实在不是一件容易的事情。
这样的能力就是逻辑思维的一种体现。
我们在做系统设计的时候,经常需要总结、分析现实需求,找到容易变化的部分和相对稳定的部分,把他们封装起来,形成核心的概念,支撑起整个系统,这是一个抽象的过程,虽然用不到多少数学知识,但是思维的过程也极不容易。
逻辑思维能力和抽象能力的差别,能够区分出程序员的优秀和平庸。
一个优秀程序员写出的代码,接口清晰,容易扩展,易于维护;一个差程序员写出的代码,思路混乱,完全是一些计算机语句的堆砌,别人看不明白,过一段时间自己都看不明白了。
数学系的同学在这两方面恰恰是长项,想想看,数学系同学们整天折腾这么多“枯燥的”抽象概念,再去看编程这样大部分都是具体化的实现,简直是分分钟搞定!这可能是数学系的转到编程领域很厉害的原因吧。
逻辑思维能力通过学习数据结构和算法,做数据结构的习题可以得到有效的提高,抽象能力需要在实践中不断的练习、积累经验。对于初学编程的同学,从现在就开始努力提升吧!
㈣ 学习编程需要会哪些数学知识
个人观点:编程,无论是用低级的汇编、C语言还是现在的OOP语言,与《数字电路》和《离散数学》关系不是太大。这两门号称计算机学科的基础,实际上是用于研究计算机的组成原理、架构之类的“深层次”科目。而编程的话,你只要了解语言的基本语句结构、能将问题分解成模块关用语言描述之就可以了。要说与逻辑的关系吧,也有,编程的时候经常用到逻辑判断以发展程序走向,这是与数学运算不相同的。
㈤ 自学编程是不是得有一定的计算机和数学基础
学编程需要什么基础?
1、数学基础
从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,初学者有高中水平就差不多了。
2、逻辑思维能力的培养
学程序设计要有一定的逻辑思维能力,逻辑思维能力的培养要长时间的实践锻炼。
要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
3、要有一定的编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。
例如学习VC就要学习 Windows 的内在机理、什么是线程......;学习COM就要知道VTALBE、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
学会编程能做什么?
学会编程语言,可以从事软件工程师,就目前而言,软件工程师就业前景一片大好,就目前来说,我国仍然还存在很大的软件开发人才缺口,并且以每年20%左右的速度增长。编程语言发展前景如此好,已经成为多数同学心中理想的职业。
根据IDC的统计数字,在所有软件开发类人才的需求中,对软件工程师的需求达到全部需求量的60%~70%,软件工程师人才需求旺盛,IT企业却很难招聘到合格的软件开发人员。
其中,很根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距。
㈥ 初中毕业学编程需要什么基础
1、数学基础。从计算机和应用的发展历史来看,计算机的数学模型和体系结构等好多都是由数学家提出的,包括最早的计算机也是为数值计算而设计的。因此,要学好计算机是需要一定的数学基础的,初学者有高中水平就差不多了。
2、逻辑思维能力的培养。程序员必须要有一定的逻辑思维能力,逻辑思维能力的培养更需要长时间的实践锻炼。在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
3、选择一种合适的入门语言。网络编程目前较为流行的网络编程工具可谓“风格迥异,百花齐放”。每一种工具都有其独特的特点,在互联网实现上都有各自的优势序设计工具不外乎如下几类: ① 本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 ② 跨平台开发开发工具如 Java等。
4、注意理解一些重要概念。程序设计的教程看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三。
5、掌握编程思想,学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习Java在学习中应把重点放在其语言基础、Java与ActiveX以及JavaBeans等组件之间的编程技术以及应用上来。你可以自己编一些较为经典的小程序来加深基本技能的掌握:用Java的图形处理能力编写纸牌游戏,用AWT编写扫雷或者俄罗斯方块、用Java的网络功能编写网络聊天室等等。关键是学一种思想,有了思想,那么我们就很容易触类旁通。
㈦ 学编程需要精通数学中的哪些知识
我来说两句,第一,程序其实就是一道一道的数学题,当然,如果你搞的是普通的WEB开发什么的,这些东西都不重要,但是做大型软件和搞科学研究的话,算法对一个程序来说至关重要,举个粒子,对20万个数据进行排序,不同的排序算法的运行时间是不一样的,用最垃圾的算法可能要跑上好几天才能算出来,用好的算法可能几分钟就能搞定,而算法的研究是要有着深厚的数学基础的。
第二,讲一讲应该学哪些数学知识,我是大学生,所以就从大学的角度来讲吧,首先大学里的基础课程高等数学是必须的,这可能对于你写算法来说没有什么太直接的关系,但是,你要记住,高等数学是最基本的东西,里面的很多概念性的东西都是编写程序相关的,是你学其他几门数学课程的基础。第二,线性代数,这们课在工科专业一般都开,很重要,尤其讲到的举矩阵、集合等等,是你以后在程序开发中能直接用到的,而且,线性代数里一些问题的解决方式能很大程度地活跃你的思维。第三,离散数学,离散数学是计算机和软件工程专业必学的课程,和计算机程序直接相关,举例来说,你在设计一条数据库的SQL语句进行联表查询, 你可以直接写上一大串来实现你的查询,但如果你能用离散数学里学到的逻辑推理和范式对你的SQL语句进行简化,那么你的SQL语句查询速度可能会有上百倍的提升。
第四,有兴趣可以学一学组合数学,我也正在看这方面的书,这是研究生的课程之一,但提前学一学还是很有好处的,里面很多结论、推理都会让你受益非浅,学好了这门数学,你的程序质量将上升到另外一个高度。
就说这些吧,总之,学软件开发的人必须要学数学,不但要学,还要学很多。
很多人都在说中国程序员30以后就干不了了,为什么,不是干不了,是干不动了,因为太多的新东西要学,而且学着很费力,为什么,因为基础不好,所以学什么都不行,我想提高自己的数学素质一定会改变这一现状。
不说了,接分!
㈧ 学习编程的基础是什么
编程零基础都可以学习,所以是不需要什么基础的,只不过是一个学习进度快慢的问题!
想英语好的,那指定代码敲的稍微快点!数学好的,算法理解得更快些!所以,想学都能学会,不过学精就比较难了!
下面就拿Java来举例吧!
入门学习java唯一需要的基础就是英语词汇量,入门阶段不需要太多的词汇量,3000足够了(这里面java程序类关键字是最重要的),注意仅仅是词汇量而已,不需要掌握英语口语沟通中的语法。但是入门以后,想要完全精通java(当然这不是一件容易的事),8000以上词汇量还是要有的。
除此之外就是书本上最基础的一些java理论知识,这些理论知识不一定必须都要一字不差的背下来,但是这些都是基础需要很好的了解和理解,而且并不难理解。
这些基础的东西并没有什么技术性的难度,可以说就是一些需要死记硬背的东西而已,真正有难度的是你之后自己动手写代码的这个阶段。刚开始可能很难自己动手写出来100行以上逻辑性强且没有Bug的代码,基本都是需要看着别人的代码然后自己照葫芦画瓢的抄写,不然就不会写,所有初学者开始都是这样,所以是很正常的,这个就需要平时多写多练,一点一点累积。知识点积累的多了,逻辑通顺了,之后自然而然的就会动手写出自己的代码了。就是一个多写多练的问题。
如果你已经决定了要去学java,并且以找工作为目的的话,不建议自学,因为java想要零基础自学到最后顺利找到开发的工作,可以说基本是不可能的。一种情况除外,就是你对电脑编程有着异于常人的天赋可以无师自通,否则的话还是要去系统的培训一下。只要你能跟着有经验的人学,能有人带你练习做项目,外加平时自己多写代码,多去接触并理解新的知识点,最后找到开发的工作问题还是不大的。
希望能帮到你,望采纳!!
㈨ 编程需要数学基础好吗
LZ不要杞人忧天了,那些说数学重要的,首先数学你会吗?数学包含的范畴太多了,常见的有高等几何 微积分 线性代数 概率论 离散数学 数论 图论等等你指的是具体哪一样呢?就算是前人科学巨匠泰斗牛顿,殴几里德,爱因斯坦,他也只是擅长自己从事的那领域,要说所有数学领域都精通我想他们也不敢吹这样的牛逼。
所以对大多数人来说,在数学方面都不太可能取得什么很深的造诣。等到你所谓的把数学学好,那胡子都快白完了,数学是又深奥又费解学习成本巨大需要耗费大量时间学完不用立马就忘的学科。所以说数学重要,先问问你自己能不能学会。
其次,计算机学科跟数学根本就不是一门学科, 包含内容极其有限。计算机编程有自己的理论知识体系,很多跟数学关系不大。学好编程尤其对新手来说最重要的是对你学的编程语言的熟练运用和工具SDK的烂熟于心。每个语言都有自己独特的设计理念,不存在什么好学的编程语言。
所以说,题主, 你想得太远了。软件开发需要用到的知识比数学重要的太多了。抛开计算机不说,英语比起数学的重要性就大的多的多。英语不好你看不懂函数API说明你一切就是白瞎。而数学对于大多数人来说是最难学也是最不重要的知识,基本上是学了就忘忘了就扔扔了也没感觉的那种,很多搞编程的可能一辈子也用不到数学知识。为什么?理解C++的指针和多态需要数学吗?一个复杂的系统架构也不需要半点数学知识,而你就是看不懂。
还有就是程序调试技术,很多IDE给出的出错语句非常费解,什么指针为空,数组越界,内存溢出,SDK找不到, 你没经验时打死你也看不懂你的编程工具提示的是什么。这时你那高大上的数学真是P用没有,它能帮你排查错误找出程序崩掉的原因吗?我看不行吧,你还是得到论坛网络去问人家这些基本的问题。
在你担心数学好不好之前,你更应该关心编程环境怎么搭建,连IDE都搞不定不知道程序怎么跑起来你还搞什么呀,下一步就是程序基本的语法和SDK库函数的掌握,基本SDK都不知道什么意思怎么去用,如字符串函数,文件读写和数据库常用操作,这些你都不会你还有学下去的必要吗?还有更重要的更基本的程序调试技术,程序老出错老崩溃怎么办呀,哪里变量为空了内存写错了?为什么程序老编不过去呀,谁能帮帮我呀!!!这个时候你发现那牛逼的数学知识真是屁用没有,你还是感叹自己基本功底不行经验太少,这个时候打死你也不会再关心数学好不好的问题了。
如果说用到数学的大概只有3D游戏引擎,很智能的人工智能,如格斗游戏的电脑应对玩家的复杂AI,生化危机中僵尸怪物的配合商量运用策略包抄玩家和记忆功能,还有航空航天领域这样高精尖技术学科才会用到复杂一点的数学知识。而这些都是计算机专家才要掌握的内容。所以题主你是想多了,还是先关心下自己程序为什么编不过老是报错的问题吧
㈩ 编程所需要的数学知识
计数的能力: for循环中经常用, 小学生都会。
数字的加减乘除 : 每种编程语言都会内置支持, 都不需要你自己算
余数和模: 偶尔会用得到
集合运算: 交集、并集、差集 , 编程中用的不多。
布尔运算: AND , OR, 非
各种进制: 二进制、十进制、十六进制
还有哪些? 我想不起来了, 欢迎补充。
当然这和我从事的编程领域有极大关系, 如果我做的不是Web开发, 而是搜索,游戏, 安全,算法,人工智能等, 那对数学的要求估计就开始飙升了。
其实计算机的基础是数学, 只是我们一直在应用层编程, 体会不到罢了。
比如说我们日常使用的计算机,绝大部分都是所谓冯诺依曼结构(参见文章《冯·冯诺依曼计算机的诞生》) ,这个结构可以说是图灵机这个概念机器的具体实现,而图灵机就是一个纯数学的东西啊 ,没有图灵机这么伟大的抽象作为数学基础, 现代的计算机是制造不出来的。
再比如说密码领域需要很多数论的知识,RSA算法就涉及到大素数的分解;
我们常用的Mysql, Oracle 等关系数据库的底层基础是离散数学的笛卡尔乘积;
通信系统中很重要的一个原理就是傅里叶变换。
编译器会用到有限状态机;
数据的压缩会用到各种数学的算法;
项目管理中的进度管理,甘特图数学基础就是图论。