28 lines
2.0 KiB
Markdown
28 lines
2.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架构并自己用Logism实现一个CPU。
|
||
|
||
CS61B和CS61C在本书中均有收录。
|
||
|
||
回到CS61A,注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。最后你将在第4个Project中用Python实现一个Scheme的解释器。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握Python、Scheme和SQL这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。
|
||
|
||
## 课程资源
|
||
- [课程网站](https://inst.eecs.berkeley.edu/~cs61a/su20/)
|
||
- [课程视频](https://www.youtube.com/watch?v=0_LryzvBxFw&list=PL6BsET-8jgYVkdaPYJNyvuNga3QA_U1gA)
|
||
- [课程教材](http://composingprograms.com/)
|
||
- 课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。
|
||
|
||
## 资源汇总
|
||
我在学习这门课中用到的所有资源和作业实现都汇总在[这个Github仓库](https://github.com/PKUFlyingPig/CS61A)中。 |