-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCS61B
41 lines (39 loc) · 3.72 KB
/
CS61B
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
计算机专业有哪些不错的公开课资源? - 想得太多的回答 - 知乎
https://www.zhihu.com/question/38335108/answer/706263588
CS61B在地里绝对是鼎鼎大名了,看过一个googler说,如果时间只够学一门cs课,建议学这一门,
因为学完了就能直接刷题了。另外,这门课对于0基础相对友好,因为前1/3都在讲java基础,
后面讲数据结构,不需要提前学过编程语言。从3月初到5月底,我用了3个月左右时间完结了这门课程
(所有lab hw全部做完,但3个project只做了1个半。。哎尽力了)。
我的背景是文商科转码,之前没有学过一门编程语言。
3月最开始是去听princeton algorithm的,因为那也是一门公认数据结构神课。
但第一天就发现它还是需要你会一点java的,虽然可以看它的材料弥补,但我当时着实是看不大懂,
感觉很像看天书。。当时就听了国内一个李兴华java课,讲的还不错。
看了几天之后在地里发现了cs61b,突然发现这门课不咋需要java基础,
而且学一门课就可以java和数据结构兼得,岂不美哉。决定后就全心投入cs61b了,
直到上周刚刚完结。我选择了2014spring版本,一个是因为总体内容和后面差别不大,
第二是因为地里对这个版本的讨论思路最多。
我的学习流程是看讲义-lecture视频-reading-各种作业和项目,
最好就是按照syllabus顺序来。有一点值得注意的,
看视频之前建议提前读讲义,读完再看视频可以增进不少理解的。
另外很多同学没啥时间做作业,但真的强烈建议做lab和homework
(project对于0基础新手1个人做还是有些困难的,可以先略过)。
作业设计的相当好,15个lab和10个homework能让我们对各种数据结构有比较充分的锻炼,
感觉作业含金量能够占到这门课的一半以上。对于之前没啥编程基础的同学,
这门课学起来可能会比较吃力,尤其是作业部分。听lecture和理解讲义一般没啥问题,
但我刚开始做作业的时候,真的非常崩溃。感觉课堂上在讲走路,作业直接让你跨栏。
最开始都是直接到github上看别人的代码然后理解,后面是看了别人代码理解逻辑之后再自己敲。
经历了一个月左右的怀疑期,觉得自己太傻学不动cs。
但经历了这段时间后,情况确实有在好转。因为对java理解加深,做多了也大概明白一个程序的框架。
不久之后,就不太需要看别人代码了,可以大部分自己写,少部分需要看一下地里讨论的逻辑。
再后面就基本可以完全自己码出作业了,之后就是想办法提升代码简洁度和写的速度了。
这里反而不会出大问题,因为已经度过了自我怀疑的难关,后面只是方法论问题了。
后面打算学princeton algorithm part 1,其实很多东西cs61b已经讲过了,
但看到业界很推崇这门课配套的红书,说上面的代码非常简洁,就想学一学。
我是那种自己没办法读进去大部头的课程书籍,但如果跟一门课程是可以读完的。
head first java和data structures这两本就是跟cs61b读完的。
强推一下head first java这本书,对小白来说是特别友好的java入门书籍。
如果有同样没啥基础来学cs61b的同学,希望我的经历可以给你点鸡汤。
从文商科一下子转到cs,初期做lab homework project的时候很难受是正常的,
这时需要的就是耐下性子,慢慢想办法解决。完全不会可以看看别人怎么写,
会一点就看看讨论区思路,会的多点就多花点时间尝试自己想。
和科班同学比我们速度慢,但自己终究是不断进步的不是吗。