神课 CS 61B 学习心得
CS 61B
由于时间比较紧迫,并且要刷leetcode,所以暂时停止cs61a的学习,转而学习cs61b,这里记录一下学习的过程。
autograder
cs61b的课程地址:cs61b官网,我学习的是2021年春季版本的课程,因为2021年spring的课程,老师将作业评分器autograde的课程激活码放在了网站上,所以我可以使用autograde来自动评分,这样做出来的作业更加有成就感。
激活码是P5WVGW,可以在gradescope官网激活,输入激活码,学校选择UC Berkeley
,然后就可以使用自动评分系统了,其他的都在课程里面有介绍,所以不多加赘述。
激活码可能会过期,所以如果过期了,可以在这里找到最新的激活码。拉到最下面的有一个Auditing CS61B
,里面会有最新的激活码。
为什么cs61b的课是神课?
无论是在知乎,一亩三分地上,很多人都把这门课认为是神课,因为只要学完了这门课之后,就可以去刷leetcode了,这门课主要讲的是数据结构。
并且Josh老师讲得很好,至于有多好,只要听过他的课就知道了,他的课程很有趣,而且他的课程很有深度,他会讲很多的细节,这些细节在leetcode上也会经常用到,所以这门课是神课。
Java以及入门的需求
这门课的编程语言是Java,但是Josh老师的课程安排的很好,他的课会完全assume你不懂Java,我在开始看他的课之前,完全不懂Java,现在我刚做完project 0,感觉java也慢慢上手了。
他会在课程的最开始讲一些Java的基础知识,所以不用担心Java的问题。但是这门课并不是给完全不懂编程的人学的,你至少要会一门编程语言,比如C,Python,JavaScript,c++,matlab等等。
如果是完全不懂编程的人来学习这门课的话,那么是很难的。
我学过cs50,cs61a学过一点,所以对数据结构,C语言和python都有一定的了解,所以这门课学起来队来说,很合适。
week 1
- 第一周主要讲解了一些Java的基础知识,还有一个project是2048的小游戏的实现。
- 只要有其他编程语言的基础学习起来都不会很难
注意⚠️:week 1的 1.2里面有一集视频不匹配。 youtube里面有一集的Video List少了一集。只有在老师写的Git Book里面才能找到,所以一定要看Git Book里面的内容,不要只看youtube里面的内容!!!