<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>

          有問(wèn)題!

          共 3866字,需瀏覽 8分鐘

           ·

          2021-05-29 17:14

          公子龍:這是一個(gè)大膽的問(wèn)題,國(guó)內(nèi)高校計(jì)算機(jī)教育存在哪些問(wèn)題?

          有問(wèn)題嗎?有問(wèn)題。

          敢說(shuō)嗎,不太敢說(shuō)。

          勉強(qiáng)學(xué)習(xí)吧,又不是不能學(xué),大不了學(xué)的痛苦一些。

          這估計(jì)是我們很多人內(nèi)心的真實(shí)想法,但有反思才會(huì)有進(jìn)步,計(jì)算機(jī)的萌芽是從國(guó)外開(kāi)始的,近些年我們的進(jìn)步是可觀的,在猛追猛趕下,軟硬件的積累都有了很大的進(jìn)步。

          但,問(wèn)題還是有,再多的成果,也不能抹去所有的問(wèn)題,其中,計(jì)算機(jī)科班學(xué)生的教育問(wèn)題,埋在我們心底許久,給每個(gè)志愿投身其中的學(xué)生帶來(lái)陣痛。

          這篇文章,是我從小北(編程指北)那邊要過(guò)來(lái)的,文章核心聚焦于:談?wù)勀壳皣?guó)內(nèi)高校計(jì)算機(jī)教育的痛點(diǎn),有怎樣的方向可以探索,有哪些優(yōu)秀的方法可以借鑒。

          很多時(shí)候,走了諸多彎路之后,停下來(lái)反思,然后慢慢的進(jìn)步,這種過(guò)程是可貴的,以下是正文。

          正文

          編程指:我自己是 CS 科班的,讀者里也有很多各大高校計(jì)算機(jī)的同學(xué),覆蓋了上交、北郵、南郵、華科、川大、普通一本等等,根據(jù)他們反饋,總結(jié)了以下幾點(diǎn):

          1. 上課耽誤學(xué)習(xí),不上課考勤扣分,拿不了高績(jī)點(diǎn),耽誤保研出國(guó)。不多說(shuō),懂的都懂哈哈。

          2. 課程設(shè)置不合理,實(shí)驗(yàn)課多,作業(yè)多,并且大多是寫(xiě) Word 報(bào)告,實(shí)驗(yàn)報(bào)告就像這種(迪杰克斯拉算法):

          1. 占了很多時(shí)間,但是效果卻不如自學(xué),上課基本是放 PPT,考試內(nèi)容全在 PPT 上,看書(shū)的同學(xué)沒(méi)有背 PPT 的分?jǐn)?shù)考得高,沒(méi)有人愿意去啃那些大厚書(shū),因?yàn)椤靶詢(xún)r(jià)比”太低。

          2. 都 2021年了,估計(jì)沒(méi)有幾個(gè)學(xué)校提交代碼是用 Git、Gitlab 這些工具吧,評(píng)分也沒(méi)有搞自動(dòng)化測(cè)試。做悉大、MIT這些學(xué)校的 labs,都是直接去網(wǎng)站提交代碼,跑 test case,馬上就能知道哪些 case 沒(méi)有過(guò),再去 debug。

          3. 教材大部分使用自己編的,水平如何就不多說(shuō)了,懂的都懂。很多書(shū)上還是用 VC 6.0 來(lái)寫(xiě)的 C,為什么不換用更加優(yōu)秀經(jīng)典的教材呢?

            順便貼一個(gè)匿名回答:

            不過(guò)值得表?yè)P(yáng)的是,我們學(xué)校教材基本都是使用全英文黑皮書(shū),比如《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下》、《深入理解計(jì)算機(jī)系統(tǒng)》等,這樣的學(xué)校我知道有 15 所以上,希望會(huì)越來(lái)越多~

            對(duì)于計(jì)算機(jī)的學(xué)生,最好的資料和書(shū)籍是美帝那邊的,因?yàn)橛?jì)算機(jī)就是發(fā)源自美帝。

          4. 講課全程 PPT,放 PPT 就算了吧,很多 PPT 還是十幾年都沒(méi)更新那種(C語(yǔ)言 PPT 上用的還是 VC6.0....),什么 C 語(yǔ)言 main 函數(shù)返回值 void。

          我看過(guò)的一門(mén)非常經(jīng)典課程,MIT CS107,講師全程幾乎都是黑板粉筆板書(shū),學(xué)生跟著老師思路學(xué)習(xí),這才是最高效的,而且各自手寫(xiě)代碼、手畫(huà)棧幀、手寫(xiě)匯編:

          CS107

          在我大學(xué)期間,只有一位數(shù)學(xué)老師堅(jiān)持板書(shū),大部分基本就是放 PPT 了事,下面的學(xué)生紛紛拿起手機(jī)拍照,或者直接下課去拷 PPT,這樣能學(xué)到多少呢?

          1. 代碼量太少,很多同學(xué)到畢業(yè)估計(jì)幾萬(wàn)行都沒(méi)寫(xiě)到,但是真正想鍛煉出極強(qiáng)的編程能力沒(méi)有 10w+ 很難,這方面作為學(xué)生我們也要多反思,為什么平時(shí)沒(méi)有寫(xiě)到這么多代碼。

          2. 很多學(xué)校就是孤立的學(xué)了一堆 操作系統(tǒng)、計(jì)組、體系結(jié)構(gòu)、編譯原理、C、匯編,但是很少有同學(xué)能把這些課程連起來(lái)形成 CS 體系,這方面 CMU 的神書(shū)神課《CSAPP》又要提下了,幸好我們學(xué)校開(kāi)設(shè)了系統(tǒng)編程的課程,教材就是 CSAPP,其它沒(méi)有開(kāi)設(shè)這門(mén)課的學(xué)校建議學(xué)弟學(xué)妹們自學(xué)。

          3. 課程設(shè)置雜亂,學(xué)了一堆的數(shù)電、模電、大學(xué)物理..... 想起大一被大物實(shí)驗(yàn)支配的恐懼,時(shí)間都費(fèi)在這些上面了,說(shuō)實(shí)話(huà)把這些課程壓縮,上一些函數(shù)式編程、或者比較前沿的 CS 方向,我覺(jué)得對(duì)計(jì)算機(jī)專(zhuān)業(yè)更好!

          4. 核心課程上的太晚!我們學(xué)校大二下、大三才開(kāi)始計(jì)網(wǎng)、操作系統(tǒng)、數(shù)據(jù)庫(kù)原理等核心課程,太晚了,這些課程至少要在大三前完成,大三再開(kāi)設(shè)圖形學(xué)、編譯原理等進(jìn)階課程,大四直接就是實(shí)踐課程為主或者讓同學(xué)們自己出去找實(shí)習(xí)!

          我個(gè)人覺(jué)得大概這樣設(shè)置CS課程更為合理:大一上:C/C++程序設(shè)計(jì)、高數(shù)1(初等微積分)、離散數(shù)學(xué)

          大一下:數(shù)字邏輯、數(shù)據(jù)結(jié)構(gòu)、匯編語(yǔ)言、面向?qū)ο缶幊?Java/C++)、高數(shù)2 、線(xiàn)性代數(shù)

          大二上:軟件工程、數(shù)據(jù)庫(kù)、Java/Python Web開(kāi)發(fā)、組成原理

          大二下:操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、系統(tǒng)級(jí)編程(CSAPP)

          大三:軟件測(cè)試、軟件安全、課程設(shè)計(jì)、密碼學(xué)、圖形學(xué)等選修方向

          大四:實(shí)踐、畢設(shè)、實(shí)習(xí)

          另外,還有最大的問(wèn)題就是OS、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等 CS 核心課程上成了文科!缺乏一些動(dòng)手實(shí)踐 Lab,大部分都是寫(xiě)實(shí)驗(yàn)報(bào)告,就是不寫(xiě)代碼。

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

          我覺(jué)得和他們 CS 強(qiáng)校的教育模式有關(guān)。

          國(guó)外,尤其是美國(guó),很多高校 CS 教育極其注重實(shí)踐,國(guó)內(nèi)也就清北復(fù)交浙等少數(shù) TOP 學(xué)校有少量的實(shí)踐教學(xué),其它大部分是念 PPT,課后作業(yè)就是做 Word 項(xiàng)目。

          因?yàn)楹芏嗬蠋熥约阂膊粫?huì)編程.... 更沒(méi)法設(shè)計(jì)那些硬核的實(shí)驗(yàn)和輔助教學(xué)平臺(tái),不會(huì)編程的人教你編程......這結(jié)果能好么。

          就拿我自己來(lái)說(shuō),學(xué)校好歹也是個(gè) 985 吧,我上了三周的 Java 課,愣是沒(méi)聽(tīng)懂在講啥,最后看了幾個(gè)尚學(xué)堂高琪的視頻幾天就入門(mén)了....

          再來(lái)說(shuō)美國(guó)為什么有強(qiáng)大的基礎(chǔ)軟件能力吧,這得益于他們的高校在培養(yǎng)學(xué)生造輪子的能力。

          比如國(guó)外是如何學(xué)習(xí)數(shù)據(jù)庫(kù)的?

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

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

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

          HeapFile、SeqScan、BufferPool等。

          國(guó)內(nèi)數(shù)據(jù)庫(kù)教什么?

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

          更有甚者實(shí)驗(yàn)就是安排用 Java 使用 JDBC 連接MySQL 寫(xiě)個(gè)應(yīng)用。。。

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

          手寫(xiě) TCP!

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

          img

          國(guó)內(nèi)是怎么教的?

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

          國(guó)內(nèi)大作業(yè)是什么?

          有些是 Word 寫(xiě)報(bào)告。。。有些是讓你用一下 socket api 寫(xiě)個(gè)網(wǎng)絡(luò)程序。。。好吧,其實(shí)會(huì)用 socket 的也挺不錯(cuò)的,最關(guān)鍵是有些直接讓你寫(xiě)個(gè)爬蟲(chóng)、HTTP 服務(wù),就算是使用了網(wǎng)絡(luò)協(xié)議了。。。

          這是計(jì)算機(jī)網(wǎng)絡(luò)原理嗎?

          國(guó)外是如何教 操作系統(tǒng)的?

          比如 MIT 6.828,現(xiàn)在改名了。

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

          國(guó)內(nèi)是如何教的?

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

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

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

          大多數(shù)高校老師升職不靠教學(xué),所以大家都沒(méi)把心思放在教學(xué)上,做“研究”發(fā)論文,不香么。

          設(shè)計(jì)這么多麻煩的實(shí)驗(yàn)不是給自己找麻煩么

          弄個(gè) PPT、Word 多爽呀

          這個(gè)現(xiàn)象我估計(jì)還會(huì)一直持續(xù)下去,老實(shí)說(shuō),跟著學(xué)校的路線(xiàn)走,學(xué)計(jì)算機(jī),大概率畢業(yè)即失業(yè)。

          給大家列舉一個(gè)我做過(guò)的國(guó)外老師設(shè)計(jì)的實(shí)驗(yàn)吧:

          模擬實(shí)現(xiàn) TCP 可靠傳輸?shù)?/strong>

          人家老外老師就是給力,直接做了一個(gè)網(wǎng)站,這個(gè)網(wǎng)站你可以通過(guò) TCP 連接上去,然后你需要?jiǎng)?chuàng)建幾個(gè)節(jié)點(diǎn),互相發(fā)消息。

          他們之間的消息都會(huì)經(jīng)過(guò)老師的網(wǎng)站所以通過(guò)網(wǎng)站上是可以控制丟包率的,也能控制節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu),要求就是讓你基于這種不可靠的信道,做出可靠數(shù)據(jù)傳輸!

          這簡(jiǎn)直就是翻版 TCP 嘛,超時(shí)重傳、ACK、滑動(dòng)窗口啥的都給我安排上!

          就是像下面圖中一樣,圓圈就表示你可達(dá)的范圍,不同節(jié)點(diǎn)形成各種網(wǎng)絡(luò)拓?fù)洌梢哉{(diào)節(jié)網(wǎng)絡(luò) 丟包率 Loss chance。

          設(shè)計(jì)這些東西、實(shí)驗(yàn)系統(tǒng)、自動(dòng)化測(cè)試評(píng)分系統(tǒng),肯定需要花費(fèi)老師大量時(shí)間精力,但是有沒(méi)有帶來(lái)多少升職上的產(chǎn)出,當(dāng)然沒(méi)動(dòng)力去搞啰。

          反正吧,學(xué)計(jì)算機(jī)最好不要全部去跟著學(xué)校學(xué),除非你學(xué)校很好,不然大概率畢業(yè)即失業(yè)。


          當(dāng)然,說(shuō)了這么多問(wèn)題,也是有長(zhǎng)處的,這里引用知乎一位答主邦彥的總結(jié):

          最后,附上這個(gè)回答下的一些評(píng)論:

          鄭重申明

          本文非崇洋媚外,吐槽只針對(duì)部分高校的現(xiàn)象。

          像清華、哈工大、南大就有非常不錯(cuò)的課程,也在積極像 MIT、Stanford 學(xué)習(xí),畢業(yè)的時(shí)候已經(jīng)有自己造的編譯器、OS、數(shù)據(jù)庫(kù)等等,并且均使用 docker 和 gitlab CI 解決環(huán)境和自動(dòng)化測(cè)試問(wèn)題。-- 來(lái)自評(píng)論區(qū)

          但是這樣的學(xué)校有點(diǎn)少,希望國(guó)內(nèi)能有更多高校計(jì)算機(jī)教育模式能夠早日跟美帝等 CS 強(qiáng)校接軌。培養(yǎng)更多基礎(chǔ)扎實(shí)、編程能力強(qiáng)的學(xué)生,助力操作系統(tǒng)、數(shù)據(jù)庫(kù)等基礎(chǔ)軟件、工業(yè)軟件的發(fā)展。


          你好,我是公子龍,畢業(yè)于中科院,前大型計(jì)算機(jī)競(jìng)賽冠軍,現(xiàn)算法工程師,拿過(guò)九家大廠的 offer 。


          北漂七年,從小白到計(jì)算機(jī)競(jìng)賽冠軍,讀研時(shí)通過(guò)實(shí)習(xí)和比賽收入 50 萬(wàn),點(diǎn)擊藍(lán)字查看我的編程之路


          同時(shí),我也是 b 站 up 主:公子龍龍龍,日常分享高質(zhì)量資料,輸出面試、工作經(jīng)驗(yàn),歡迎圍觀。


          瀏覽 50
          點(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>
                  狠狠狠久久久 | 操逼麻豆传媒 | 竹菊影视一区二区三区 | 操逼视频d3tt.s8 | 国内内射在线 |