伯克利 CS61A:用 Python 把编程基础从头搭一遍

学过语法却写不出像样的程序,通常不是语言不熟,而是没被完整地训练过怎么把问题拆开。CS61A 从表达式求值讲到递归与数据抽象,最后要求写一个能跑的小语言解释器,讲义、作业和项目说明都摆在公开的课程网站上。
它解决什么问题
入门教程停在语法层面,没练过把一个需求拆成一堆小函数。
想跟国外公开课,却找不到成套的作业、项目和往届考题。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 课程网站公开 | 讲义、实验、作业与项目说明按周发布在主页上 |
| 项目由浅入深 | 从模拟掷骰子的小游戏一路做到语言解释器 |
| 练习量充足 | 每周有实验与作业,题目和说明都能在站点上找到 |
| 往届学期可查 | 过期学期的资料通常仍可访问,自学者能按自己的节奏走 |
| 配套教材在线 | 课程使用的教材可以免费在线阅读 |
| 考题可用于自测 | 往届试题常随课程发布,是否附参考答案以站点实际为准 |

按周推进,作业别攒着
跟这门课最怕把作业攒到周末一起做,它的作业本来就是配合讲义进度设计的,落下一周再补会很吃力。建议以周为单位:先读讲义,有录像的学期可以配合视频看,再做实验和作业。遇到不会的先在解释器里把代码跑起来看结果,而不是盯着题目空想。项目启动得早一点,像解释器这类任务改动牵一发动全身,拖到最后几天常常来不及。
课程网站不会替你安排学习节奏,也没有中文界面,读题要有点耐心。基础薄弱的可以先找中文材料把函数与递归过一遍再进来,免得一上手就被节奏打退。不同学期的内容会有调整,挑一个讲义完整的学期跟到底,不要几个学期混着看;题目做不出来时,先回讲义对应章节找答案,多数提示都写在里面。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| SICP | 开源免费 | 同一脉络下的经典教材,用 Scheme 讲抽象,节奏更慢 |
| CS61B | 官方免费资源 | 同校后续的数据结构课,学完这门正好接着上 |
| CS50 | 官方免费资源 | 从 C 语言讲起的入门课,覆盖面更广、单点深度更浅 |
谁适合用
- 有编程基础、想系统补一遍基本功的自学者
- 准备转专业或考研、需要打牢基础的人
- 带新人或当助教、想要现成练习与项目的开发者
怎么开始
- 打开 cs61a.org,先看当前学期的日程表,了解每周安排。
- 挑一个讲义与作业都齐全的学期,从其资源页进入。
- 按周读讲义并完成实验,动手把示例代码跑起来。
- 项目按阶段推进,每完成一个部分就先跑通再往下写。
- 阶段结束后用往届考题自测,错题的对应章节回头重读。
常见问题
零基础能跟吗?
最好先有一门语言的入门基础,课程默认学生已经会编程,讲义节奏偏快。
有中文字幕吗?
课程材料以英文为主,是否提供中文字幕以站点实际给出的资源为准。
作业有人批改吗?
公开站点主要提供题目与说明,判题和批改通常针对在校注册学生,具体以站点实际为准。
跟着走要多久?
按学期节奏大约每周一章,自学者可以放慢,但要保持每周固定投入。
授权与合规
课程网站与讲义对公众开放,可直接访问;作业与项目的判题、批改通常面向注册学生,具体范围以站点说明为准。 官网:cs61a.org。
继续找同类资源
这条属于「学习资料」栏目,同栏目还有更多可直接使用的免费资源,可以在 学习资料全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
资源信息
界面语言
英文
授权方式
官方免费资源
适用平台
Web
获取方式
直链下载
资源更新
2026-09-20
页面更新
2026-09-20
↓ 获取资源
点击按钮直接前往资源页面。