SICP的先决条件

时间:2012-10-25 00:06:46

标签: sicp

我已经用“边做边学”的方式编程近2年了,但我认为自己相当不错,我真的希望建立一个良好的计算机科学/计算机工程基础,大多数人建议我开始与SICP合作。 (计算机程序的结构和解释)

我想知道

  • 这是最好的方式吗?
  • 我知道如何在OpenMP和MPI中编码矩阵乘法,我知道大学水平的数学,这是否足以阅读和欣赏SICP?
  • 而不是这样,我可以把所有时间花在Project Euler上吗?

2 个答案:

答案 0 :(得分:8)

个人经历:和你一样,我正在尝试通过自学来学习编程,我从SICP开始。由于我是一位古老的历史学家和考古学家,我没有数学,工程或真正的计算机科学的背景(只是像LaTeX,HTML和CSS这样的好知识)。我最近的数学课程现在是15年前。虽然我正在通过SICP学习数学书籍,但SICP中给出的解释实际上足以理解这些内容。我非常感谢SICP,它要求很高,但非常有趣。我也建议把它作为书买,我更喜欢在屏幕上阅读。

有时候你必须应对一些困难,因为语言标准已经发生了变化(例如Running SICP Pattern Matching Rule Based Substitution Code),或者作者假设现有的函数只是在本书后面定义的(例如How do I get the functions put and get in SICP, Scheme, Exercise 2.78 and on)。作为一个你总能在网上找到解决方案或提示,这没什么应该打扰你。

答案 1 :(得分:1)

如果您知道任何数量的节目,那么您可能会感觉更好,但在通过SICP时并不是必需的。我现在正在通过它(覆盖到覆盖样式),我也在第2.3.3节。对我来说,最大的障碍是基于数学的一些问题,因为自从我在高中做数学以来已经有一段时间了。对于这些问题,我已经使用谷歌搜索问题和解决方案的解释。就像编程一样,数学也不是一个要求,显然是因为我仍然在通过这本书取得进步,但我觉得它有时会有所帮助。

您真正需要的唯一要求是计算机和方案实施,我推荐麻省理工学院计划或DrRacket。

TL; DR

您需要的唯一要求是计算机和方案实施,其他所有内容都可以随着您的学习而学习。