CS61A:Structure and Interpretation of Computer Programs
CSdiy课程介绍¶
- 这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握 Python、Scheme 和 SQL 这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。
课程进度 (2025.12.29)¶
- 完美收官,实现了所有的HWs, Labs, Projects, Discs.
课程感受¶
- 能明显感到零基础学这门课有压力。我有一定基础,所以本来就是计划速通。花了两个月左右速通了,卡我的应该是Python一些比较冷门的语言特性,加上学习Scheme这门对我而言比较新的语言的语法以及特性,SQL倒还好,比较简单。
- 这门课的教授口齿还是很清晰的,即使不看字幕,也能听懂大部分,对于英语听力也有一定锻炼效果
- Python部分主要能学到函数式编程、数据抽象、面向对象等知识,主要还是要锻炼这方面思维。
- 通过学习Scheme这门新的语言,能检验你对上述思想的迁移能力。
- Scheme这一部分比较困难的点:
- Scheme语法虽然简约,受到诸多计算机科学家好评,但是对于刚接触这门语言的人来说,辨认括号真是非常困难的一点
- Scheme语言没有for或者while,要实现函数基本上都是递归,需要扎实的递归思想基础
- 通过Scheme可以学习Macros(宏)的思想,刚开始的确不太熟练
- Scheme的Project是用Python实现一个Scheme解释器,还是非常有意思的,项目量也非常大,对于OOP(面向对象编程)思想是一个极大地提升
- SQL部分就比较基础并且相对容易
- 终于可以继续肝后续课程UCB CS61B了
评论