在成为程序员多年之后,我如何在数学方面变得更好

时间:2010-05-22 21:58:30

标签: math

  

可能重复:
  How to improve my math skills to become a better programmer
  Basic Math Book for a Programmer

到目前为止,我的职业生涯相当奇怪。 首先,我从一所医学院毕业。然后我进入营销(药品)。 然后嗯,过了一段时间,我决定去寻找我的(直到那时)业余爱好并成为一名“专业”程序员。 从那时起我就一直很成功。我有很多语言“在我的掌控之下”。我的收入并不差,而且我已经非常重视开源社区。

事情就是我吮吸数学:)。嗯,当然,当我完成工作时,并非完全如此。但我不知道我有多害羞。我不知道如何找出答案。

在我的中学/高中时期,数学从来没有真正优先考虑过。我只选择尽可能少的钱,因为我总是准备去医学。当然,我知道代数的基础知识。像“正常”和方形等式的东西。几何的基础知识。但是,有些事情我错过了。 最近我对概率论,无穷大,混乱/秩序等事物着迷。但每次我尝试学习这些主题的东西时,我都会遇到一层术语,特殊符号和一些特殊的思维方式,那就是非常喜欢我(程序员),但也有很多不同(对我来说很奇怪)。

那么,你会推荐我什么样的书?找到合适的东西很难。我发现的一切都太容易(和无聊)或完全无法穿透。

5 个答案:

答案 0 :(得分:2)

  

当然我知道的基本知识   代数。像“正常”和   方程。也是基础知识   几何。但是,有一些事情   我错过了最近我是   被诸如此类的东西着迷   概率论,无穷大,   混乱/秩序等。

我发现数学是一个单向的门:如果你没有早点通过,那就很难回头了。拾取并非不可能,但没有纪律就更难。

关键是做问题。你不只是阅读数学书籍 - 你在将机制融入大脑时遇到了问题。如果你只是在阅读,我会说它不可能学习它。

最好回到你所知道的并开始工作。如果您对基本代数和几何感觉不错,请开始考虑介绍微积分或统计。从基本的东西开始:一个变量微分和/或积分微积分或统计。做了很多问题并且感到舒服。

如果您是计算机科学家,您会发现离散数学,图形,数值方法和线性代数都很有帮助。

不要指望快速做到这一点,特别是如果你对它很随意。

我推荐两个很棒的资源:

  1. Verzani - Using R for Introductory Statistics
  2. Gil Strang MIT Linear Algebra
  3. 两者都是免费的;两者都很棒。

答案 1 :(得分:2)

假设你的基本代数已经下降,我将从单变量微积分开始。我使用了几本计算书,发现Larson's是最好的。希望你能在图书馆找到它。

之后不久转向线性代数。 This book是免费且非常好的。

不要担心掌握一切,你可能想回到线性代数。

然后找一本强调证明,集合,关系,功能和公理的书。我喜欢Lay的Analysis with an introduction to proof。通过归纳学习证明特别好。

从这里,你应该能够打破你发现自己反对的那个难以穿透的墙。你将掌握术语,阅读任何本科数学教科书。

我推荐图论,组合学和线性代数,用于它们在计算机科学中的应用。

祝你好运!

答案 2 :(得分:1)

基础知识:

  • 对实数和复数,函数,集合等的基本理解。
  • (真实)分析一个变量
  • (真实)线性代数
  • (实际)分析几个变量
  • 离散数学
  • 矢量微积分
  • 复杂分析
  • 复杂线性代数
  • 统计与概率论

更高级的东西:

  • 抽象代数
  • 傅立叶分析(比人们想象的要重要得多)(Basic video course from Stanford)
  • 变换理论(傅立叶分析除外)
  • 微分几何
  • 功能分析
  • 偏微分方程
  • 非线性现象和混乱

答案 3 :(得分:1)

您可以查看在线提供的一些免费课程资料from MIT

答案 4 :(得分:0)

调查当地大专院校的数学课程。通常情况下,他们在白天为入学的学生提供这些课程,但他们有时也会上夜校。然后,在教育之前与教授交谈,看看你的数学技能是否适合全班,或者你会在大门外挣扎。