成为一名顶尖程序员,你需要多少数学知识?| 极客时间

2022 年 2 月 28 日 InfoQ

每当我想深入学习一下算法相关的内容时,其中涉及的一些复杂数学知识有时候就会成为“拦路虎”。

我承认自己的数学确实没学好,但也不至于很糟糕。不过,这种“不上不下”的数学水平,完全无法应对业界 Big Tech 公司(亚马逊、苹果、谷歌、Facebook 和微软)的面试,尤其是面试被问到算法的一些问题,比如某个算法的时间和空间复杂度,或者具体的排序和搜索算法之间的比较等。

因此,我要学习所有这些知识点。在搜索和学习过程中,我搜集了几篇有关编程所需的数学知识的文章。

在编程方面,最为知名的数学支持者是史蒂夫·耶格(Steve Yegge)。关于编程所需的数学,我列举了以下内容供你参考:

  • 数学笔记

  • 《Math for Programmers》

  • 成为一名黑客需要多少数学

  • 谈数学

  • 《数学黑客》

  • 《关于 C 语言实现的斐波那契数示例》

如果你还没读过以上内容,那么你可能会错过我写这篇博客所要表达的意图。按照史蒂夫·萨米特(Steve Summit)、埃里克·雷蒙德(Eric Raymond)以及保罗·格雷厄姆(Paul Graham)的观点,你无需过多地关注数学就可以成为一名出色的程序员或者黑客(此处黑客泛指维基百科中对黑客的定义以及埃里克·雷蒙德(Eric Raymond)对黑客的定义)。

史蒂芬·诺布尔(Steven Noble)认为,程序员应该懂一些数学;埃文·米勒(Evan Miller)似乎在某种程度上也同意这一观点。我本人只是出于热爱而开始踏上编程之路的。

从 2009 年以来,我主要使用 C 语言进行编程,有时候还会用 C++,并且大部分时候是在 Linux 和 UNIX 环境下工作。我对编程充满热情,有时候需要使用多种不同的语言进行编程,因此我必须学习用不同的思维方式工作。编写代码不是很难,但是,使用特定的编程语言并按照一定的范式寻找思路且建立模型,才是最难最耗时的工作。

我在编程道路上的经历告诉我,编程不是数学,而且永远不是。如果你想学习计算机编程,那么去学计算机编程就好了,不需要你去翻阅数学书籍,而是要经常浏览一些编程论坛(比如 comp.lang.c 和 comp.lang.lisp)。关于浏览论坛,你可以使用一个新闻阅读器,比如 Pan,订阅来自 GNU 的所有软件信息,并使用 Linux 发行版来处理日常工作,我趋向于使用轻量级版本。如果你想学习计算机编程而学习了大量的数学知识,那么很有可能会迷失在复杂的数学理论当中,并朝着错误的方向前进,最终也不会学到太多的编程知识。

市面上的数学资料我看了不少,不是太难就是太抽象,能深入浅出的确实不多,《程序员的数学基础课》就是其中一个。跟着学下来,让我把算法和数学模型都串联起来,还理清了之前的一些盲点,有时间一定二三刷。

这门课非常适合想扎实数学基础的程序员和准程序员,课程里的学习路径既能让你巩固基础知识,又可以深入理解这些内容对计算机编程和算法究竟意味着什么。通过“数学概念 - 数学模型 - 数据结构 - 基础算法 / 机器学习算法 - 编码实现”这几个关键步骤,让你深刻理解编程中的数学。

要把一门学了十几年的课重新拾起,还是得“耗点功夫”的。一个好老师可以将复杂的问题简单化,把晦涩的知识点讲得通俗易懂,这门课的作者黄申,就是这么个人。

关于这哥们:

  • LinkedIn 资深数据科学家和微软学者,IBM ExtremeBlue 天才计划成员。

  • 长期专注于大数据相关的搜索、推荐、自然语言处理、广告以及用户精准化领域;

  • 在微软亚洲研究院、IBM 美国研究院、eBay 中国、1 号店和大润发飞牛网都曾担任要职,带队完成了若干个公司级的战略项目;

  • 著有 20 多篇国际论文和 10 多项国际专利;

这种资历的人开专栏讲课,说真的,挺难得。专栏已有近 6 W 人订阅,截了点评价给你们参考:

这个专栏除了内容过硬,还有 3 点不得不提:

第一,专栏图文并茂,我发现,手绘图片是真挺好看,数学书里面可没有这些,算是给程序员的专属福利了;

第二,每一章末尾,老师都会针对这一讲的内容总结「学习笔记」,方便大家记忆,可以保存下来,随时查看;

第三,每篇文章老师都会留个难度适中的思考题,并在评论区跟大家耐心互动,解答大家提出的问题。

课程原价 199 元,限时优惠仅需 119 元,该门课程也加入超级会员体系,开通会员,能一次性拿下平台 190 多门课程。

如果把 APP 内的这 190 多门课程和专栏全部加起来,按照以往单价,总价达到了 3 万多。而现在,一个会员只要 499,一次性拿下课程和专栏。

说实话,这个方案算是很良心的。毕竟 499 可能以前只能买几个专栏


极客时间这个平台的课程主要是涉及IT、产品和职业技能,非常适合互联网的同学。

在学习这件事儿上,回报大于投入,冲!

点击阅读原文,每天 ¥1.4,拿下极客时间超级会

登录查看更多
0

相关内容

数学是关于数量、结构、变化等主题的探索。
【2022新书】Python手册,275页pdf
专知会员服务
179+阅读 · 2022年3月18日
专知会员服务
54+阅读 · 2021年7月21日
【干货书】Python科学编程,451页pdf
专知会员服务
127+阅读 · 2021年6月27日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
78+阅读 · 2021年3月26日
一份硬核计算机科学CS自学修炼计划
专知会员服务
43+阅读 · 2021年1月12日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
30+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
62+阅读 · 2020年10月15日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
成为一名优秀Java开发人员的7个步骤
InfoQ
0+阅读 · 2022年4月12日
程序员大部分时间都在“熟悉系统”
CSDN
0+阅读 · 2022年4月6日
只有数学好才能当程序员?
CSDN
0+阅读 · 2022年1月5日
Kotlin,竟然这么香!| 极客时间
InfoQ
0+阅读 · 2022年1月5日
如何成为像耗子叔一样的程序员?
InfoQ
0+阅读 · 2021年12月4日
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年6月30日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Verified Compilation of Quantum Oracles
Arxiv
0+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月15日
Arxiv
24+阅读 · 2021年1月25日
VIP会员
相关VIP内容
【2022新书】Python手册,275页pdf
专知会员服务
179+阅读 · 2022年3月18日
专知会员服务
54+阅读 · 2021年7月21日
【干货书】Python科学编程,451页pdf
专知会员服务
127+阅读 · 2021年6月27日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
78+阅读 · 2021年3月26日
一份硬核计算机科学CS自学修炼计划
专知会员服务
43+阅读 · 2021年1月12日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
30+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
62+阅读 · 2020年10月15日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
相关基金
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
7+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年6月30日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员