㈠ 程序员需要怎样的数学基础
离散数学对程序员来说非常重要,还有组合数学、线性代数、概率论、数论等等,即使你将来不做研究,这些基础知识也能极大地提高你的水平。计算机科学对离散数学的要求很高,建议你先学习前面提到的这些课程,然后学习计算机算法和数据结构,再配合到网上的在线题库做题,过程很艰辛,但是对你的帮助会很大。
推荐书目:
《具体数学》(先学完前面的数学课程,在水平有一定进步以后再看)
《算法导论》(应该人手一本的好书)
简单来说,学数学的目的,一方面是活跃你的思维;另一方面是为了深入学习算法打基础,设想一下,同样的问题,普通人的程序要几十分钟甚至几小时几天才能解决出来,甚至根本无法解决,而你精心设计的程序却能在1秒内解决出来,这就是数学的魅力、算法的魅力。
其实,一切取决于你是否想做一个高级程序员。如果你做体力活(其实一般编程别人都认为是体力活),那你可以不学,因为你用不到,但是,你要是做技术上的创新,做个很强的程序员,没有数学的支持,很难。
你既然学习了C,c++,你也知道算法的重要性,同样一个问题,我用13行程序解决了,我的同学居然用了33行,因为他不懂的用数学。你要达到什么高等,取决于你的数学修养。当然,要做一个普通的程序员就不用学习了。要挑战自己,做个好的,优秀的,学习数学吧!
㈡ 学习计算机编程专业需要数学基础吗
不需要,但是要是数学好的话,对编程有好处,应为要用到逻辑思维能力,以后工作要是没有数学基础的话, 也不会吃亏
㈢ 软件开发专业0基础可以学习吗
你好,零基础可以学习软件编程。
学编程,其实就是在提升自己的自学能力,动手能力,逻辑能力,还有解决问题的能力。无论你是学习哪种语言,这些方法都大同小异:
第一点:多动手,多动脑,多实践。
没有几万行的代码,没有经常敲键盘的努力,你就不要羡慕别人打代码有多快,多熟练。别老是想着我看书把这个完全看懂了,甚至都能背下来了,我就可以过了!其实不然,你会发现,你一上机操作,又是一堆错误。
有些时候,敲一两次代码,比看十次书还有用!要不然,你认为你刚开始学 Java 编程打代码的速度就能像那些程序员一样打的很顺很快,对于别人打了那么多年代码的程序员来说,也是有点太不公平了吧,对吧?而且,一定是打代码,不是照着敲代码!照着敲代码,你就不是程序员了,而是打字员了。在写下每一行代码之前,都要想一想为什么,怎么来的。我保证,随着时间的积累,(1+0.01)的 365 次方是 37.78,总有一天,量变总会形成质变。
第二点:不急躁,不拒绝错误。
不要急躁,遇到技术问题,必须冷静对待,不能让思维混乱,保持清醒的头脑才能分析和解决各种问题。
永远也不要拒绝自己的错误,很多新手一开始一敲代码,运行框里面就弹出来了十几行报错。用开玩笑的话说,在最开始学编程的那几个月里面,你都不敢按下你自己程序的启动运行按钮。
但是事实确实如此,作为一名新手,你确实会犯下很多错误,诸如文件创建失败,没有写出函数,或者没配置环境变量等等……但是不要怕,直接把报错的提示复制粘贴到网络,一搜索就出来了,你会发现,相对于正确的程序,你的收获明显会更多。错误即是财富,请记住。
第三点:学习一定要学会取大舍小。
什么叫取大舍小呢?舍本逐末知道吧?他的反义词。比如说我举一个例子:有很多时候我们会把一个组件的引用作为一个类的成员变量,而不是在其起作用的函数中去定义。
有些新手就开始疑惑了,既然都一样,那为什么不放在函数中呢?其实这些问题到后面你自然就知道了,是因为作用域的问题所在。开始学编程或者入门后,不要去纠结太多你目前无法理解的细枝末节,否则会让你的学习进度还是效率,甚至是信心,都会大打折扣。抓住需要掌握的,有些细节,到了后面你慢慢就会知道了。
第四点:看一本书尽量不要从头向后一页一页的看。
编程这种课程,确实有点不一样。因为当你在学习的时候,那是一个又一个的知识点,但是在我们开发时,做项目的时候,要的是一张知识网络。这也就是面试的时候,曾经的项目经验那么受重视的原因所在。
有些 Java 老手说,要把一个小白变成老油条咋办?简单,丢进项目组里面混一段时间就好了。当你出来后,你会发现你所学习的 Java 不再是很多零散的知识点了,而是一个体系。
到这个时候,你也就算有了 Java 高阶的学习基础了。那么对于我们一般的初学者来说,能够形成一张体系,也就至关重要,甚至说对以后搞开发,找工作来说必不可少。所以这种意识要从学习的初期就要开始培养。
初学编程时,遇到了后面不熟悉的知识点,没关系,只要想看,就去看!在网上查找自己遇到的 Bug 的时候,看见别人用了一种自己没学过的东西解决了,如果想了解,那就去看那部分知识!
甚至你在学习新知识的时候,可以尝试把新老知识结合一下,当你成功了以后,这种点点滴滴的成就感,也会督促你继续前进。所以,看一本书,不要顺着看,这不是编程的学习方法所在!
第五点:多阅读别人的优秀代码,永远不要抵触学习新知识。
编程所属的计算机科学和其他科学界都差不多,但有个特点就是计算机科学界的前沿科学发展的太快了。所以,多去读一读别人的代码,不要抵触新知识,是学习计算机科学,也亦是学习编程的一条相对来说的“捷径”。
希望能帮到你,谢谢!
㈣ 程序员的数学要求高不高
一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。
对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,你的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。
程序员的要求
无论如何,作为程序员,以下几个内容必须掌握
C语言,数据结构,算法,编译原理(不强求,至少知道词法分析和语法分析),OS的一些基本原理(进程调度,内存调度等等),计算机体系结构,软件工程
其他的要求至少英语四级(不然MSDN没法看),写过程序,数学不要太差
如果你掌握了这些内容,说明你至少和科班出身站在了同一起跑线上了。下面再根据你自己愿意从事专业发展。发展大致可以按平台划分
1、WINDOWS平台
2、LINUX/UNIX平台
3、嵌入式平台
WINDOW平台机会最多,待遇也最低,LINUX/UNIX次子,嵌入式待遇最好。但是学习机会刚好相反,WIN平台很好学,LINUX/UNIX一般用于大型机,而你自己估计平时也不会用这些东西,至于嵌入式,如果公司不给你机会学习,那你根本就没法进入这个行业。
当如,如果你在三个平台之一能做到精通,那么待遇都会很高。不过我敢说,就算CSDN,真正能透彻了解WINDOWS运行机制,能把API运用的纯熟的人都不会太多。
如果你做网络,网络也可以分很多。你是准备做布线,管理,架构还是研发?如果研发,又可以分写一般通讯程序,路由等网络设备研发(已经偏硬)等。
那么建议你至少熟悉以下内容
多平台的进程调度多线程和线程同步(TCP/IP协议在不同平台通讯很正常)
TCP/IP协议的了解
熟悉C/C++(跨平台C开发,包括VC,GCC等等)
等等
㈤ 我数学成绩非常差能不能做程序员
可以呀,用程序的优点就是免去了人为计算出错这一环节的,我也给公司写点程序,用的C SHELL。
㈥ 程序员需要哪些基础知识吗(如高中数学、大学数学、计算机基础等,我中专的),
《C语言程序设计基础》(谭浩强着),这本不错。可以使用VC++ 6.0软件学习,先看书上的简单程序学着编写,多练多想。
㈦ 程序员的数学 初中文化能看吗
能看,但是以你初中文化水平来看大学里面的数学,应该有很多东西,你会看不懂,因为高中阶段就断了一层,数学只要断了层,再看高一级的数学,就很难看懂,比如大学里的微积分,就需要高中数学里的导数做基础,所以要想看懂数学,只能一个阶段一个阶段的来。
㈧ 做程序员编程需要什么数学知识,初中文化可以学吗
1.学习方法:本人认为这比什么都重要如果这个没掌握的话,可能直接影响你的成败。众所周知。。计算机知识 尤其是编程涉及到的知识可以说浩如烟海---那么面对这么多的知识该怎么去学呢?
---重点:1重实践,不要去想,把一个知识点完全彻底的掌握,那将是非常恐怖的,有编程经验的朋友都知道,编程里每个知识点深纠起来的话是非常困难的,更不要说是新手了。。那么知识点该掌握到什么程度呢? 个人认为:1-知道它是做什么 2-知道怎么使用。 这就足够了。。。。不要去管他的原理是什么,能把东西做出来才是王道。。。
---重点:2多写, 这个在编程界可以说是真理了,真正写程序的人都知道,一段程序你理解了并不代表你就会写了,那么怎么样才能提高“写”的能力呢? 本人认为要注意一下几点 1- 练习多做是必然的。 2- 做练习时不要因为觉得代码简单就只看不敲,哪怕多敲一遍HelloWorld 都是有好处的。 3- 相似的代码不要复制,我见过很多朋友,遇到两段程序类似,就懒的敲直接粘贴过去修改。。。请记住这是软件开发人员的做法,而你不是,目前你还只是一个学习者而已。所以 原则就是 能敲的就不要复制。
---重点:3把精力用在理解上而不要用在背上 写程序的朋友都知道,函数---关键字---常用类什么的,都非常的熟悉,为什么我们背过吗?没有 写的多了自然就记的牢了, 所以建议新手不要去死背什么概念,或语法 一定要理解它的作用。。。
---重点:4 笔记,我认为这点很重要,我自学时全是看书,和视频教程,然后总结对自己有用的东西。记在本上,而将来如果印象不深刻了由于是自己用自己理解的方式写的,简单翻一翻就能回忆起来,而如果,你忘了再去翻视频 或 翻书的话。。那么即使你曾经学过,也可能一时想不起来。。。
1.关于数学。。。这个问题,我觉得是目前争论最多的话题,我见过N多人说 学编程要学XX数学---什么微积分---什么离散---吓的新手连想都不敢想,我只想对这些人说一句,如果你懂,请你们帮助新手,如果你们不懂 请你们闭嘴 谢谢不要 误人子弟。。。那么下面我来 具体回答一下数学方面的问题。。。
1- 编程用数学吗? 用! 回答是肯定的,但要看你是做哪方面的程序。 懂编程的都知道,现在编程基本分B/C构架,即:客户端/浏览器端 与 C/S构架 即:客户端/服务器端 前者基本上就是JAVA PHP ASP.NET 等等。。。其中有多少地方用到了数学,如果还坚持没数学学不了编程的朋友请站出来回答下我的问题。。。
至于C/S 如果不是做系统级的程序员 或 大型3D图象处理 或者是音频处理的软件我请问又有多少地方用到了数学?如果你觉得x/y=z 这也算高等数学的话,我无话可说。。。。总结--除了3D等图象处理编程 或 音频处理编程 或系统级编程以外 其他编程对数学要求并不很高。。。。
2.关于英语, 我认为这个是个不可回避的话题,学编程一点英语不懂我觉得不太现实,毕竟有很多文档也是用英文写的,而且程序员都知道,编程时经常要用简单的英文,哪怕是定义个变量名,也要用英文起名, 没见过哪个程序员定义的变量叫什么aaa或bbb的。 那么新手该怎么面对英语呢, 我觉得很容易,按照书上或教程上去做就足够了,1 编写程序时 按规范要求去做,首先变量名,用见名知意思的英文单词, 写注释时 也用英文短句。。。 抛异常时 也用英文来标注等等。。。。慢慢积累,时间久了你就会发现其实计算机里的英语 就只有那么几句而已。。。
3.关于学校 这个我也想提一下,有很多想以程序员为工作的朋友可能都考虑过找个培训班---但我的建议是。不要去---起码一般的不要去,为什么?效果不好,就这么简单,我亲自到XXX着名编程培训学校试听过。。。结果很遗憾 一周才那么几天课,我3天阅读的知识点比他们1个兴趣 教的还多。。。而且上机和理论还是分开,新学的知识不能立刻上机实践等等。。我觉得都是很严重的弊病。。。跟严重的那些所谓的学校给学生们造成了一种假象。。。只要在学校里考试合格了,出去就能做程序员,甚至软件工程师了。。。最后他们将发现,原来他们在学校里学的 只是基础中的基础而已 - -
4. 自学的资料,我个人认为,自学第一重要的是 视频教程,懂的人都知道,编程学习时重点并不完全是知识点,而是如何运用那些知识点,这也是项目经验今天被人们这么看中的主要原因。。。所以视频教程绝对是不二的选择,现在网上的视频教程非常之多 各种各样的都有 具体怎么找相信不用我教了 google 电驴 迅雷--我就是靠他们活过来的 。。。而且视频教程还有一点是学校比不了的,那就是 你可以随时看 重复看,一个知识点没明白 你可以反复的听10遍 20遍都没问题, 学校恐怕就不行了吧。 另一个优点是可以在你状态好时看, 大家都有状态不好的时候,累了-困了 很正常,可在学校,谁管你? 老师讲完了 听不懂你自己的问题,而视频呢,好办 累了 先休息一会 有精神了 想怎么看就怎么看。。。我觉得 找到好的视频教程。。比任何老师都重要。。至于出现问题不懂怎么办? 相信能来到着找到我这篇文章的朋友 都有办法解决的。。
5.书 --- 我非常喜欢看视频教程,但我坚决反对只看视频不看书,为什么?很简单视频传授的是 写程序的经验 而书则是细腻的为你讲解其中的原理。。所以我的建议是 先把一个知识的视频看一遍,然后再把书翻一遍 然后自己再写2遍 量变必然引起质变 我相信这是放之四海 而皆准的道理(指编程行业)
6.时间+态度 我认为这也很重要,很多人经常这样问我,我1个月能学会编程么? 我半年能成为编程高手么? 我觉得有这样心理的人比适合学编程。。。 学编程最忌心浮,一个知识点还没弄明白 就想写个项目出来 这是不可能的,这样最后只能导致你自己丧失信心,编程要一步一步的来,相信我哪怕用一天时间才掌握了一个知识点,起码比你用一天的时间 看完整本书强。。因为前者起码你还是有点收获的(指新手,老手两天一本书很正常有经验了吗 - -) 这里我可以给大家一我的学习时间大家可做为参考。。。我是从0基础开始一直到现在掌握j2ee基本所有的基础开发技能 用时一年半,本人觉得不算慢 每天最少看书+练习5小时 每天不停这个是我的进度。
㈨ 极客时间《程序员的数学基础课》怎么样
就目前的IT职场环境来说,但凡想再往上走一步、做任何一点带有创新性的技术,往往都逃不开数学。不论是数据结构与算法还是程序设计,底层原理和思路都源于数学,在大数据和智能化的时代学好数学更是门槛本身。市面上数学资料看了不少,但不是太难就是太抽象,能深入浅出的不多,《程序员的数学基础课》就是一个。跟着学下来,让我把算法和数学模型都串联起来,还清理了之前的一些盲点,有时间一定二三刷。
㈩ 编程难吗零基础可以会吗
0基础学习编程也不难,可以来我这看看。一般是4-6个月。
做好任何事情,都需要一定的认知基础,比如学英文,要有对欧美文化的理解和兴趣,在你学会枯燥的语法和单词时,就不会忘记联系场景,从西方思维去理解更加地道的说法。
这些就是“元认知”,基础好的元认知,他看什么都是充满兴趣的,你会以为他找到了合适的,其实他早已创建了元认知,从理解中搭建城堡,到最后也成了学的最好的那个。
万事开头难,不如多积累程序员的元认知,让你一开始就有一点点信心,比如对英文的理解,因为代码都是英文字母打底,比如逻辑思考能力,你需要理解一个又一个规则,来包装成模块,一个大项目无非就是一个个小程序封装起来的……
JS语言能力
做好任何事情,都需要一定的认知基础,比如学英文,要有对欧美文化的理解和兴趣,在你学会枯燥的语法和单词时,就不会忘记联系场景,从西方思维去理解更加地道的说法。
这些就是“元认知”,基础好的元认知,他看什么都是充满兴趣的,你会以为他找到了合适的,其实他早已创建了元认知,从理解中搭建城堡,到最后也成了学的最好的那个。
万事开头难,不如多积累程序员的元认知,让你一开始就有一点点信心,比如对英文的理解,因为代码都是英文字母打底,比如逻辑思考能力,你需要理解一个又一个规则,来包装成模块,一个大项目无非就是一个个小程序封装起来的……
JS语言能力,就是Web端3D可视化开发的元认知。合理利用3D模型扩展、场景搭建工具、技术文档、案例等技术资源,降低学习的门槛~ThingJS 3D demo一点都不难~
,就是Web端3D可视化开发的元认知。合理利用3D模型扩展、场景搭建工具、技术文档、案例等技术资源,降低学习的门槛~ThingJS 3D demo一点都不难~