为什么?
《软件设计实践》作为新开课,我们寄希望于它能成为最富有活力、最受学生喜爱的课程之一。作为“实践”课,我们希望能设计出一种充分运用软件工程、面向对象等思想和手段的小型软件项目作为大作业。
我们参考了 UC Berkeley CS 61A、MIT 6.031 和 CMU 17-214 等国外优秀课程的实践部分,并最终选择了 CS 61A 的 Project 4 作为我们大作业的核心。
我们将原先的 Python 代码更改为 C++ 实现,重新起草了适合本课程的目标语言(即 Mini-Lisp),并努力编写一份循序渐进、深入浅出的文档来帮助大家完成这一项目。
如果你觉得本文档哪里写得不好,哪里有任何问题,请直接向助教提问、提意见。我们很欢迎你的建议。你们是早上的太阳,有你们才能有更好的北大教学。