mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-02-02 18:21:39 +08:00
* Update CS61A.md 从原网页制作了电子书版教材,在readme中添加了链接。 * Update CS61A.en.md add Epub url of the Textbook
40 lines
3.0 KiB
Markdown
40 lines
3.0 KiB
Markdown
# CS61A: Structure and Interpretation of Computer Programs
|
||
|
||
## 课程简介
|
||
|
||
- 所属大学:UC Berkeley
|
||
- 先修要求:无
|
||
- 编程语言:Python, Scheme, SQL
|
||
- 课程难度:🌟🌟🌟
|
||
- 预计学时:50 小时
|
||
|
||
伯克利 CS61 系列的第一门课程,也是我的 Python 入门课。
|
||
|
||
CS61 系列是伯克利 CS 专业的入门课,其中:
|
||
|
||
- CS61A: 强调抽象,让学生掌握用程序来解决实际问题,而不关注底层的硬件细节。
|
||
- CS61B: 注重算法与数据结构以及大规模程序的构建,学生会用 Java 语言结合算法与数据结构的知识来构建千行代码级别的大型项目(一个简易的谷歌地图,一个二维版的 Minecraft)。
|
||
- CS61C: 关注计算机体系结构,让学生理解高级语言(例如 C)是如何一步步转换为机器可以理解的 01 串并在 CPU 执行的,学生将会学习 RISC-V 架构并自己用 Logisim 实现一个 CPU。
|
||
|
||
CS61B 和 CS61C 在本书中均有收录。
|
||
|
||
回到 CS61A,注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。最后你将在第 4 个 Project 中用 Python 实现一个 Scheme 的解释器。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握 Python、Scheme 和 SQL 这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。
|
||
|
||
注意:如果此前完全没有编程基础,直接上手 CS61A 需要一定的学习能力和自律要求。为避免课程难度过高而导致的信心挫折,可以选择一个更为友好的入门编程课程。例如伯克利的 [CS10](https://cs10.org/sp22/) 或者哈佛大学的 [CS50](https://csdiy.wiki/编程入门/C/CS50/)。
|
||
|
||
## 课程资源
|
||
|
||
- [课程网站](https://cs61a.org)
|
||
- 课程网站 (页面备份): [fall2024](https://insideempire.github.io/CS61A-Website-Archive/), [spring2022](https://cs61a.vercel.app/), [fall2022](https://web.archive.org/web/20220913035803/http://cs61a.org/), [fall2020](https://web.archive.org/web/20201219202644/https://cs61a.org/)
|
||
- 课程视频: [spring2024](https://www.bilibili.com/video/BV1sy411z7nA/), [fall2022](https://www.bilibili.com/video/BV1GK411Q7qp/), [fall2020](https://www.bilibili.com/video/BV1s3411G7yM/)
|
||
- [课程教材](https://www.composingprograms.com/)
|
||
- [课程教材电子书](https://github.com/CC-bit/UCB-CS61A-Textbook/)
|
||
- [课程教材中文翻译](https://composingprograms.netlify.app/)
|
||
- 课程作业: [fall2024](https://github.com/InsideEmpire/CS61A-Assignments)
|
||
|
||
## 资源汇总
|
||
|
||
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/CS61A - GitHub](https://github.com/PKUFlyingPig/CS61A) 中。
|
||
|
||
@InsideEmpire 在学习这门课中用到的所有资源和作业实现都汇总在 [InsideEmpire/CS61A - GitHub](https://github.com/InsideEmpire/CS61A-PathwayToSuccess/)
|