程序构造 (CS61A)
课程全称: Structure and Interpretation of Computer Programs
官方网站: cs61a.org
📖 课程简介
CS61A 是计算机科学的入门课程,基于经典教材 SICP (Structure and Interpretation of Computer Programs)。课程通过 Python、Scheme 和 SQL 三种语言,深入探讨程序设计的核心思想。
核心主题
- 程序抽象: 函数、高阶函数、递归
- 数据抽象: 对象、类、继承
- 解释器设计: 理解编程语言的运行机制
- 函数式编程: Scheme 语言与函数式思维
- 数据处理: SQL 与声明式编程
🧪 Labs 列表
| Lab | 主题 | 状态 |
|---|---|---|
| Lab 01 | 函数与控制流 | ⏳ 待完成 |
| Lab 02 | 高阶函数 | ⏳ 待完成 |
| Lab 03 | 递归与树递归 | ⏳ 待完成 |
| Lab 04 | 数据抽象 | ⏳ 待完成 |
| Lab 05 | 可变数据 | ⏳ 待完成 |
| Lab 06 | 面向对象编程 | ⏳ 待完成 |
| Lab 07 | 继承 | ⏳ 待完成 |
| Lab 08 | 迭代器与生成器 | ⏳ 待完成 |
| Lab 09 | Scheme | ⏳ 待完成 |
| Lab 10 | Scheme Lists | ⏳ 待完成 |
| Lab 11 | 解释器 | ⏳ 待完成 |
| Lab 12 | SQL | ⏳ 待完成 |
| Lab 13 | 正则表达式 | ⏳ 待完成 |
| Lab 14 | Final Review | ⏳ 待完成 |
📚 学习资源
官方资料
推荐阅读
- Structure and Interpretation of Computer Programs (SICP)
- Scheme 语言规范
🎯 学习目标
通过本课程的 Lab 实战,将掌握:
- 抽象思维: 如何设计清晰、可复用的程序接口
- 递归能力: 理解递归的本质,熟练运用递归解决问题
- 语言理解: 深入理解编程语言的工作原理
- 多范式编程: 体验命令式、函数式、声明式编程的差异