研究软件工程需要哪些数学方面的准备工作
1、离散数学。离散数学是计算机专业的基础课程,几乎所有学习程序设计语言,编译技术、人工智能都会涉及到。离散数学是研究离散量的结构及其相互关系的数学学科,学傍闭渌幔习这门课程主要是为了增强学生的数学推理能力与组合能力,为未来对离散结构建立数学模型和连续变量数学模型离散化打下夯实的基础。
2、图论与树。图论来源于英国数学家汉密尔顿发明了一种游戏。在十二面体的20个顶点标出世界著名的20稍僚敉视个城市,要求游戏者找一条沿着各边通过每个顶点刚好一次的闭回路,即"绕行世界"。这个问题后来被叫做汉密尔顿问题。由于运筹学、计算机科学和编码理论中的很多问题都可以化为汉密尔顿问题,图论也作为了软件工程的基础课程,它对于程序员作需求分析和整体设计有着特殊的作用图论这门科学,技巧性很强,几乎每个问题都有一个独特的方法,曾经有一种说法,中国只有三十个人真正懂图论。
3、基础课程,概率与统计。比如里面涉及到的随机过程。没有随机过程,你怎么分析网络和分布式系统?怎么设计随机化算法和协议?相较于其他课程,概率与统计算是比较容易上手学习的。
4、形式语言与自动机。这门课程重点学习的应该是如何构建计算机模型而不是编程。
5、还有抽象代数,组合数学等相关课程。
6、如果你是在校大学生,以上仅供参考。因为每个大学都会为计算机专业的学生设置相关课程,其中就包括我所提到的大多数数学课程。如果你想自学,建议你从熟悉工具入手,活学活用。相关书籍就不推荐了,可以自行检索。
7、很多人说软件工程算管理学科,不需要太多数学基础,我是不认同的。要知道计算机科学的产生,最开始也是归于数学这个大专业下的。只是随着时代的发展,人们功利性越来越强才导致基础学科的冷门和应用学科的热痊跬媸应门。有人说你的气质里包含着你看过的书和走过的路。我想说,你的逻辑性、处理问题的方式和眼界也与这些基础课程息息相关。