正如标题所说,
离散数学对计算机科学家来说有多重要?背景:我正在攻读硕士学位,重点是算法、复杂性和可计算性理论以及编程语言等基础知识,以便为并行计算领域的工作打下良好的基础。
更多的背景:我的大学在选择硕士学位的课程方面给予了很大的自由。它被正式称为“软件工程”,但是由于广泛的选修课,一个不同的焦点是可能的。有趣的是,没有一门选修课是数学课!我正在考虑做一门关于离散数学的课程,要花半个学期才能成功完成,即使我不能把它用于我的学位。因此,对于这个问题,我试图找出这一努力是否合理。
发布于 2012-08-31 15:05:22
作为一个计算机科学家,希望获得硕士学位,重点是“算法,复杂性和可计算性理论和编程语言”,我会说离散数学是非常重要的。
离散数学将帮助你的“算法,复杂性和可计算性理论”的部分重点比编程语言更多。对集合论、概率和组合的理解将使您能够分析算法。您将能够成功地识别您的算法的参数和限制,并能够意识到问题/解决方案是多么复杂。
就编程语言而言,离散数学并不涉及如何实际编程,而是可以用于软件系统设计规范。我在大学里用了"ZED“,用集合论设计了一个系统。不过,我不知道现在有多少比例的软件系统是用集合论设计的。
从离散数学中得到的最后一个重要概念是布尔代数。这不仅对于创建逻辑解决方案非常有用,而且在编程中也非常有用。软件可以简单地根据其中的布尔逻辑来制作/分解。
总的来说,离散数学在很大程度上不是一个数字类。它让你以其他课程所没有的方式使用你的大脑。这是一门逻辑思维课,如果做证明/逻辑计算对你来说不容易的话,你必须有耐心。我见过人们改变专业,因为他们无法“抽象地”思考,无法通过这门课程。
总之,我会表明,对于计算机科学家/软件工程师来说,离散数学将是一个重要的课程。
发布于 2014-11-14 19:25:39
实际上,离散数学是计算机科学的支柱,或者说理论计算机科学。没有对离散数学的研究,我们就错过了计算机科学的核心--逻辑发展.它为您的解决方案带来了合理的清晰性,也为分析问题提供了一种正式的方法。
计算机科学的各个领域,无论是数据库、核网络、计算机组织、编译器、网络编程等,都与离散对象有关,我认为它是计算机科学的“父学科”,每个人都应该研究这门学科。
https://softwareengineering.stackexchange.com/questions/163168
复制相似问题