Shai Simonson的课程非常好。我听过他的课。正如他在最初的讲座中所说,“计算理论”是对抽象概念的研究。但这些抽象概念对于更好地理解计算领域非常重要,因为我们处理的大多数概念都有很多抽象和逻辑基础。
正如John Saunders所说,如果您精通编程语言,甚至可以成为一个好程序员。但了解底层原理将使您永远成为一个卓有见识的人。因此,请继续学习(注:我理解为什么您没有认真学习过它,因为我们大学的大多数老师并不擅长解释这个主题(我也有一位糟糕的老师),但我向您保证,在这里学习的老师是您能得到的最好的老师)。
计算理论的重要性取决于你的人生规划。如果你想成为一名计算机科学家,那么它是你未来学习的重要基础。
如果你只想成为一名程序员或软件工程师,那么你可能永远不会再次使用这些知识。
除了常用的工具(如正则表达式、上下文无关文法、状态机等)在作为程序员日常生活中的实用性之外,一门良好的理论计算机科学课程将会教你如何以某种方式对某些问题进行建模,以便能够有效地解决。
对于没有接受过这个学科训练的人来说,看起来聪明的解决方案,对于那些接受过训练的人来说,就会自然而然地成为“正确的方式”。我建议你密切关注课程内容,因为它将给你提供一个非常强大的工具集,可以帮助你成为一个出色的程序员和抽象思考者。
计算理论研究处理可计算问题所需的基本原始操作。"可计算"是指von Neumann机器风格的处理方式,与Lisp机器不同。(Church-Turing论文表明它们最终相等,但在实践中它们会产生两种非常不同的计算模型。)
例如,以下是在von Neumann样式机器中实现基本图灵功能所需的最小设置:
要获得通用的图灵功能,您可能需要有内存寻址和一个调用堆栈。
随着人类思维变得更加复杂,“可计算”的目标也越来越高。可能不存在上限。