任何人都可以解释我研究计算理论的用途/重要性。
毕业时我在同一科目上课,但我没有严格学习。
我还在以下链接中找到了一些视频讲座。
答案 0 :(得分:8)
答案 1 :(得分:5)
我认为每个计算机科学专业的学生都应该了解一些计算理论,即使你不做任何研究。
有些概念只是普遍的,你会在其他课程中一次又一次地遇到它们。例如。有限状态机,在学习字符串匹配算法和编译器时需要了解它们。另一个例子,你将在计算理论中学习一些简化算法(从一个模型转换到另一个模型),这些东西教你如何抽象地和算法地思考。
答案 2 :(得分:2)
人类最伟大的才能是抽象的力量。这就是我们与动物的区别。我们运用这种力量越多,我们在解决问题方面就越成功。
对某些人来说,玩国际象棋似乎是一种徒劳的消遣,对任何人来说都没有实际用处,但是在每次做出重要决定时,玩家都有能力提前思考。此外,它揭示了隐藏在丑陋语法和脑死亡代码层之下的优雅和简洁,我们每天为了谋生而筛选。
答案 3 :(得分:1)
计算理论的重要性取决于你对生活的所作所为。如果你想成为一名计算机科学家,那么它是你未来学习的重要基础。
如果您只是想成为程序员或软件工程师,那么您可能永远不会再使用这些知识。
答案 4 :(得分:1)
除了作为程序员的日常生活中各种工具(正则表达式,无上下文语法,状态机等)的有用性之外,一个好的理论计算机科学课程将教你如何以某种方式模拟某些问题你可以有效地解决。
对于那些没有接受过该学科培训的人来说,似乎很聪明的解决方案对于那些拥有这种学科的人来说似乎是自然而且“正确的方我建议您密切关注课程中发生的事情,因为它会为您提供一个非常强大的工具集,可以帮助您作为程序员和抽象思考者。
答案 5 :(得分:0)
在软件工程方面,它的实际意义并非如此。
例如, 您可能想要使用正则表达式解析一些编程语言作为程序的输入。 CS理论证明了为什么这是一个坏主意(大多数编程语言语法不是常规),无论你想尝试多少,都无法克服。
其他例子可能包括NPC问题等。
基本上,CS理论可以教你很多关于推理的重要事情。但它也描述了编程和算法的基本限制。
“了解你的极限”
答案 6 :(得分:0)
计算理论是计算机科学,语言学和数学之间的一个关键点。如果你有好奇心,那就让自己接触潜在的理论。如果你只是想轻易地让计算机做某些事情,你可以跳过它。我?我爱它。但我也喜欢拓扑,所以在这方面我可能不是一个典型的开发人员。
答案 7 :(得分:0)
一些实际例子:
在花费大量时间解决问题之前,您需要知道:
如果问题无法解决。
如果有一个“好”(polynomial)解决方案,因为有些问题可能没有好的解决方案(至少,不是我们目前know的解决方案;) )
(有点不太实用)你会想知道问题是否比其他问题“更难”,也就是说,需要更多的时间/空间。