<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          后悔大學(xué)沒(méi)看到這個(gè) Github 倉(cāng)庫(kù)!

          共 3348字,需瀏覽 7分鐘

           ·

          2021-12-16 23:36


          經(jīng)常有大一的學(xué)妹或者非科班轉(zhuǎn)碼的學(xué)妹在后臺(tái)問(wèn)我,計(jì)算機(jī)都要學(xué)哪些課程,有什么先后順序。

          有類似疑問(wèn)的小伙伴,可以參考Github上「清華大學(xué)計(jì)算機(jī)系課程攻略

          img

          里面包含了清華CS專業(yè),大一到大四的課程以及推薦書籍資源等,鏈接如下:

          https://github.com/PKUanonym/REKCARC-TSC-UHTgithub.com

          截取一些課程目錄:

          大一上:

          大一下:

          大二上:

          大二下:

          大三,專業(yè)課明顯多起來(lái)了:

          大四主要是實(shí)踐、實(shí)習(xí)、畢設(shè),課不多:

          不過(guò)說(shuō)實(shí)話,這份攻略對(duì)于我們大部分同學(xué)來(lái)說(shuō)都只能參考,課程量有點(diǎn)大,時(shí)間不充足的話,很難完全跟下來(lái)。

          但是我覺(jué)得這里面大三下的課程非常棒:

          • 操作系統(tǒng)
          • 計(jì)算機(jī)系統(tǒng)
          • 數(shù)值分析
          • 數(shù)字圖像
          • 存儲(chǔ)技術(shù)
          • 搜索引擎技術(shù)
          • 模式識(shí)別
          • 機(jī)器學(xué)習(xí)

          可以說(shuō)大三下的這些課程鋪墊非常不錯(cuò),不管以后走分布式存儲(chǔ)、搜索引擎等基礎(chǔ)架構(gòu)方向還是機(jī)器學(xué)習(xí)等算法方向,亦或是游戲引擎、圖形處理等方向,都算是入門了。

          但是說(shuō)實(shí)話,清華這份攻略好是好,就是太多了,對(duì)于時(shí)間沒(méi)有那么充裕的同學(xué),想要一個(gè)更加精簡(jiǎn)的 List,可以參考網(wǎng)易云課堂上的計(jì)算機(jī)課程圖:

          我把幾門我覺(jué)得基本必學(xué)的課程用紅線框起來(lái)了,大家可以作為參考。

          另外,學(xué)習(xí)這些課程的時(shí)候,一定要多寫代碼、做一些Lab,建議把操作系統(tǒng)、計(jì)網(wǎng)、csapp這些課程 lab做完(國(guó)內(nèi)有些學(xué)??赡軟](méi)有),可以去國(guó)外找計(jì)算機(jī)四大名校的Lab。

          部分學(xué)校最大的問(wèn)題就是 OS、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等 CS 核心課程上成了文科!

          缺乏一些動(dòng)手實(shí)踐 Lab,大部分都是寫實(shí)驗(yàn)報(bào)告,就是不寫代碼。

          為什么美帝在數(shù)據(jù)庫(kù)、操作系統(tǒng)、各種工業(yè)軟件工程能力如此強(qiáng)悍?

          **我覺(jué)得和他們 CS 強(qiáng)校的教育模式有關(guān),**國(guó)外,尤其是美國(guó),很多高校 CS 教育極其注重實(shí)踐,國(guó)內(nèi)也就少數(shù)不錯(cuò)的高校有實(shí)踐教學(xué),其它都是念 PPT,課后作業(yè)就是做 Word 項(xiàng)目。。。。

          就拿 MIT 來(lái)說(shuō),6.830 Database Systems: 這是一門數(shù)據(jù)庫(kù)系統(tǒng)的一門核心課程。前半部分比較基礎(chǔ)的數(shù)據(jù)庫(kù)的知識(shí),后半段主要在講Distributed Databases 的東西

          它們的實(shí)驗(yàn)是什么?

          是寫個(gè)小型關(guān)系型數(shù)據(jù)庫(kù),比如 lab1實(shí)現(xiàn)數(shù)據(jù)庫(kù)基本的存儲(chǔ)邏輯結(jié)構(gòu),具體包括:Tuple,TupleDesc,HeapPage,HeapFile,SeqScan,BufferPool等。

          我們數(shù)據(jù)庫(kù)教什么?

          教 SQL 怎么寫,教數(shù)據(jù)庫(kù)原理(這個(gè)還算好的)

          大多數(shù)高校實(shí)驗(yàn)是什么?

          用 Java 使用 JDBC 連接 MySQL 寫個(gè)應(yīng)用。。。

          國(guó)外是如何教計(jì)算機(jī)網(wǎng)絡(luò)的?

          實(shí)現(xiàn) ?TCP 協(xié)議棧~

          比如斯坦福 CS 144,CS144 Lab Assignments - 手寫TCP - LAB4

          我們是怎么學(xué)習(xí)的?

          記住 TCP 三次握手、四次揮手、記住 DNS 使用 UDP 協(xié)議....

          我們大作業(yè)是什么?

          有些是 Word 寫作業(yè)。。。有些是讓你用一下 socket api 寫個(gè)網(wǎng)絡(luò)程序。。。這是計(jì)算機(jī)網(wǎng)絡(luò)原理嗎?

          操作系統(tǒng)比較典型的是 MIT 6.828,現(xiàn)在改名了。

          直接讓你基于一個(gè) xv6 去實(shí)現(xiàn)一些模塊,比如文件系統(tǒng)、多線程。

          我們呢?

          記住進(jìn)程和線程區(qū)別、記住虛擬內(nèi)存的各種組關(guān)聯(lián)....

          當(dāng)然也有一些學(xué)校會(huì)有實(shí)驗(yàn),比如清華 ucore、哈工大 linux0.11。

          這就是為什么美國(guó)高校有很強(qiáng)的編碼能力、造輪子的能力,因?yàn)樗麄兊?CS 學(xué)生成長(zhǎng)環(huán)境就是這樣的。

          CS 專業(yè)區(qū)別于其它專業(yè)一個(gè)很大特點(diǎn)就是:

          • 工作后的內(nèi)容是和專業(yè)所學(xué)的內(nèi)容強(qiáng)相關(guān)的。

          比如你學(xué)了數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò),如果你從事的是研發(fā)崗,那一定離不開(kāi)這些知識(shí)。

          • 主要靠自學(xué)

          不管是科班還是非科班,想要快速持續(xù)的提高技術(shù)水平,就得靠自己去鉆,尤其離不開(kāi)自學(xué)。

          知乎上其實(shí)很多問(wèn)科班和非科班的差別在哪,其實(shí)我一直想說(shuō),你給自己充足時(shí)間去把科班的內(nèi)容學(xué)習(xí)一遍,到底還能差在哪呢?

          可能唯一差別就是少了一個(gè) 計(jì)算機(jī)學(xué)士學(xué)位。

          也有人把這種自學(xué)出家的叫做民科,當(dāng)然沒(méi)有任何的諷刺意思哈。

          那么計(jì)算機(jī)專業(yè)同學(xué)該如何自學(xué)呢?

          其實(shí)看著很多,概況起來(lái)就是(下面只涉及CS專業(yè)課):

          1. 計(jì)算機(jī)導(dǎo)論 + 一門編程入門語(yǔ)言
          2. 算法與數(shù)據(jù)結(jié)構(gòu)
          3. 操作系統(tǒng)
          4. 計(jì)算機(jī)網(wǎng)絡(luò)
          5. 數(shù)據(jù)庫(kù)系統(tǒng)
          6. 特定領(lǐng)域知識(shí),如:計(jì)算機(jī)圖形學(xué)、信息安全、System方向、分布式

          學(xué)習(xí)的途徑就是:

          多看國(guó)內(nèi)外 CS 名校的一些開(kāi)放課程 + 看經(jīng)典的書 + 多寫代碼!??!

          畢竟現(xiàn)在MOOC、Udemy、B站上學(xué)習(xí)的資源都是很豐富的。

          比如:[CS經(jīng)典課程][https://mp.weixin.qq.com/s/bkLpjLxqQHaBTwCiz3VwBA]

          簡(jiǎn)單列舉幾個(gè)學(xué)科:

          一、計(jì)算機(jī)導(dǎo)論

          首先建議從計(jì)算機(jī)導(dǎo)論課程開(kāi)始,推薦下面這些課程:

          • Harvard的CS50 ?CS50: Introduction to Computer Science
          • Berkeley的CS61A ?CS 61A: Structure and Interpretation of Computer Programs
          • MIT的6.001 ?mit-6.001

          二、C 語(yǔ)言

          隨后建議學(xué)習(xí)一門語(yǔ)言,可以是 C、Java、或 Python,我推薦 C語(yǔ)言(當(dāng)然,也可以是Python!這不是重點(diǎn),重點(diǎn)是要多去寫,入門時(shí)提高對(duì)編程的興趣),提到C語(yǔ)言,我這里推薦國(guó)內(nèi)浙大翁凱老師的課,看過(guò)的都說(shuō)好~

          分為兩門,第一門是面向高考結(jié)束想提前自學(xué)一點(diǎn)編程的,叫大學(xué)先修課:

          • C語(yǔ)言程序設(shè)計(jì)CAP-大學(xué)先修課

          雖然叫先修課,但是覆蓋了C語(yǔ)言的主要知識(shí)點(diǎn),也適合大一新生~

          第二門是

          • C語(yǔ)言程序設(shè)計(jì)進(jìn)階

          會(huì)帶你用C語(yǔ)言完成一些有趣的項(xiàng)目,比如一些圖形界面小游戲,先修課學(xué)習(xí) C 語(yǔ)言語(yǔ)法基礎(chǔ),進(jìn)階課帶你項(xiàng)目實(shí)操,搭配使用,你就是同學(xué)中的大神!

          有了語(yǔ)言基礎(chǔ)之后建議學(xué)數(shù)據(jù)結(jié)構(gòu)與算法:

          三、數(shù)據(jù)結(jié)構(gòu)推薦:

          • Stanford CS106系列
          • CS106A: Programming Methodologies

          四、算法推薦:

          • 6.046(進(jìn)階) ?Design and Analysis of Algorithms - MIT
          • MIT的6.006 ?Introduction to Algorithms
          • Coursera上的Princeton課程
          • Berkeley的CS61A 和 CS61B

          五、操作系統(tǒng)推薦:

          • CMU的15-213
          • Berkeley的CS162,

          這兩個(gè)都是有視頻有l(wèi)ab的好課

          還有一個(gè)非常經(jīng)典的 MIT 6.828,附帶一個(gè)xv6 lab

          課程:6.828: Operating System Engineering

          六、 組成原理、體系結(jié)構(gòu):

          1. MIT的6.004,
          2. CMU的15-213
          3. Berkeley的CS61C

          七、計(jì)算機(jī)網(wǎng)絡(luò):

          • Stanford的CS144,lab 很有意思

          新手快速自學(xué)的方法

          一個(gè)原則,來(lái)自翁凱老師:

          學(xué)計(jì)算機(jī)一定要有一個(gè)非常強(qiáng)大的心理狀態(tài),計(jì)算機(jī)的所有東西都是人做出來(lái)的,別人能想的出來(lái),我也一定能想得出來(lái),在計(jì)算機(jī)的世界里沒(méi)有任何的黑魔法,所有的東西只不過(guò)是我現(xiàn)在不知道而已,總有一天我會(huì)把所有的細(xì)節(jié)、所有的內(nèi)部的東西全搞明白的

          這里,也有一個(gè)問(wèn)題,確實(shí)大部分的東西,只要你一直深挖下去,可能都能搞明白。

          但是要注意時(shí)間成本,軟件行業(yè)已經(jīng)不是一般的復(fù)雜和巨大,任何一個(gè)領(lǐng)域的知識(shí)的復(fù)雜性都足夠耗費(fèi)掉我們一生的時(shí)間,所以一定要抓住主線,對(duì)于技術(shù)和知識(shí),要學(xué)通用的、流行的,可以嘗試面向面試學(xué)習(xí)。

          “打破砂鍋問(wèn)到底”式的學(xué)習(xí)雖然精神可敬,但效率并不劃算。

          要在適當(dāng)?shù)膶哟紊铣橄蟪鲆粚樱⑶艺J(rèn)可這一層提供的接口,不去深究?jī)?nèi)部實(shí)現(xiàn),了解原理即可,不必深究?jī)?nèi)部實(shí)現(xiàn)。

          比如學(xué)習(xí) HTTP,那么就先認(rèn)可 TCP 提供的穩(wěn)定可靠傳輸,而不繼續(xù)深挖 TCP 的內(nèi)容。

          新手,一定不要一直看書,保持看書的時(shí)間不超過(guò) 50%。

          1. 看書學(xué)習(xí)基本的理論
          2. 編程練習(xí)
          3. 有了新領(lǐng)悟,繼續(xù)看書

          反復(fù)的循環(huán)。

          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码黄色成人网站在线观看 | 人人看人人草 | 一级黄片美女出来 | 亚洲AV无码国产精品夜色午夜 | 欧美超碰在线 |