CS70結(jié)課筆記,感想,以及資源

看看封面這兩只可愛的小企鵝,是對(duì)不錯(cuò)的情頭,
等等,右邊那個(gè)是企鵝?
課程介紹
首先看看CSDIY關(guān)于課程內(nèi)容的介紹

然后請(qǐng)忽略CSDIY所有關(guān)于課程難度以及預(yù)計(jì)學(xué)時(shí)的評(píng)估(不單單僅限于70,極其不準(zhǔn)確,除了打擊信心和制造焦慮以外應(yīng)該沒什么作用。)
如果你要學(xué)這門課并且沒什么基礎(chǔ),請(qǐng)做好花200個(gè)小時(shí)左右的學(xué)習(xí)時(shí)間。個(gè)人認(rèn)為這門課的時(shí)間開銷是UCB的core課里面里最多的。比61B應(yīng)該能多個(gè)30%~50%的時(shí)間,(沒有對(duì)應(yīng)數(shù)學(xué)基礎(chǔ),對(duì)不起我是泵比)
CS70是一門關(guān)于數(shù)學(xué)的課程,主要講了離散數(shù)學(xué)(集合論,圖論,數(shù)論,etc.)和概率論,但北大的離散開了三學(xué)期,國內(nèi)離散也普遍開兩學(xué)期,概率論(和數(shù)理統(tǒng)計(jì))可以單獨(dú)的作為一門課拎出來,可想而知,課程內(nèi)容能做到如此廣闊,70這門課程一定做了相當(dāng)程度的化簡。
在reddit里曾經(jīng)有UCB的老哥抱怨過CS70自己學(xué)了900個(gè)小時(shí),雖然說的很夸張,但是也或多或少表現(xiàn)了CS70這門課程的特點(diǎn)。即,CS70講的每一個(gè)話題都上限極高,深挖下去基本都是時(shí)間黑洞,比如stable matching problem 足足出了一本書,這個(gè)問題挖下去挖出了個(gè)諾貝爾獎(jiǎng)。
強(qiáng)調(diào)一下,70的內(nèi)容有些學(xué)下去真的非常難(但是有趣),而且真的是個(gè)無底洞,所以你出現(xiàn)“這是什么。”的情況是非常常見的,不要自閉。
我個(gè)人其實(shí)非常鼓勵(lì)稍微挖一下70的內(nèi)容,和現(xiàn)實(shí)聯(lián)系一下,不僅方便你裝逼,而且確實(shí)是能幫你學(xué)習(xí)相關(guān)的知識(shí)。
(分享個(gè)人某晚寫的東西。)
給同學(xué)講課,從halting?problem講到,不存在完美的程序,講到不存在可數(shù)不可數(shù)的bijection,接著講到數(shù)學(xué)的不完備,然后再講到現(xiàn)代集合理論的構(gòu)建。70真是太偉大了。第一次發(fā)現(xiàn)自己那么能講。
學(xué)的時(shí)候感覺自己每天沒學(xué)多少,但是一個(gè)多月下來,和別人吹b的時(shí)候,發(fā)現(xiàn)自己真的學(xué)了好多。講的時(shí)候感覺自己太帥了,知識(shí)體系一下子有機(jī)的結(jié)合在了一起,簡直是天神下凡。這種體驗(yàn)也許是我一生中最好最爽的幾個(gè)體驗(yàn)之一。
希望你也能有這樣的體驗(yàn)。
(所以那個(gè)學(xué)了900h的老哥可能是拓展了很多,課內(nèi)的話,大約還是200h+能夠完成的,畢竟只開一個(gè)學(xué)期的課)
(這里順便說一下這個(gè)為什么夸張,900h\180day = 5 h\day,這是一個(gè)非??鋸埖臄?shù)字了,首先一學(xué)期不會(huì)超過180天,其次一個(gè)人一天其實(shí)最多學(xué)個(gè)8h。)
?
官網(wǎng)關(guān)于課程內(nèi)容的介紹(機(jī)翻)

-???????? 基本邏輯 證明(直接、矛盾、反證)
-???????? 歸納穩(wěn)定匹配圖論(超立方體、歐拉路徑、哈密頓路徑)
-???????? 模算術(shù)(歐幾里得算法、擴(kuò)展歐幾里得算法)
-???????? 雙射、RSA、費(fèi)馬小定理
-???????? 有限域上的多項(xiàng)式(秘密共享、糾錯(cuò)碼、Berlekamp-Welsh)
-???????? 可數(shù)性和可計(jì)算性
-???????? 計(jì)數(shù)和組合參數(shù)
-???????? 離散概率, 條件概率, 概率推斷(貝葉斯規(guī)則), 獨(dú)立
-???????? 概率:期望和方差(具有哈希表的應(yīng)用進(jìn)程)
-???????? 大數(shù)定律、置信區(qū)間、線性回歸
-???????? 分布(離散、連續(xù))
-???????? 邊界(馬爾可夫、切比雪夫、中心極限定理)
-???????? 線性回歸
-???????? 條件期望
-???????? 馬爾可夫鏈
?

