开篇词 | 作为程序员,为什么你应该学好数学?
总结笔记:
1. 往大了说,数学它其实是一种思维模式,考验的是一个人归纳、总结和抽象的能力。=> 解决问题的能力
2. 往小了说,不管是数据结构与算法还是程序设计,其底层很多原理或者思路都是源自于数学
3. 如果编程语言是血肉,数学的思想和知识就是灵魂
4. 学习数学不能太功利。数学应当成为我们的一种基础能力,用数学思维来分析和解决问题
——————————————
导读:程序员应该怎么学数学?
大佬们学习数学的心得体会:
刘超 | 《趣谈网络协议》专栏作者:学数学就像学一门新技术
1. 很多技术深入下去,本质就是数学
2. 学数学和学一门新技术一样,有这样三个阶段:知道如何使用,了解原理是什么、怎样实现,了解为什么这样实现
徐文浩 | bothub.ai 创始人:从工作相关的领域开始,先广度,再深度
1. 从工作相关的领域开始,是让自己一是能有实际用得上学到的知识的机会,二是日常工作中容易耳濡目染,相当于常常在复习
2. 先有广度,是让自己在心中有一个问题到解决方法的“地图”,遇到具体问题能够快速想到对应方案,容易获得正反馈
3. 再有深度,具体去对一个特定的主题学习应用。深入学一个特定问题时,最好的方式是:追一门在线课程,譬如Coursera、TEDx,or极客时间(明确的节奏、随堂的作业和测验,使得学习建立联系和反馈,保证学习的有始有终)
4. 针对学习的内容写一点程序,把正在学习的解法,写一个算法实现。(反复读书的效率对其来说,就不如找来Coding The Matrix,通过写程序让学习、理解变得更深入)
王天一 | 《人工智能基础课》《机器学习 40 讲》专栏作者:数学是工具而非问题,是手段而非目的
1. 明确需求(使用数学的目的)
2. 用多少学多少
3. 理解数学的本质(数学是工具而非问题,是手段而非目的)
4. 【探索世界奥秘的学科是“格物穷理”的物理学,相形之下,数学存在的意义就是通过合理的设计简化物理学的研究】正因如此,在数学中存在着各种各样在现实中不可能出现的理想化模型(比如无穷小和极限的诞生),也存在着对同一个物理过程不同的建模方式(比如矩阵力学和波动力学)。充分理解数学的人造特质,可以在学习中少走弯路
5. 数学思想与数学逻辑:理解数学的工具属性就会自然而然的引出工具设计的出发点,只有掌握了工具诞生的背景与目的,才有可能有效的使用它们。
6. 学习时值得突出强调的一点是举一反三的能力。如何透过现象看本质,将不同场景融会贯通,才是值得锻炼的高级能力
7. 勤于思考解决相同问题的不同方法,与解决不同问题的相同方法之间的联系与区别。
程序员的数学应用地图: