计算机程序的构造与解释¶
课程信息¶
本课程为大一上学期计科大班的专业课(和 程序设计基础 为二选一的关系), 只在每年的上学期在鼓楼开设。
如果你是信计的,需要选修,需要在“跨专业课程”中选择。
本课程是伯克利 CS61A 的一个复刻,实验暂时是一样的,作业和考试不一样。
25 级该课程与 信计导论实验 有部分冲突,需要申请免修不免考;冲突时间恰好为期中时间,可能需要请假。
课程网站:https://sicp.pascal-lab.net/
我的作业仓库:https://github.com/nju-cs-2025-xmzheng/nju-sicp-2025-fall
课程评价¶
知乎上有很多对这门课的评价,可以看一看。以下为本人的评价。
李樾老师(樾哥)虽然身体好像不太好,但上课非常有激情,讲得很生动,而且有互动环节,我因为在群里最后一个发言而被点上去过一次。助教团非常热情,课程群有“大一的木斧助教”,结课后还有和助教一起的团建活动。
课程从 Python 基础语法、函数式编程和数据结构讲起,期中后介绍面向对象式编程和 Scheme 语言, 最后以声明性语言 SQL 收尾。每周一节实验课,有 Lab 和 Homework,作业难度较大,几个小时做不完很正常。 总共有 4 个 Project,需要阅读较长的框架代码后进行编程。所有 Project 均来自 CS61A,质量很高,也非常有趣。 第一个 Project 是一个策略型的竞技小游戏,有排行榜和小礼品;第四个 Project 需要你在给定的框架下写出一个 Scheme 解释器,非常有成就感。Homework 和 Project 都有 Optional Problem 或者 JFF (Just For Fun), 会有一些拓展的或者较难的知识。
课程质量是非常高的。作业虽然往年有很多人说难,但是实际上如果不做 JFF (或 Optional) 部分的话,还是不算难的。主要难点其实在于最后学 Scheme 的时候,Scheme 神奇的语法实在是有点反直觉,也不太好写。
期中难度较大,期末比较简单。25 级期中平均分 58.77,中位数 57.5,最高分 99;期末平均分 79.57, 中位数 80.5,最高分 99。期中是半开卷,可以带一张 A4 纸。没什么用,不建议带,不过带着可能会比较放心。
作业 50% + 期中 25% + 期末 25%,很难见到作业分占比更高的课了。作业一般都是满分,除非你忘记写了。
没有考勤分,可以随便翘课。但是少有人翘课,可见课程质量。25 级总评均分 82.9,中位数 84,最高分 99.3;
最高分是谁呢,好难猜啊。
总的来说给分也挺好,没有平时分所以可以全翘(?