CS 61B刷课笔记
约 627 字大约 2 分钟
2025-04-01
引言
与我们平时枯燥乏味的教育风格不同,美国的计算机教育似乎更为风趣。计算机四大名校(Stanford, CMU, MIT, Berkeley)还公开了一系列基础的计算机课程,这些课程以极高的教育质量著称,并通过爆火的 CSDIY 等计算机自学网站广为人知。
因此西贝打算驻足一下,去体验一下这些国外计算机课程。
最首要的问题是,我应该刷哪些课程?这个问题已经在下面这个 course guide 得到解答:Eta Kappa Nu (HKN), Mu Chapter
这个 course guide 是 Berkeley 推出的,因此里面都是 Berkeley 的课程,可能具有局限性。但是其中的核心课程:CS 61A、CS 61B 和 CS 61C,非常值得学习。尤其是 CS 61A,作为计算机经典书籍 SICP 的改编,可以说是 CS 课程系列的精华之作,非常值得一学。
CS 61B is all you need.
CS 61B 是一门用 Java 学习的算法与数据结构课程(重点在数据结构和算法,而不是 Java!)。
CS 61B 已经开展多年,每年都有大量的课件和资料流传下来。我以资源的完整性,选择 sp21 版本的 CS 61B 进行学习。
学习方法
我计划的学习方式:Lecture -> Reading -> Discussion -> Lab -> HW -> Project
整个流程是围绕 CS 61B 的官方网站进行的(文章最后会附有官网链接)。
课程的 Reading 和 Lecture video 是配套的,因此我打算首先观看B站上的 Lecture,然后一边阅读 Reading 一边记好笔记,然后看一下 Discussion 的材料。我可以在上午完成视频观看,下午阅读 Reading 做笔记。
与国内传统计算机教育不同,Berkeley 的计算机课程非常注重实践,因此 Lab 和 HW 是重头戏。据刷课的佬们的建议,我打算把 Lab, HW 和 Project 放在周末,一方面是平时碎片化时间容易打断思路,另一方面,Lab 可能涉及下一周的 Lecture 知识,需要加快视频学习。
还有,CS 61B 的 Lab 和 HW 支持在线评测,只需要在 Gradescope 平台上上传代码压缩包或者自己的 Github 仓库即可(太酷啦!)。
学习资源
- 官方网站:Main | CS 61B Spring 2021
- Gradescope 评测平台:Gradescope
- 官方 GitHub 代码仓库:GitHub - Berkeley-CS61B/lectureCode-sp21