CS61B 学习指南

您所在的位置:网站首页 algs证书 CS61B 学习指南

CS61B 学习指南

2023-07-14 11:40| 来源: 网络整理| 查看: 265

CS61B 学习指南

前不久撸完了 CS61B,感触颇深。于是写下了这篇学习指南,以便让后来人可以避免陷入国内课程的泥沼中去。我强烈建议国内 CS/SE 学习者如果英语还行,想要打好 CS 基础的话,直接看国外名校课程(必要时科学上网)。下面我会以 CS61B 为例来说明一下为什么这么做。

课程名称:CS61B (Data Structures)

课程定位:入门

所在学校:UCB

讲师:Josh Hug

课程链接:https://sp18.datastructur.es/index.html

我的仓库:https://github.com/lijian12345/cs61b-sp18

CS61B 隔两年课程内容就会大改,建议学习 Spring 2018,也就是上面链接里的课程,这是由于 sp18 的课程可以使用 MNXYKX 这个 entry code 来加入在线评分网站,从而可以让非本校的同学提交自己的代码来让网站打分。同时也可以结合其他学期的课程的 PPT 看。

一门足够好的课程,需要满足如下三个特点:

循序渐进,通俗易懂。内容扎实,可以让你有足够的练习,不至于学了就忘。面面俱到,该讲的都讲到了,不该讲的会给个引子,让你自己去探索。

国内公开课课程往往只满足上面一两点,更多的情况是三点一点都不满足。CS61B 是怎么满足这三点的呢:

第一点:

课程使用 Java 语言来讲解,即使你一行 Java 没有写过,并不妨碍你的学习。课程进度十分科学,慢慢的从线性表结构到树到图,中间穿插了 Java 语法的学习和均摊分析,面向对象的思想等等。说到这儿真的感慨,国内很多数据结构课往往第二周就讲均摊分析,学生连线性表是啥都不知道呢,你就开始均摊分析了??而且国内课程把语言课和 CS 课程割裂起来,一个 Java 语法都能学一个学期,学完啥也做不出来,真不知道语法有啥好学的。

第二点:课程内容十分丰富,项目驱动。4 个项目,7 个作业,无数 lab,把这些都搞完基本上数据结构是学好了。对比国内,大部分课程没有练习,即使有,也全是刷题。我觉得吧,学计算机还是得用项目驱动学习法,在完成一个项目的过程中可能会遇到各种问题,远比刷题富有挑战。

第三点:

该讲的一个没少。git,JUnit,maven,IDEA 编码和调试(虽然我大部分时候是用 VS Code 做的)全都讲到了。对比国内,上完一门 Java 为主的课,上面这些很少有都讲到的。不该讲的放个引子。比如一些高级的算法,会提示你去学 CS170;一些涉及到图形学的地方会提示你去学 CS184 等等。

课程介绍到这里就告一段落了,只能说国内的教育还有很长一段路要走。当然国内大学老师们科研压力都很大,不重视教学也是既定事实,改变起来比较难。

最后说一下如果用 VS Code 来做需要注意什么:

VS Code 不能完全代替 IDEA,如果你发现 VS Code 不好使了,切换回 IDEA。比如第三个项目 BearMap,使用 VS Code 和 IDEA 都会出现 404,这时候还是需要打开 IDEA 运行 mvn clean 清理,然后再运行 IDEA 的 run 按钮。

代码风格可以使用Google 风格,建议把这个链接里的文件下载到本地,放到一个完全不会动的地方,比如 maven 的 .m2 仓库里,避免因网络问题格式化失败。

VS Code 如何加载本地 jar 包,见下图箭头所指处:

Code_G1pS5SBjQf.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3