欢迎光临散文网 会员登陆 & 注册

CS70结课笔记,感想,以及资源

2023-03-28 22:33 作者:降星驰  | 我要投稿

看看封面这两只可爱的小企鹅,是对不错的情头,

等等,右边那个是企鹅?


课程介绍

首先看看CSDIY关于课程内容的介绍


然后请忽略CSDIY所有关于课程难度以及预计学时的评估(不单单仅限于70,极其不准确,除了打击信心和制造焦虑以外应该没什么作用。)

如果你要学这门课并且没什么基础,请做好花200个小时左右的学习时间。个人认为这门课的时间开销是UCB的core课里面里最多的。比61B应该能多个30%~50%的时间,(没有对应数学基础,对不起我是泵比)



CS70是一门关于数学的课程,主要讲了离散数学(集合论,图论,数论,etc.)和概率论,但北大的离散开了三学期,国内离散也普遍开两学期,概率论(和数理统计)可以单独的作为一门课拎出来,可想而知,课程内容能做到如此广阔,70这门课程一定做了相当程度的化简。


在reddit里曾经有UCB的老哥抱怨过CS70自己学了900个小时,虽然说的很夸张,但是也或多或少表现了CS70这门课程的特点。即,CS70讲的每一个话题都上限极高,深挖下去基本都是时间黑洞,比如stable matching problem 足足出了一本书,这个问题挖下去挖出了个诺贝尔奖。

强调一下,70的内容有些学下去真的非常难(但是有趣),而且真的是个无底洞,所以你出现“这是什么。”的情况是非常常见的,不要自闭。

我个人其实非常鼓励稍微挖一下70的内容,和现实联系一下,不仅方便你装逼,而且确实是能帮你学习相关的知识。

(分享个人某晚写的东西。)

给同学讲课,从halting problem讲到,不存在完美的程序,讲到不存在可数不可数的bijection,接着讲到数学的不完备,然后再讲到现代集合理论的构建。70真是太伟大了。第一次发现自己那么能讲。

学的时候感觉自己每天没学多少,但是一个多月下来,和别人吹b的时候,发现自己真的学了好多。讲的时候感觉自己太帅了,知识体系一下子有机的结合在了一起,简直是天神下凡。这种体验也许是我一生中最好最爽的几个体验之一。

希望你也能有这样的体验。

(所以那个学了900h的老哥可能是拓展了很多,课内的话,大约还是200h+能够完成的,毕竟只开一个学期的课)

(这里顺便说一下这个为什么夸张,900h\180day = 5 h\day,这是一个非常夸张的数字了,首先一学期不会超过180天,其次一个人一天其实最多学个8h。)

 

官网关于课程内容的介绍(机翻)

-         基本逻辑 证明(直接、矛盾、反证)

-         归纳稳定匹配图论(超立方体、欧拉路径、哈密顿路径)

-         模算术(欧几里得算法、扩展欧几里得算法)

-         双射、RSA、费马小定理

-         有限域上的多项式(秘密共享、纠错码、Berlekamp-Welsh)

-         可数性和可计算性

-         计数和组合参数

-         离散概率, 条件概率, 概率推断(贝叶斯规则), 独立

-         概率:期望和方差(具有哈希表的应用进程)

-         大数定律、置信区间、线性回归

-         分布(离散、连续)

-         边界(马尔可夫、切比雪夫、中心极限定理)

-         线性回归

-         条件期望

-         马尔可夫链

 


CS70 对研究和软件工程实习有所帮助——CS70 的问题解决方面可能对某些面试以及理解更复杂的研究理论有所帮助。CS70对于量化交易实习也非常有用,因为课程的概率部分将涵盖几乎所有的面试问题。但是,CS70 是 CS170 的先决条件,CS170 是计算机科学求职面试非常有用的课程。

 

(官网链接)https://hkn.eecs.berkeley.edu/courseguides/CS/70

 

为什么要学习70,或者说为什么要学习数学,70的作用。

四大都开了有关离散数学的课程,光是这点就已经说明一些东西。

