-
版本选择:笔者选择的是 Fall 2020,此版本由 John DeNero 与 Hany Farid 担任教员。John 的语速较慢,停顿时机恰当,非常适合第一次接触全英文环境教学的自学者,Hany 则一般在 optional 和 Q&A 的环节出现,笔者印象最深的是他讲的汉诺塔问题,思路极其清晰,完全诠释了什么是 Recursive Leap of Faith (递归的信仰之跃)。
-
学习顺序:按照 reading - lecture - hw&lab&disc 的顺序,笔者通常在前一天或当天早上读完 reading ,接着在当日看完 lecture 并写完对应的 hw&lab&disc 。project 则一般分为两天完成,期间不看新的 reading 和 lecture 。
在做题过程中难免会碰壁,笔者建议如果在一道题上面思考过久,则可以适当参考他人的答案,学习他人的代码思路也是编程学习的一环。以下是笔者学习过程中参考过的资料:
-
HobbitQia -- 作者的课程介绍比较详细,可帮助初学者较快入门。
-
kckckcd -- 作者完成了大部分的 disc ,可作为参考进行对照。
-
half-dreamer -- 作者提供了 Fall 2020 官方 solution 的备份。
-
Composing Programs (汉化版) -- 建议以英文原版为主,汉化版为辅。
总的来说,笔者认为 CS61A 是一门非常有趣且有挑战性的课程。通过 CS61A 这样的课程入门计算机科学,是一个美妙的开始。感谢 CS61A 的课程团队能够将这门优质的课程公开分享,使更多的人能够受益。这种开放和分享的精神是非常宝贵的,让更多的人可以接触到高质量的教育资源。未来的路道阻且长,祝愿各位在计算机科学的学习中取得不断的进步和成就。