CS61a: Structure and Interpretation of Computer Programs
课程简介
- 先修要求:无(但最好有一定的编程基础,可以用 CS50P 来补足)
- 参考材料:
- CS61a 课程
- 《python 基础教程》,作者:[挪] Magnus Lie Hetland
- 《流畅的 Python》,作者:Luciano Ramalho
- 主要内容:与 C++ 中基本相同,只是没有指针,STL等内容
大概对每一个初学计算机的学弟学妹,我都会强烈推荐伯克利大学的 CS61a 课程。这门课的教材是计算机圣经 SICP 的 Python 版本,注重程序层面的抽象,较有难度(不建议完全没有编程经历的小白贸然上手,可以先学学 CS50P 来了解 Python)。其令人眼花缭乱的 homework 和 project 质量极高,可以有效的锻炼代码能力,也能让你在上千行的 project 中获得完成项目的快感(project 的内容也相当有趣,在此不作剧透)。看完 CS61a,我只能说,国内的本科教育,实在是任重而道远。
另外,CS61a 中也会教授 Scheme 和 SQL 两门语言的基础部分,并且讲授了多种编程思维(我认为这实际上才是这门课的精华),对于提高对程序的理解有很大的帮助。
最后,强烈感谢 csdiy 的作者,没有他,我是无法遇见 CS61a 这样优秀的一门网课,这也是我梦开始的地方。
相关链接
- 课程网站:2020 summer
- csdiy:梦开始的地方。
- Python Tutor:一个可以将Python代码可视化的网站。
- COMPOSING PROGRAMS:教材的中译版。
- The Python Standard Library:Python的官方文档,具有一定Python基础后可以查阅。