但是说实话,其实,可能,80%的工作都用不到数学有关的东西,70从工作的意义上而言,是给喜欢计算机的艺术家学的。(不过密码学这些专业的就老老实实学数学这些东西吧=_=)

 

就我个人而言,70的作用有两个,

一个是学习离散和概率论,明白了一些东西的数学原理,数学真的还是很有趣的

还有一个,也是我认为同样重要的一个东西就是,我练习了英语。

不同于abc的中文字幕,70的note在042的辅助下也是需要花大量时间去阅读的,有时候经常出现,一天下来,回过头来一看,发现自己就看了一节note的情况。

过程是痛苦的,尤其是对于一个不适应长篇英语阅读的人而言(比如我),但是,这同时也是一个非常好的练习机会,学完70以后,降低了很多阅读的痛感吧,以前看note是十分痛苦,现在大概是六分痛苦。

但是话说回来,离散也许确实不是那么重要,英语阅读也许不是我们需要为之努力的点。可就我个人而言,我觉得还是值的。如果你特别着急的话,可以选择把70欠着。以后有空再回来补。(顺便一提170有70前置的)

 

分享一下痛苦

学70学的那叫一个痛苦,50%的痛苦来自于语言方面,50%来源于题目,note只讲了一个问题的一个方面,但是hw和disc让你自己推拓展,所以你相当于学了两遍。

我看了下我的stable matching problem的笔记,只有左上角那个1,2是note里面的。
其他的都是disc和hw让你推出来的。
每个点都有对应的证明......

但相比于概念上面的磕磕绊绊,语言层面上面的障碍对我而言才是灵魂打击。
英语不行,note看不利索,要花更长时间看,效果也不好。效果不好,导致disc和hw写起来磕磕绊绊,经常遇到困难,遇到困难,又得回过头去看note,在搭配上我英语不好,所以略读基本不可能,效果又打折扣,然后效果打折扣导致……

所以……

好好学英语,兄弟们。

 

学习建议

好好学英语,兄弟们。

个人建议先看042(6.042)的lecture,然后看note,写disc,hw,这个可以比较有效的降低你在概念理解上的误区以及痛苦。

042和70的知识,并不是完全重合,是有一小点差别的,但是差的不多,所以差不多可以当一个东西来看。个人认为042的知识点安排更加合理一点。

 

还有就是勤记笔记,写阶段总结,做错题集。最好每一个章节结束后,就写一个。不这样搞的话,总复习的时候,时间复杂度会爆炸的。我到现在都算过掉了我还没整理完=_=

 

关于学70的,new bing的建议是

我就是时间战士

 你学到了吗?


结尾碎碎念

70考试考完了,分数爆炸了QAQ,每次改卷子心都在滴血。卷子的最后的题目是一个曾经在3blue1brown那里看到过的题目,但是当时我瞟了一眼,然后就过去了,没想到在70考试里遇见了。

最骚的是,答案直接放了这个人的视频。

这是答案

考试前也没写模拟卷什么的,换算成百分制勉强64,刚好过及格线。听说70考试每年都整花活,每次都能创平均分的最低纪录,但是就我写的版本而言,这题目还是蛮简单的,写了hw可以无压力解决考试。

扣的分数里面有一半是粗心,以及语言我的大脑把题目翻译成了奇奇怪怪的内容,所以当你觉得怎么这么难的时候,多半不是你不会数学,而是你不会英语。

但是也有扣的一半是我不会的东西。集中在随机变量的分布,以及几个特定的题目。多考几次分应该会高不少,但是不管了,还有好多专业课要学=_=。

顺便猜想,自己的其他地方没遇到难题是因为之前的其中都考掉了。

左边有空我再整理,就当我收掉70了

 

顺便推荐一本课外书目,离散数学及其应用。内容比70应该多一点。

浙大引进了这本教材,所以现在有偶数题的答案啦!

https://qsctech.github.io/zju-icicles/%E7%A6%BB%E6%95%A3%E6%95%B0%E5%AD%A6%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8/


CS70结课笔记,感想,以及资源的评论 (共 条)

分享到微博请遵守国家法律