java希望提高编程的数学技能
我刚刚开始用Java编程,并注意到如果我想用它做任何有价值的事情,我可能需要提高我的数学技能。我只是注意到有些练习对于一个对数学有扎实理解的人来说应该很容易,因为似乎有一些数学公式在运行。我两年前高中毕业,没有机会在那里做最高水平的数学。我对此深感担忧,因此我想从经验丰富、知识渊博的人那里寻求一些建议,在沉迷于深水之前,我应该学习什么来获得对数学的基本掌握
我通常是一个数学很好的学生,而且我的思维也很敏捷。我的目标是在今年年底成为一名经过认证、经验丰富的Java程序员。我知道人们会说经验需要时间和努力,但我愿意为实现这一目标而牺牲我所拥有的一切。我以前用过PHP和MySQL编程,对它有了大致的了解,但当我读到Java的时候,它给了我很大的鼓舞。如果你知道任何其他东西,可以帮助我在这方面的努力,请让我知道
谢谢
# 1 楼答案
通过http://www.khanacademy.org/数学部分。大多数人高中毕业时只有微积分I
如果你在这里完成了所有的数学课程,你将几乎满足CS学士学位的数学要求。剩下的是离散数学,算法,有限自动机
也可以看看麻省理工学院的开放式课件
# 2 楼答案
Discrete Mathematics是您最可能需要的。理解以2为基数(二进制)以16为基数(十六进制)的数字系统是非常有帮助的。你不必陷入离散数学的泥沼,因为其中一些太深了,让数学专业的学生畏缩。查看集合和逻辑等基础知识
至于三角/微积分。。。我在大学里学过这些,从来没有广泛地依赖过这些。。。或者说,好吧
# 3 楼答案
我强烈鼓励你阅读史蒂夫·耶格的Math for Programmers
如果你在找一些书,我推荐Concrete Mathematics和The Art of Computer Programming
如果你想练习一些问题,请查看Project Euler
不要因为挑战性的问题而气馁。只有通过克服挑战,你才能成长。当你遇到路障时,这里的社区非常愿意给你帮助和推动
我们也不要忘记一句名言:
最后,要获得良好的经验,唯一的方法就是编写代码,而且要编写很多代码
# 4 楼答案
数学能力不一定是成为一名优秀程序员的先决条件。不过,好的程序员往往擅长数学,这与此有着密切的联系。这并不意味着学习更多的数学就一定会使你成为一名更好的程序员。要成为一名更好的程序员通常需要大量的编码。因此,考虑到这一点:
# 5 楼答案
线性方程、矩阵代数、基2, 8, 18和10转换、对数和集合理论(交叉、联合等)将给你一个基本的基础。如果你的代数是正确的,那就研究离散数学、预计算和三角函数。一旦你做到了这一点,如果你愿意的话,继续下去应该不会有问题
老实说,花时间在当地社区大学参加入学考试,对你的技能进行诚实的评估,可能是值得的。从那里,你可以选择参加一个班,或者通过自学学习他们的课程
# 6 楼答案
如果你在所有这些伟大的建议之后还有空余时间,我可能也会在你的阅读列表中列出排名第一的统计数据。 http://www.amazon.ca/Head-First-Statistics-Dawn-Griffiths/dp/0596527586
虽然与核心Java编程没有直接关系,但统计在计算机科学的某些领域有很多用途。例如,我发现这本书在我参与的一些数据挖掘项目中非常有用
我之所以推荐这本书,是因为它读起来既简单又有趣,是一本很好的统计学入门书,不会让你陷入困境。这就是“珠子前”阅读,你可以用最小的努力