Berkeley CS61A

计算机程序的构造与解释

CS61A 用 Python、Scheme 和 SQL 讲解抽象、递归、高阶函数、解释器和程序设计思想,是 Berkeley CS 入门序列中极具代表性的核心课程。

Learning Path

从 Python 语法进入程序抽象。

建议以官方日历为主线,把讲座、教材阅读、实验、作业和项目连在一起推进;不要只看视频或只刷题。

函数与递归

先用 Python 熟悉表达式、控制流、递归和高阶函数。

抽象与解释

通过 Scheme 和解释器理解语言如何表达计算。

数据与查询

用数据抽象、对象和 SQL 连接程序与信息结构。

课程档案 / 02

重点不在 Python 语法,而在如何表达和组合计算过程。

CS61A 通过函数、递归、数据抽象和解释器训练程序设计思维。课程会跨越 Python、Scheme 与 SQL,让学习者看到不同语言背后共享的计算模型。

先修准备

无需系统编程经验

具备基本代数能力即可开始。如果已经上过 CS50x,可更从容地把注意力放在抽象和递归上。

  • 熟悉变量、条件与循环会有帮助
  • 需要耐心追踪递归调用
  • 建议手写环境图理解求值过程
项目特点

用完整项目巩固抽象

课程项目通常包含游戏、数据处理、解释器等任务。代码框架较完整,但需要理解接口并实现核心逻辑。

  • 先通过小实验确认概念
  • 再完成作业和阶段项目
  • 重视测试、环境图和代码可读性

内容地图

阶段 01函数、递归与高阶函数

学习求值规则、作用域、递归思考以及函数作为数据。

阶段 02数据抽象与对象

序列、树、可变状态、对象系统和迭代器。

阶段 03语言与解释器

Scheme、宏、SQL,以及一个小型编程语言解释器。

完成标准

能够用抽象控制复杂度,并解释程序是如何求值的。

学习者应能熟练处理递归结构、高阶函数与数据抽象,并能阅读和实现一个简化解释器。