前言#
其实这篇帖子早在期末周结束几天后就写好了,不过由于我想等所有课都出分了再稍微修改一下内容,但《B/S 体系软件设计》这门课迟迟没出分(看来要到年后出分了…),所以我等啊等,一直等到了现在。都已经到除夕了,我想还是清一下库存吧…
终于挺过了个人认为本科四年来学业压力最大的一个学期——30 学分的课,而且除体育课外都是计院的课,不仅平时在各种 lab 和 project 中疲于奔命,而且期末备考阶段也是压力山大,时间根本不够用啊啊啊!(后悔上学期脑子一热选了太多课,以及没在期中退掉一门课ww)好在 2025 年的生成式 AI 已经足够强大,能为我们的日常学习带来了不小的帮助,比如那些没有答案的历年卷可以让 AI 来回答(建议问多个大模型交叉验证)。所以我真的很佩服那些能在一学期修三十多学分的前辈们 orz
还好这半年来没有发生什么大事情影响到平时的学习,所以我还能匀出一些时间做点笔记 ↗,既是为了自己复习,也希望能帮助后人们少走一些弯路(备考的时候发现有些课程很难找到前人的笔记和学习经验,这也正是我坚持在学期末撰写学习经验帖的动机之一)。
一些相关的学习资料也已经上传到我的课程资料库 ↗(GitHub 仓库)中,如有需要可以自取(但严禁直接抄袭🚫)。如果这些资料对你有所帮助,不妨为仓库点个 Star 支持一下 lz 吧!
目录#
专业必修课#
计算理论#
- 学分:2.0
- 任课老师:郑乾
- 教材:Elements of The Theory of Computation (Second Edition)
- 分数构成:
- 平时 30%:1 次课后作业(10%)+ 2 次课堂测试(2 * 10%,都是在问卷星问卷上做的);但本学期没有课后作业,所以第 2 次小测题量加倍
- 期末 70%
个人认为这是计院最难的一门课,没有之一(本以为 ADS 已经是巅峰了,没想到还有高手)。2 学分的课意味着平时压力不会很大,尤其是在 zq 老师极为宽松的评分下显得更加轻松。但这是一种“温水煮青蛙”,千万不要指望期末速成(参考图灵班学习指南罗列的学习大纲 ↗(除去复杂度理论部分)就知道为什么不可能速成了),一定要投入足够多的时间学习这门课。lz 的学习心得是:只看课件/教材/笔记是远远不够的,需要通过大量刷题培养一种做题的感觉(或直觉),而这种感觉很难用文字表达乃至口头传述,只有你自己心里清楚。但 lz 的数理功底不深厚,学习这门课的时候大多是囫囵吞枣、浅尝辄止的,不少地方还是没有想明白的,尤其是那些长篇大论的证明(还不少),于是只能死记硬背了…
复习时除了看自己做的笔记外,由于时间限制,lz 只刷了近三年的历年卷,以及看了 zq 的几次小测题。做了这些题后,最大的感受是:“只要不挂科就算成功了”。所以 lz 的心理预期是非常低的,这也导致 lz 在面对今年尤其恶心变态难的题目时心态没有崩掉。最后简单说一下今年的题型:12 道判断 + 6 道大题,不仅多了一题,而且还难了不少(不知图灵本尊能做出多少道题),所以考后看到很多同学都在群里哭天抢地也就不足为奇了。
相关资料:
-
笔记:
- 我的笔记 ↗
- 咸鱼暄前辈的笔记 ↗
- 图灵班《理论计算机导引》的笔记
- 2025 秋冬朋辈辅学资料 ↗
- Twilight Sirens 整理的笔记(多位大佬集思广益的产出,以钉钉文档形式呈现;但貌似只有 ZJUer 可访问…)
-
GeeksforGeeks 的 TOC 教程 ↗(没看过,但这个平台对大家来说应该不陌生吧)
-
历年卷:
-
COMP481 Review Problems:前辈经验帖上被多次提及的一套题集,Google 搜出来第一条就是;但 lz 来不及做,所以不好评价
操作系统#
- 学分:5.0
- 任课老师:寿黎但
- 教材:Operating System Concepts, 10th Edition(恐龙书)
- 分数构成:
- 平时 50%:
- 作业 5%:今年有 4 次,在学在浙大上以「测试」形式开放(所以做完后就不能看原题了,建议及时把题目记录下来,作为期末复习的材料(lz 没想到这点,现在十分后悔))
- 课堂小测 5%:
- 以 AhaSlides ↗在线形式呈现(课上提供二维码和 5 个字符(比如 https://ahaslides.com/7LKNU/ ↗ )),只有一次是线下纸质小测(会提前通知的)
- 小测的概率大概是 5/7 左右,仅供参考
- 每次小测大概 4-7 题左右
- 猜测是作为签到目的的,做了应该都有分
- 实验 40%(报告和验收五五开):6 个必做实验 + 1 个 Bonus,具体内容见下面提供的实验文档网站
- 好像还提供了一次专题汇报的 Bonus,课上分享老师提前提供的选题,分享者和提问者都可以加分;不过 lz 没参加,也没看到有同学讨论,所以具体什么情况不是很了解
- 期末 50%:
- 允许携带 3 张 A4 纸(正反面都可有内容,可打印)
- 题型:40 道选择(60 分)+ 3 道大题(40 分)
- 注意期末考试和实验还是有一些关系的(重点关注 Lab3-5),所以复习时不能遗漏,具体见实验文档的描述 ↗(24-25 考了 Sv39 虚拟内存,不过今年没有和实验强相关的题目)
- 平时 50%:
这应该是计院为数不多的好课之一:作业、实验和考试均有关联;老师不是无情的 PPT Reader;实验设计兼具趣味性和挑战性,需要在 6-7 次的实验中动手实现一个 RISC-V 架构下的简化操作系统内核。虽然 lz 本人几乎没怎么听过课,但从智云上看 sld 应该能把知识点讲清楚(常常打开电脑画板画图讲解),所以喜欢线下听课的同学可以放心选 sld 老师的课(并且给分也不错)。
操作系统实验的体验是相当不错的:在实验过程中,理论知识和动手实践能力可以得到有机互补,同时也培养了我们对编程工具(比如 git、make、gdb 等 CLI 工具以及 Docker 容器配置等)熟练掌握和运用的能力(这貌似是 CS 培养方案中第一次明确要求学习这些工具链,而 lz 认为这种能力应该在 CSer 的第一个学期就该习得的,并且在未来的课程实验和项目中反复得到应用,放到大三学实在太迟了)。从一开始对内核的简单调试,到最后缺页异常处理和 fork 功能的实现,相信各位对操作系统原理的理解一定是更上一层楼的。建议各位踏踏实实做,千万不要用生成式 AI 完全替代你完成实验,这不仅严重违反学术诚信,还不利于你深入认识操作系统。当然有什么不理解的地方可以先问 AI,当今最强大的那些模型基本上都能给出正确解答。
由于课程内容多,所以务必留足时间备考。lz 的备考计划是:先粗读自己的笔记,对整体知识框架有一个大致的印象;然后精读一遍笔记,边看笔记边准备 A4 纸 ↗的内容;最后 2-3 天再刷历年卷。由于 lz 每天会复习 2-3 门课(我向来没有一天内只把时间投入到一门课的专注力),所以这一套流程花了 10 天左右。身边有不少同学会大量刷题,个人觉得这确实有一定帮助,但不是很有必要——对这门课而言「理解」知识点更重要。期末考题量有一点点大,覆盖面广,但题目不是很难(有卷面 98.5 的大牛),最难的可能就是第一道大题(CPU 调度相关,但是 CPU burst -> I/O burst -> CPU burst,第一次见到这种题,感觉很难画对甘特图啊 QAQ)。
相关资料:
-
笔记:
-
推荐阅读的教材——Operating System: Three Easy Pieces ↗:大名鼎鼎的 OSTEP!lz 曾在学期初读过一点,但后面学业压力过大不得不放弃了,也许之后回顾操作系统的时候再来品读一番
-
国内外优质课程:
- NJU 蒋炎岩老师的 OS 课(2025) ↗
- THU rCore-Tutorial-Guide ↗
- MIT 6.1810(2024) ↗(大名鼎鼎的 xv6 ↗ OS 诞生于此,最近从 x86 转向 risc-v ↗ 版本)
-
实验文档:
- sld 班的实验文档(2025) ↗:好像目前照搬了 24 年的实验文档
- jjm, whs 班的实验文档(2025) ↗:个人认为质量比我们班的更高(赞美 bowling gg!)
-
历年卷:
-
王道(在微信公众号随便搜就能找到电子版的)
计算机网络#
- 学分:4.5
- 任课老师:许海涛
- 教材:本学期采用网课《深入浅出计算机网络》 ↗的课件
- 分数构成:
- 平时 50%
- 课程作业 20%:7 次作业,除了数据链路层有 2 次作业外,其他每章一次(
复习的时候发现有一些题和 lkj 100 题重合) - 实验 20%:
- 本学期提供了 2 条路线,既可以选择古典的 GNS3 实验,也可以选择 Stanford CS144 的那套实验
- 但首尾(实验 1 和实验 6)都是一样的,分别是 Wireshark 和其他网络工具使用,以及基于 C++ Socket 接口实现自定义协议通信
- 随堂测验 5%:本学期只有 2 次测验,在 xzzd 上
- 出勤 5%:xzzd 数字点到,共 5 次(
但貌似实际只有 3 次,该不会是我漏了吧)
- 课程作业 20%:7 次作业,除了数据链路层有 2 次作业外,其他每章一次(
- 期末 50%:闭卷,题型为 80 道单选 + 2 道大题(可以看作填空题,因为要答的文字量不是很大)
- 平时 50%
听前辈们强烈推荐 xht,于是 lz 铤而走险,差些没选上课。好在最后 zch 老师对我们网开一面,最后还是补选成功了。但感觉之后成功的概率会降低,所以需要各位自行评估风险,慎重考虑。
横向对比其他班老师的平时要求,xht 依然给出了最宽松的要求。而且今年在助教 gg 的推动下,我们可以自行选择实验路线,这一点相当人性化(记得之前好像还是只能学 GNS3 吧)。lz 一开始尝试做 GNS3 的实验,但连它的第一个实验都做不下去,因为不仅要求多,需要投入大量时间,而且就算做完了我也感受不到任何成就感,唯有如释重负的感觉。所以之后 lz 就踏上了 CS144 的道路。这个 CS144 实验是基于老版实验(代号 sponge)改编的(最新版代号应该是 minnow,好像都是水生动物啊),实际改动并不大,就是部分实验帮我们完成了,另外一些实验合并到一起了。比如最后的 TCP full,把之前的 reassembler 合并到这里了,所以这个实验的 workload 相比前几次会大不少;而且前面实验的测试并不够全面,所以很有可能之前实验的 bug 会在这里得到集中体现(真是不堪回首的一段回忆)。虽然 CS144 实验本身是挺好的,但是和理论课进度重合度不高,而且和考试没有任何关系,所以总体的课程设计给人一种强烈的割裂感,并不让人满意。另外 xht 班还是采用远古的 docx 文件作为实验文档,存在排版不美观和表述不简练等问题,希望之后能仿照其他班搭建一个自己的实验网站。
lz 平时除了完成必要的作业外,没有把任何时间投入过计网学习中,连笔记都没做。到期末备考时,看到累计上千页的 PPT,lz 不得不花一周时间爆肝一个“速通版”笔记出来。但实际上整理出了五万多字的内容,完全谈不上速通。所以 lz 想说明的是:计网内容超级多,而且又是闭卷,十分建议早做准备。lz 的备考思路是:先至少过一遍 PPT(我主要看的是 xht 的,gy 的也看了点),然后重做了一遍作业题和小测题,最后刷了 lkj 100 题;至于历年卷,由于时间不够来不及做了,但建议有时间的同学应该要做一下。如果时间还很多,王道题目也是推荐刷一下的,感觉刷题比干背更容易记住。期末考题量较大,需把握好时间(好像直到考试结束前 10min 才陆续有人交卷)。整体难度并不大,有不少是 lkj 100 的原题,但还是考到极少数根本不了解的题目。(比较刺激的是考完当天下午就出成绩了hh)
值得一提的是,今年计网急急急群的学习氛围超级好。这主要归功于 lxq 班的助教 gg,不仅搭建了十分完善的计网实验网站(实际不止实验内容,还整理了端口号和中英术语等)和知识库,在期末考前几天帮同学积极答疑,在此十分感谢🙏。当然也十分感谢我们班积极负责且热心的助教 gg(比如看到我在实验报告心得体会的吐槽后,助教 gg 就私信回答我的困惑)。
相关资料:
-
笔记:
- 我的笔记 ↗(主体部分整理自 xht 课件,适当补充 gy 的课件内容)
- 咸鱼暄前辈的笔记 ↗以及配套朋辈辅学课程 ↗
-
实验网站:
-
历年卷
-
王道
专业模块课#
汇编与接口#
- 学分:4.5
- 任课老师:蔡铭
- 教材:Intel Microprocessors
- 分数构成:
- 2 次探索实验 30%
- 期末 70%:闭卷
由于平时没有强制签到,所以第一次课后来的人越来越少,只有最后一次课(准确来说是倒数第二次课,因为真正的最后一次课只有答疑,不上课了)多来了些人(因为最后 cm 会闭麦讲考点)(当然 lz 也只去了这两次课)。虽然 PPT 内容十分详尽,拿来自学也还凑合,但表述和排版上还是有一些小问题的,所以需要搭配智云食用(不得不夸 cm 老师讲得很明白,期末补天之路顺坦了很多)。虽说是模块课,但 4.5 学分意味着要记要背的内容不少,需要留足时间准备。期末考内容不是很难,但是占比 70%,所以不好好准备的话总评就得爆炸了 QAQ
今年的两次探索实验的主题和往年风格有不小的变化,分别是「探索代码空间优化的奥秘」和「探索大语言模型理解汇编代码语义的准确度」(实际上前一个实验的一个主题也和 LLM 相关)。所以实验内容也是与时俱进啊,个人认为还是挺有意思的。不足之处就是和理论内容关联不是特别大,但这主要是理论本身过于古老的问题,不是实验设计的不足。
个人感受是:cm 的课更注重理论,而且讲的东西略微现代一些(至少出现了 64 位的东西);而 bhh 的汇编语言课侧重实践,需要我们具备实际的汇编编程能力,但理论知识会比较远古(主体是 8086 部分)。如果之前修过 bhh 的课,那这门课前半段的学习之旅会相对轻松一些。不过后面的接口部分是全新内容,虽然只有一章,虽然只讲了 3 种接口,但对大多数人来说这是完全陌生的领域,所以刚开始学肯定感到一头雾水,不知所云。尽管 cm 明确强调这是重点考察内容,但实际期末考不会考特别深,也不会很刁钻,所以不比过于担心。学完之后,我不禁思考:既然连这种上古时期的接口都那么复杂,那像 USB-C、ThunderBolt 等现代接口的复杂度得有多高啊!
相关资料:
- 我的笔记 ↗(基本上把 cm 的 PPT 翻译了一遍,但结合个人理解稍微调整了讲解的顺序,删改了一些不合理的地方)
- 历年卷:
Java 应用技术#
- 学分:2.5
- 任课老师:翁恺
- 教材:没提过
- 分数构成:
- 平时 70%
- 作业 30%:PTA,截止下周上课前
- 课堂小测 10%:xzzd「互动」界面
- 实验 10%:8 次,PTA
- 大程 20%:2 次,学在浙大,有实验报告,人工批改
- 期末 30%
-
题型:
- 理论 60%:判断(10 * 1),选择(10 * 2),输出结果填空(7 道,10 分),程序填空(2 道,10 分)
- 编程 40%:2 道函数题 + 2 道编程题,每道各 10 分
-
可以带一本教材进考场,但不得携带打印资料
-
- 平时 70%
经过上学期大翁老师 OOP 的洗礼,lz 还是执迷不悟地选了他的 Java 课,学到一半才幡然醒悟,但为时已晚了。先下结论:凡是和 lz 一样听不进任何课的同学,一律不要选 wk 的任何课,理由如下:
- 课件有明显用生成式 AI 制作的痕迹(感觉远不如我让 Gemini 3 Pro 生成的学习笔记),完全没法拿来自学
- 课程安排和考纲脱节严重,基础部分没有覆盖完全,并且还扩展了不少考试根本不会考的内容(所以期末复习时 lz 一怒之下几乎删完了所有基于 wk 课件做的笔记,重新根据 lwm 的课件做了一版)(如果只有 wk 一个人开的课,那可以无视这一条了)
- 平时任务琐碎繁杂:和其他平行班比,wk 的事永远是最多的,别的班可能就几次作业的事,到 wk 这就四散为 PTA 作业和实验、课前小测、大程等等
正如大翁老师所言,学了这门课也远不足以用来应付 Java 岗位的面试。所以请抱着“通过这门课准备 Java 岗面试”想法的同学打消这一念头,自学 + 准备拿得出手的项目才是出路。
由于 Java 的语法和 C/C++ 长得比较像,所以学起来并不费力,期末速成也是可行的。lz 也十分推荐阅读 lwm 的课件,讲得很细,配有不少例子;实在不理解请善用 AI。过完课件/笔记后再刷一些题查漏补缺,这样期末考就能应付过去了。
相关资料:
-
笔记:
-
历年卷:
B/S 体系软件设计#
- 学分:3.5
- 任课老师:胡晓军
- 教材:无
- 分数构成:大程 100%
由于分数全在大程上,所以平时根本不需要听课(lz 是一节课都没去过hh)。根据课件,这门课介绍了经典的前端三件套 HTML/CSS/JS 以及一些前端框架、Node.js、Java 相关的后端开发等 Web 开发技术,看起来授课内容还是比较传统的。不过大程并没有限制开发技术,所以我们可以选择自己熟悉或喜欢的技术栈来实现项目。大程说明一般在开学前几周就发布了,期中要交一个设计文档,而整个项目的 ddl 是在期末考前,所以给的时间相当宽裕。不过建议尽量早点完成,避免同时赶好几门课的 ddl。今年的项目主题是实现一个图片管理网站,其中值得一提的是今年给出的两个增强功能要求均和 AI 相关,包括调用 AI 模型分析图片和提供 MCP 接口,所以还算与时俱进的。另外项目要求用 git 管理,并且用 docker 打包(建议用 docker compose),所以认真完成整个项目对我们的开发能力的提升会有不小的帮助,要珍惜这样的机会(如果完成得很不错的也许可以包装成简历上的项目经历呢)。虽然我没有完成所有的增强功能,但还是获得了相当不错的分数,可见付出与分数应该是成正比的。
专业选修课#
量子计算理论基础与软件系统#
- 学分:3.0
- 任课老师:卢丽强
- 教材:给出了多本推荐教材,但没有一本必看的,平时只看课件就行了
- 分数构成:
-
平时 30%:3 次理论作业 + 3 次编程实验
-
期中 30%:闭卷,今年考到量子纠错部分
-
期末大作业 40%
- 单人作业,不允许组队
- 本学期提供了 4 个选题,可任选其一探索;也可以自行选题,但要提前和助教确认好
- 顶会论文理解 + 代码复现 + 实验报告
-
虽说没有强制签到,但可能会有随机签到的加分
-
这门课介绍了量子计算相关的基础知识,包括量子比特与量子门、量子测量与量子图灵机、量子算法、量子纠错、量子编译和量子人工智能等,覆盖范围较广。但重点部分还是量子纠错及之前的部分,不仅需要有对线性代数的扎实基础,还因为这些内容正是理论作业、实验和期中考试的范围。lz 出于好奇选了这门课,但 lz 的线性代数水平实在不咋地,所以备考以及完成期中考试的过程十分折磨,于是不出意料地考的很烂(班级均分八十多分,lz 成功拉低了均分),成功浇灭了我对量子计算的热情。建议数学不太好的同学慎选。
尽管如此,我对课程的设计安排还是比较满意的。比如理论作业要求用 latex 完成(已提供模板);编程实验用 Python 完成(用到 IBM 的 qiskit 库)(比较可惜的是 md(实验文档)和 py 文件是分离的,而不是整合到一个 ipynb 文件中),并且实验课不要求线下参与,助教会通过 dd 直播讲清楚实验要求(可看回放)。占比最大的期末大作业完成起来并不困难,因为助教也会花 2-3 节实验课的时间讲解每一篇推荐阅读的论文,极大降低了上手门槛;并且大作业要求不高,只是代码复现 + 实验报告。
计算机视觉导论#
- 学分:4.0
- 任课老师:周晓巍
- 教材:无
- 分数构成:
- 平时 60%
- 实验 30%:6 次,只有第一次实验课和最后大作业验收时要去机房,平时不用去
- 大作业 30%
- 最多 3 人一组(
也可以一人成军) - 评分标准:基本实现(14)+ 进阶探索(6)+ 汇报展示(10)
- 本学期选题和前一年一致:视觉定位、表面重建和数字人,以及开放选题(需提交 proposal)
- 最多 3 人一组(
- 期末 40%:闭卷考试
- 平时 60%
当初之所以选了这门不在我的培养方案上的课,是因为听说导论课的内容比叫做《计算机视觉》的选修课内容更丰富,且之前修过《图像信息处理》这门课,深知自己不会再听 slm 讲的课,最后再加上一份对 CV 的热情。由于又是一门没有签到的课,不出所料 lz 仍然通过根据课件自学。课件是根据多门国外课程 + GAMES101 缝合而成的,而且内容上比较简略,所以观感其实不是特别好,有些语焉不详的地方还得结合 zxw 清晰的讲解来学习。这门 CV 课的内容比较传统,前半部分的内容在《图像信息处理》中基本都涉及到了,到 SfM 一节开始才算真正全新的内容。而著名 CV 课 Stanford CS231n 更侧重于深度学习,但 zxw 的课这门课只用 1-2 讲匆匆带过了,所以建议对 CV 感兴趣的同学在课后学一下 CS231n。
6 次实验大多数是用 Python 实现的(ipynb 文件)(除了用 COLMAP 完成的 SfM 实验),workload 并不大。关于大作业,由于 workload 较大(除了基础实现,还要绞尽脑汁想出更多的创新点),且服务器资源限时开放(1 个月,8 张 V100),所以建议服务器资源一开放就得马上做,到最后一周的时候服务器资源会十分紧张(所有 CPU 核心都跑满了,所以程序会跑得很慢很慢;并且得见缝插针式地找一张空闲的 GPU 跑程序,否则大概率会出现 CUDA OOM(悲)(别问我是怎么知道的))。由于 lz 孤身一人 + 水平和时间有限,只提出了一个创新点,而很多组都提出了 3-4 个创新点,所以这次大作业让我成功怀疑自己是否真的适合搞科研…(这个问题的回答将在半年后揭晓)
倒数第三次课是复习课,zxw 会把考点拎一遍,便于我们复习。期末考题型有不定项选择、判断、填空和简答,主要考察对概念的理解和掌握,计算量并不大。尽管 lz 做了点笔记,但并没有完全覆盖到考察的内容,所有看到某些没见过的知识点只能干瞪眼(比如“结构光相机将结构光图案投影的作用是”)。
相关资料:
普通体育课#
- 学分:1.0
- 任课老师:刘卫中
这门课就是体素课 pro max。lwz 老师每节课开始都会讲养生、艺术、旅游等话题(不知道算不算水时长,但 lz 很希望缩短体育课时间,所以水的越多越好hh),有时我们在练习的时候他也会穿插着讲。期末专项考内容是 4x30m 往返跑,除了起点和终点外往返的时候需要推倒瓶子,所以除了爆发力外,往返和推瓶的技巧也是很重要的。评分标准是:男生 21s 满分,女生 25s 满分,每慢 0.1s 扣一分(比如男生 25s 就是 60 分)。而 lz 是个体育废柴,于是不出意外地拿下了倒数前几的好成绩,总评分自然也是一塌糊涂的。所以体育不好的同学千万不要选普通体育课,快逃!
后记#
emm,好像又一次叽里咕噜地写了一大堆话,不知能否为各位带来帮助。不管怎样,感谢大家能耐心阅读完我的分享。下个学期虽然课不多,但我得为自己的未来做好打算了,无论是就业还是保研都得做好充足准备了。不管下个学期有多么忙碌,我保证能够撰写好本科生涯的最后一次学习经验帖,做到善始善终,并为这三年的 CS 学习画下一个圆满的句号。