很多同学想学习软件开发技术,但是又感觉自己数学知识很差,很犹豫不知道学不学,今天我就为大家讲解一下学习软件开发与数学的关系大不大。一起来了解吧!
首先,要了解数学与软件开发的关系,首先需要了解普通软件工程师的工作。
大多数工程师最终都从事Web业务应用程序的开发,无论前端还是后端,两者都是。
这些项目通常需要学习诸如Java、JavaScript、Python、C#和Go等语言以及诸如SQL等查询语言。
除了语言外,您还应该学会使用React、Angular、Express、Django和Spring等框架,这些框架加快了应用程序的开发,您可能还需要开发容器化产品(如Docker和Kubernetes),以及使用云计算平台(如亚马逊的aw服务和Google云平台)。
一.要掌握哪些数学知识?
掌握这些软件工程知识是一项艰巨的任务,但重要的是这些知识和数学没有直接关系,虽然很多知识都是基于数学领域的理论,但是学习这些知识不需要懂数学,这些技术所需的大部分知识都是独立的,与大学课堂教学的理论内容无关。
大多数计算机科学课程只是帮助您了解这些技术的毛皮,大学的课程可能会提供有关这些技术的设计和实现方法的背景知识,但在实践中很少具体说明如何使用这些技术。
然而,基本的数学概念和知识仍然与许多软件工程学工作有关。但是,这些数学知识不要求正规的教育,通过互联网很容易自学。
以下是软件工程师应该学习的基本数学知识和概念:
通过费米问题的快速估算,估算成本和系统负荷。
基本理解概率和统计信息,使用A/B测试等,做出数据驱动的决策,进行基本的数据分析。
逻辑的简单理解能够生成正确的代码,理解他人生成的条件判断方式,然后渐进分析理解,就可以创建复杂的代码,并引导自己寻求有效的解决方案。
二.数学在软件开发领域有用吗?
即使很多软件工程学的工作不需要数学知识,有扎实的数学基础当然也不坏。
在数学课和常见软件工程活动之间可以直接传达的信息可能不多,但学习数学的过程可以培养解决问题的能力。
在较高层面,这两个活动包括将逻辑和事实翻译成某种表达语言。在这两种情况下,逻辑的完整性和准确性都很重要。但是,这不仅仅是数学的能力,其他很多领域(哲学等)和STEM领域(物理学等)也有同样的能力,需要同样的逻辑和问题解决能力,数学只是帮助软件工程师确立编程以外的批判性思维能力的诸多活动之一。
三.软件开发什么时候会用到数学知识?
软件工程的子领域大多数不是直接使用数学,但确实有使用数学的领域。
这些领域包括机器学习、图形、游戏开发、机器人技术和编程语言开发等领域。
在这些领域,你的工作需要直接应用数学知识。其中包括微积分、线性代数、图论、概率、统计、逻辑和离散数学等。
但是,即使是需要数学知识的领域,把数学知识直接转换成代码也是因为可以使用数据库的。
这些库(主要用于神经网络编程的库TensorFlow等)可以抽象化基本操作,编程人员只需