要这么看,我比你笨多了,我在数学无比简单的天津市高考考了90分,刚及格,而且是在高三拼命学数学的前提下……但我还是由着兴趣选了计算机,硬着头皮读到了大三。我一直觉得人不能要求太多。
说回数学,显然数学是能最直接表现一个人智力的学科了,你接触了ACM,恰好,ACM是程序员的智力游戏,作用也是一样的:让聪明的人愉悦,让有点笨的人挫败。
不如一些同学,原因未必是你笨。计算机跟别的专业不大一样的是:你和别人未必是一个起点的。一入学的水平就比很多同学四年后毕业的水平高了,这怎么比呀?就算别人以前没学过编程,但是电脑运用的很熟练,对于互联网了解的更深入,更有大局观,这也是一种先发优势。这些优势在开始的时候是人无我有的区别,看起来很明显,所以你不要强行去比,越比越来气不是?数学很重要,为了不挂科也要使劲学(我使了老大的劲才不挂科),对于我这种数学极其不灵光的,我并不指望我能灵光乍现地用数学方法解决问题,我只希望做到不畏惧数学语言。
算法很重要,建议跟着ACM队伍训练,也许你克服了最开始的语法和编程思路的难点就豁然开朗一跃成神,也许你像我一样最后也就能独立解决leetcode middle级别的题目,但是把自己最不擅长但又重要的基本功砸实了,也算大学期间的里程碑啊,一定会让将来的你欣慰。
当然,热情最重要。我上大学前没写过程序,我只是喜欢互联网产品,总有一些稀奇古怪的想法想要实现,“就差一个程序员了”讽刺的就是我,但是我学写两年程序,已经不用再被知乎的程序员们耻笑了。在不断尝试实现我那些无聊的想法的过程中,我学会了把一个挺复杂的问题划分开界限,我当然无法像ACM大神一样随手写一个 bug free 的某图某树某排序,但是,我可以慢慢来,把它反复调试好后封起来反复调用。我们和大神的差距可以靠 时间+黑盒+单元测试+调试 弥补不少,没什么是一层封装解决不了的,如果有,就再来一层。
最后我想说,不要太着急。现在大学不仅供应知识,还供应同侪压力下的焦虑,有些人可以安慰自己,可大多数自己尚未肯定自己的人,容易生活在别人阴影之中。我们害怕同龄人,害怕到忘了自己多么年轻。从此刻直到衰老死去前,时间漫长,漫长到让我们不复今天的热情。我怕热情被时间慢慢带走,更怕热情被焦虑一枪毙命。
线性代数、各个进制计数是基础,根本不要什么数学天赋,只要有打扑克牌和麻将的数学水准,那么软件相关数学下苦工就能学会。
除非你不搞软件技术只是走熟练应用某款工具软件。那就不叫软件技术了,和邮局、车站那些柜员,广告公司制图员水平差不多。
对了还要熟悉英文。
画图软件如:PS,flash都对数学要求不高
其实软件技术基本都对数学本身要求不高,除非软件使用的时候有什么特殊要求,软件都是为了让人使用的,所以数学本身基础低没关系,但是对于数学附带的逻辑思维能力却要求比较高。
还有就是对英语要求能看懂,很多软件都是英文界面,英语不需要太好,只要能够看懂软件界面的意思,知道怎么用就可以了
高深的,俗话就是好一点的软件编程的时候要用到微积分等高等数学
不过不用担心,报个软件技术开高等数学课
到时候现学都来得及