UC Berkeley的CS61系列的第一门课程,在这门课中,你将会学到:
- 编程语言方面:Python, Scheme, SQL
- 编程手段方面:高阶函数,匿名函数,树型递归,迭代器与生成器,面向对象编程,链表,树,异常处理,解包与打包等等
- 编程思想方面:封装,数据抽象,数据的可变性,类的表示,声明式编程等等
- 11个Homework
- 12个Labs
- 4个Projects
- 12个Discussions
- Lectures: 课堂笔记
Homework, Labs, Discussions倒没什么好说的,就是对于特定知识点的练习。但是4个Projects是非常有意思的,让学生在几千行代码的项目中实现一些功能,非常有助于锻炼工程师思维。第一个Project是实现一个Hog游戏,具体的游戏规则...我忘了;第二个Project是实现一个打字游戏,有记录总时长、打字速度、正确率等功能;第三个Project是实现一个植物大战僵尸的翻版,可以自定义一些“僵尸”;第四个Project是实现一个Scheme语言的解释器(写了几乎一整天,人麻了)。Labs和Projects中有一些选做的题目,有些做了,有些没做。学习笔记放在了Notes中,是本人从CS61A中学到的精华。