當前位置:首頁 > 公眾號精選 > 小林coding
[導讀]我在逛知乎的時候看到一個問題:隨手寫了個回答,沒想到很多讀者都表示說出了心聲,所以也同步發(fā)到公眾號。以下是原回答我自己是CS科班的,讀者里也有很多各大高校計算機的同學,覆蓋了上交、北郵、南郵、華科、川大、普通一本等等,根據(jù)他們反饋,總結了以下幾點:上課耽誤學習,不上課考勤扣分,拿...

我在逛知乎的時候看到一個問題:

隨手寫了個回答,沒想到很多讀者都表示說出了心聲,所以也同步發(fā)到公眾號。

以下是原回答

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

  1. 上課耽誤學習,不上課考勤扣分,拿不了高績點,耽誤保研出國。不多說,懂的都懂哈哈。

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

  1. 占了很多時間,但是效果卻不如自學,上課基本是放 PPT,考試內容全在 PPT 上,看書的同學沒有背 PPT 的分數(shù)考得高,沒有人愿意去啃那些大厚書,因為“性價比”太低。

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

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

    順便貼一個匿名回答:

    不過值得表揚的是,我們學校教材基本都是使用全英文黑皮書,比如《計算機網(wǎng)絡:自頂向下》、《深入理解計算機系統(tǒng)》等,這樣的學校我知道有 15 所以上,希望會越來越多~

    對于計算機的學生,最好的資料和書籍是美帝那邊的,因為計算機就是發(fā)源自美帝。

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

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

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

  1. 代碼量太少,很多同學到畢業(yè)估計幾萬行都沒寫到,但是真正想鍛煉出極強的編程能力沒有 10w 很難,這方面作為學生我們也要多反思,為什么平時沒有寫到這么多代碼。

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

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

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

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

大一下:數(shù)字邏輯、數(shù)據(jù)結構、匯編語言、面向對象編程(Java/C )、高數(shù)2 、線性代數(shù)

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

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

大三:軟件測試、軟件安全、課程設計、密碼學、圖形學等選修方向

大四:實踐、畢設、實習

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

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

我覺得和他們 CS 強校的教育模式有關。

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

因為很多老師自己也不會編程.... 更沒法設計那些硬核的實驗和輔助教學平臺,不會編程的人教你編程......這結果能好么。

就拿我自己來說,學校好歹也是個 985 吧,我上了三周的 Java 課,愣是沒聽懂在講啥,最后看了幾個尚學堂高琪的視頻幾天就入門了....

再來說美國為什么有強大的基礎軟件能力吧,這得益于他們的高校在培養(yǎng)學生造輪子的能力。

比如國外是如何學習數(shù)據(jù)庫的?

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

他們的實驗是什么?

是讓你寫個小型關系型數(shù)據(jù)庫,比如 lab1實現(xiàn)數(shù)據(jù)庫基本的存儲邏輯結構,具體包括:Tuple、TupleDesc、HeapPage、

HeapFile、SeqScan、BufferPool等。

國內數(shù)據(jù)庫教什么?

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

更有甚者實驗就是安排用 Java 使用 JDBC 連接MySQL 寫個應用。。。

國外是如何教計算機網(wǎng)絡的?

手寫 TCP!

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

img
國內是怎么教的?

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

國內大作業(yè)是什么?

有些是 Word 寫報告。。。有些是讓你用一下 socket api 寫個網(wǎng)絡程序。。。好吧,其實會用 socket 的也挺不錯的,最關鍵是有些直接讓你寫個爬蟲、HTTP 服務,就算是使用了網(wǎng)絡協(xié)議了。。。

這是計算機網(wǎng)絡原理嗎?

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

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

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

國內是如何教的?

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

當然也有一些學校會有實驗,比如清華 ucore、哈工大 linux0.11、川大也有引入 nachos

這就是為什么美國高校有很強的編碼能力、造輪子的能力,因為他們的CS學生成長環(huán)境就是這樣的。

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

設計這么多麻煩的實驗不是給自己找麻煩么

弄個 PPT、Word 多爽呀

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

給大家列舉一個我做過的國外老師設計的實驗吧:

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

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

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

這簡直就是翻版 TCP 嘛,超時重傳、ACK、滑動窗口啥的都給我安排上!

就是像下面圖中一樣,圓圈就表示你可達的范圍,不同節(jié)點形成各種網(wǎng)絡拓撲,可以調節(jié)網(wǎng)絡 丟包率 Loss chance。

設計這些東西、實驗系統(tǒng)、自動化測試評分系統(tǒng),肯定需要花費老師大量時間精力,但是有沒有帶來多少升職上的產(chǎn)出,當然沒動力去搞啰。

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

當然,說了這么多問題,也是有長處的,這里引用知乎一位答主邦彥的總結:

最后,附上這個回答下的一些評論:

鄭重申明

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

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

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


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