CS70 對(duì)研究和軟件工程實(shí)習(xí)有所幫助——CS70 的問題解決方面可能對(duì)某些面試以及理解更復(fù)雜的研究理論有所幫助。CS70對(duì)于量化交易實(shí)習(xí)也非常有用,因?yàn)檎n程的概率部分將涵蓋幾乎所有的面試問題。但是,CS70 是 CS170 的先決條件,CS170 是計(jì)算機(jī)科學(xué)求職面試非常有用的課程。
?
(官網(wǎng)鏈接)https://hkn.eecs.berkeley.edu/courseguides/CS/70
?
為什么要學(xué)習(xí)70,或者說為什么要學(xué)習(xí)數(shù)學(xué),70的作用。
四大都開了有關(guān)離散數(shù)學(xué)的課程,光是這點(diǎn)就已經(jīng)說明一些東西。
但是說實(shí)話,其實(shí),可能,80%的工作都用不到數(shù)學(xué)有關(guān)的東西,70從工作的意義上而言,是給喜歡計(jì)算機(jī)的藝術(shù)家學(xué)的。(不過密碼學(xué)這些專業(yè)的就老老實(shí)實(shí)學(xué)數(shù)學(xué)這些東西吧=_=)
?
就我個(gè)人而言,70的作用有兩個(gè),
一個(gè)是學(xué)習(xí)離散和概率論,明白了一些東西的數(shù)學(xué)原理,數(shù)學(xué)真的還是很有趣的。
還有一個(gè),也是我認(rèn)為同樣重要的一個(gè)東西就是,我練習(xí)了英語。
不同于abc的中文字幕,70的note在042的輔助下也是需要花大量時(shí)間去閱讀的,有時(shí)候經(jīng)常出現(xiàn),一天下來,回過頭來一看,發(fā)現(xiàn)自己就看了一節(jié)note的情況。
過程是痛苦的,尤其是對(duì)于一個(gè)不適應(yīng)長篇英語閱讀的人而言(比如我),但是,這同時(shí)也是一個(gè)非常好的練習(xí)機(jī)會(huì),學(xué)完70以后,降低了很多閱讀的痛感吧,以前看note是十分痛苦,現(xiàn)在大概是六分痛苦。
但是話說回來,離散也許確實(shí)不是那么重要,英語閱讀也許不是我們需要為之努力的點(diǎn)??删臀覀€(gè)人而言,我覺得還是值的。如果你特別著急的話,可以選擇把70欠著。以后有空再回來補(bǔ)。(順便一提170有70前置的)
?
分享一下痛苦
學(xué)70學(xué)的那叫一個(gè)痛苦,50%的痛苦來自于語言方面,50%來源于題目,note只講了一個(gè)問題的一個(gè)方面,但是hw和disc讓你自己推拓展,所以你相當(dāng)于學(xué)了兩遍。

我看了下我的stable?matching?problem的筆記,只有左上角那個(gè)1,2是note里面的。
其他的都是disc和hw讓你推出來的。
每個(gè)點(diǎn)都有對(duì)應(yīng)的證明......
但相比于概念上面的磕磕絆絆,語言層面上面的障礙對(duì)我而言才是靈魂打擊。
英語不行,note看不利索,要花更長時(shí)間看,效果也不好。效果不好,導(dǎo)致disc和hw寫起來磕磕絆絆,經(jīng)常遇到困難,遇到困難,又得回過頭去看note,在搭配上我英語不好,所以略讀基本不可能,效果又打折扣,然后效果打折扣導(dǎo)致……
所以……
好好學(xué)英語,兄弟們。
?
學(xué)習(xí)建議
好好學(xué)英語,兄弟們。
個(gè)人建議先看042(6.042)的lecture,然后看note,寫disc,hw,這個(gè)可以比較有效的降低你在概念理解上的誤區(qū)以及痛苦。
042和70的知識(shí),并不是完全重合,是有一小點(diǎn)差別的,但是差的不多,所以差不多可以當(dāng)一個(gè)東西來看。個(gè)人認(rèn)為042的知識(shí)點(diǎn)安排更加合理一點(diǎn)。
?
還有就是勤記筆記,寫階段總結(jié),做錯(cuò)題集。最好每一個(gè)章節(jié)結(jié)束后,就寫一個(gè)。不這樣搞的話,總復(fù)習(xí)的時(shí)候,時(shí)間復(fù)雜度會(huì)爆炸的。我到現(xiàn)在都算過掉了我還沒整理完=_=
?
關(guān)于學(xué)70的,new bing的建議是

?你學(xué)到了嗎?
結(jié)尾碎碎念
70考試考完了,分?jǐn)?shù)爆炸了QAQ,每次改卷子心都在滴血。卷子的最后的題目是一個(gè)曾經(jīng)在3blue1brown那里看到過的題目,但是當(dāng)時(shí)我瞟了一眼,然后就過去了,沒想到在70考試?yán)镉鲆娏恕?/p>
最騷的是,答案直接放了這個(gè)人的視頻。
考試前也沒寫模擬卷什么的,換算成百分制勉強(qiáng)64,剛好過及格線。聽說70考試每年都整花活,每次都能創(chuàng)平均分的最低紀(jì)錄,但是就我寫的版本而言,這題目還是蠻簡單的,寫了hw可以無壓力解決考試。
扣的分?jǐn)?shù)里面有一半是粗心,以及語言我的大腦把題目翻譯成了奇奇怪怪的內(nèi)容,所以當(dāng)你覺得怎么這么難的時(shí)候,多半不是你不會(huì)數(shù)學(xué),而是你不會(huì)英語。
但是也有扣的一半是我不會(huì)的東西。集中在隨機(jī)變量的分布,以及幾個(gè)特定的題目。多考幾次分應(yīng)該會(huì)高不少,但是不管了,還有好多專業(yè)課要學(xué)=_=。
順便猜想,自己的其他地方?jīng)]遇到難題是因?yàn)橹暗钠渲卸伎嫉袅恕?/p>
?
順便推薦一本課外書目,離散數(shù)學(xué)及其應(yīng)用。內(nèi)容比70應(yīng)該多一點(diǎn)。
浙大引進(jìn)了這本教材,所以現(xiàn)在有偶數(shù)題的答案啦!
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/
