活跃农民
- 积分
- 710
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2019-2-26
- 最后登录
- 1970-1-1
|
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
课程网站:https://www.coursera.org/learn/algorithms-part1/home/welcome (这是part1的,学完了在coursera上搜索princeton algorithms part2继续就行)
Princeton Algorithms是我最想上的课,因为对转专业cs选手来说,最重要的一门课就是数据结构与算法,而这门课和它配套的红书教材是几个在flag有工作经验的师兄特别推崇的,算是入门算法课中的王者了吧。我3月就尝试了这门课,但那时连一门语言都不会,而这门课是默认学生懂java的,第一节课就跟听天书一样。所以我先去学了cs61b,然后把这门课当作了算法进阶课。虽然通过61b已经掌握了很多数据结构和算法,但这门课还是给我非常大的收获,这也是专门推荐它的原因。
在刷这门课之前,一般要有点java基础,我是通过学cs61b积累的。没接触过java的同学可以先学学61b(https://www.1point3acres.com/bbs/thread-529482-1-1.html我之前做过这门课的总结),也可以找其他方式弥补一下再来,像国内也有很多java网课。
课程分part1和2两部分,1是最常用的基础数据结构和算法,2是难一点的(像graph和string),我感觉最好是都学。每个part有6周的课程,但实际上不用那么久,我用了一个半月完成了2个part所有课程和作业。每周包括2个大类的lecture还有1个本周assignment,lecture结构很好,先讲最粗暴的算法,再一步步优化到现在的版本,而且和61b有时给伪代码不同的一点是,这门课的lecture上给出了所有结构和算法的java code,code还都简洁的可怕,对培养良好的代码风格有特别好的作用,看了这门课之后同一算法我的代码行数都减少挺多。assignment很有意思,不会让你写出某一结构或者算法(你都可以调给好的包),但是要想各种办法用它们实现一个功能,挑战性真的比较强,写了之后对算法理解增进不少。另外这本书还有配套神教材,被称为算法红书,内含所有code,对课程也进行了延伸(不过我感觉这本书不买也可以,ppt上就把东西给的差不多了)。
学完61b之后,我一度以为这门课主要功能就是复习,然后我就被愉快的打脸了。课程内容上就有更新,像strings讲的明显更深入。另外代码风格更简洁,这点是本课着重强调的,对我一介小白来说,感觉找到了码代码样子的理想目标。简单来说,之后面试遇到同样的情况,模仿就完事了。本来以为学过61b了做起作业还不是小菜一碟,结果。。。没0基础刚刚接触61b那么难,但是同样需要挺多的思考和看别人的思考。这门课在coursera的discussion forum是堪称神器的存在,各路大神分享经验,有啥问题基本都能找到答案,比直接谷歌和地里讨论帖给力不少。assignment的grader系统相当强悍,给出的test cases特别全,把每个作业一点一点刷到满分的那种进步感是实实在在的。(part2最后俩作业是刷不到了,难度抖升给我做哭了)
老实说,这门课让我再次明确感受到自己是没有啥cs天赋的。开始的时候虽然觉得作业有点意料之外的难,但是相比起纯小白的61b阶段要好不少,可以不太靠外界帮助,还能一次次完善作业到满分。到part2越往后就越感觉难度的提升,lecture要反复看多次才能搞懂,p2最后俩作业直接是在github大神代码指引下完成的。。让我回忆起了61b开始时那段被作业支配的恐惧,那时就是作业要直接看答案,没想到兜兜转转我又找回了熟悉的感觉。同时段看了一下discussion forum里各路大神刷100,那柠檬恰的,爽。不过话说回来,转cs也不是因为我有天赋,而是因为找工。而在现阶段下,没有很好的天赋,找工问题也不大,看了很多上岸人的分享,感觉学cs只要别太笨,更重要的还是坚持下去和耐心,多补基础多刷题吧。此外,对转专业选手而言,cs这个领域算是相当友好了。像cs61b和princeton algorithms这种神级入门课,都有学校/平台免费公开每一年课程的所有视频资料/作业/autograder,甚至建立forum让各路神仙分享,还能够不断维护更新,可以说最好的资源就在身边。我在商科没有这种感受,转到cs是被这情况震了一下,学一门课,省几千刀学费,确实不是盖的。
对找工来说,最重要的还是刷题,整完这两门课基础也还ok,所以从明天开始就打算开始刷题了。对转专业选手的我来说,感觉有时间还是得多学学,毕竟0基础不是吹的。所以刷有余力的时候也打算通过cs61a学一学Python,多学学语言和补补入门。
我最初接触cs61b和algorithms是通过https://mp.weixin.qq.com/s/Yr5iKGtuW7mD3qURuN_jdg这篇文章,现在两门课学完了,感谢作者googler@码农李小白,他的公号和知乎号都是这个,安利一波(不是广告,号也非盈利,我获益匪浅,觉得应该感谢一波,这篇文章也很良心)。
希望有更多跟我差不多的转专业小白接触一下这门课,coursera免费神课买不了吃亏买不了上当,一个半月也不是很久,还能给你筑个基。
|
上一篇: Optimization Models (GG.C. Calafiore and L. El Ghaouii)教材答案?下一篇: 推荐一门Udemy带你刷题对课~~~
|