Skip to content

🎨What I have stored is the reading notes of SICP and the solutions of the exercises after class.🎨SICP(计算机程序的构造和解释) 的学习笔记,习题解答

License

Notifications You must be signed in to change notification settings

Perry961002/SICP

Repository files navigation

《计算机程序的构造和解释》---SICP学习记录

MIT license

A language isn’t something you learn so much as something you join. ( 语言不是你学习的东西,而是你加入的东西。)

SICP

为什么SICP那么重要!!!

读完SICP的感受!!!

  • 这里引用在简书上看的一句话:

    SICP有什么缺点吗?有!它会让你在精神得到满足之余,有一种孤独感。

  • 目前为止基本读完了前4章的内容,并在我的博客上给出了专题总结,并整理了各章的课后习题解答。

视频及课件

  • 中译版视频专辑列表(优酷),视频只能是入门,想要真的掌握SICP这门课应该去读纸质书并且认真完成书后的习题。
  • 文件夹Courseware of Peking University收集了本书的译者---北大教授裘宗燕的[教学课件](Courseware of Peking University)。

一点建议

  • 首先本书是一本非常经典的教材,也是非常有难度的书,很多内容、习题需要仔细揣摩才能领略其奥妙之处,所以想读完甚至是掌握精髓是很需要下功夫的。
  • 其次,在阅读时,请务必全神贯注,并使用一整段的时间来学习每一小节并认真思考习题,否则很难有所收获。
  • 最后想说持续的学习总是很苦,所以当你学习SICP时觉得累、烦躁了,不妨停下来听听音乐,或者出去走走,总之一切放松的方式都行,但请记得这里还有许多富有趣味的题目亟待解决,它们等待你重新燃起热情去战胜。
  • 如果在学习过程中遇到觉得句子难以理解的地方可以去查看一下译者给出的勘误表, 不要问我为什么特意提这个, 你懂的...

以上与所有的SICP的学习者共勉!!:tada:

我的时间线

  • Nov 20, 2018 ~ Nov 24, 2018 --- 第1章 《构造过程抽象》
  • Nov 25, 2018 ~ Dec 11, 2018 --- 第2章 《构造数据抽象》
  • Dec 12, 2018 ~ Dec 30, 2018 --- 第3章 《模块化、对象和状态》
  • Mar 03, 2019 ~ Mar 11, 2019 --- 第4章 《元语言抽象》
  • Jul 03, 2019 ~ Jul 09, 2019 --- 第4章 《元语言抽象》第4章逻辑程序设计

配置环境

  • 采用了Chez Scheme作为解释器,需要从这个链接下载安装并配置环境变量,这里提供了Scheme的中文入门教程,对函数式编程有兴趣的话可以去读一下这一篇文章

  • 到这里就可以在DOS环境下进行程序编写,但为了方便可以使用VS Code

    • VS Code下载地址, 安装之后为VS Code扩展Code Runnervscode-scheme插件。

    • 在VS Code的设置中搜索code-runner.executorMapByFileExtension,在最后一行追加内容".scm": "scheme",安装好后重启一下VS Code这样就能在右上角看见一个三角形了,打开文件点击就能编译执行。

    • 现在还不能在终端中输入命令观察效果,解决方法是依次打开: 文件>首选项>设置>用户设置>拓展>Run Code Configuration,找到 Run In Terminal 打上勾,这样运行的程序就会运行在集成控制台上。

  • 特别说明:在学习第三章关于流的内容时,将使用Racket作为解释器(下载地址),因为它内部已经实现了这一技术。

案例和习题代码

  • 感谢我的同学Mo-lemon帮助我将之前习题中手绘的环境模型图用Visio重新绘制。

  • 如果代码中有错误或者有疑惑,欢迎通过Issues指出或者邮箱[email protected]联系我。

章节(Chapter) 01 02 03 04 05
案例(Example) Code Code Code Code ---
习题(Exercises) Code Code Code Code ---

Scheme实现几个经典算法

About

🎨What I have stored is the reading notes of SICP and the solutions of the exercises after class.🎨SICP(计算机程序的构造和解释) 的学习笔记,习题解答

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages