網易公開課《計算機科學導論》簡評

哈佛上課的感覺就是高大上。男老師不去脫口秀實在是屈才了,能夠以那麼快的語速毫不打絆的講課,顯然是經過精心準備的。首先上來就是講授一種計算機的思維方式—折半查找。然後講了一下這門課的內容。令人驚訝的是竟然有大約50個的以前上過門課的人來充當輔導老師的角色,幫助大家完成任務。這十分罕見。一般一門300人左右的課,大約有5到6個助教就夠了,看來這個老師的魅力還是很不錯的。
這門課是導論性質的課程,基本認爲你對計算機的瞭解僅限於開機關機。講的內容都比較淺顯,而且是具有啓發性質的,比如:
如果郵箱可以對電子郵件進行排序,那麼你期望的準則是什麼?比如基本的數據恢復原理?還有就是通過僞代碼來做遊戲,體驗程序設計的基本思想,順序,選擇,循環。
等到真正開始編程了,使用的既不是C也不是JAVA,而是一個MIT開發的基於圖形編程的語言,將一個一個控件組合起來形成程序,而且能夠通過命令直接將圖片移動、翻轉等等。它的好處在於:1跳過了變量、函數、定義、聲明、數組甚至指針那些編程語言的細節問題,而着重體現了編程思想:順序、選擇、循環;2.能夠對圖片進行操作,也提供了豐富的接口,可以很快上手做一些類似於仙劍之類的2D遊戲,趣味性很強。
剩下的幾講還是回到了C語言,hello world,介紹了了基本變量類型和if、while、do……while和for。亮點不是很多,其中之一是封裝了一個課程使用的庫,包括getString、getInt之類,便於人機交互。還有就是在C99之前,是沒有bool類型的,這點我也是今天才知道。當時讀TCPL時,竟然沒有發現。
還有就是上課真的是老師拼了命的講,幾乎不管你有沒有聽懂。很多基礎的東西都沒講,就開始講排序了,而且冒泡排序,選擇排序和歸併排序都講了。雖然是基本思想,但是估計學生們的作業中少不了代碼實現。有一些複雜的東西也是沒有講的,比如指針數組,指針函數,函數指針,位域等等。
大概課程的一半左右,就結束了C的講解,轉到了網絡編程。給人的感覺並不是培養“計算機科學家”,而是在培養碼農。簡單的講了HTML,然後就是PHP,然後是javascript,利用Google earth的API,實現了一個小的遊戲。總之就是忽略底層細節,儘可能的作出一個小玩意來。我沒有看到他們的練習題,從上課的感覺來講,應該是大的框架都已經搭建好了,你只需要網上填代碼。但是課程的期末考試確是小項目,從創意到代碼實現都是你自己的小團隊自己做的。
其實我感覺對於毫無編程經驗的人而言,這個難度還是有點大的,要麼上哈佛的都是天才,要麼就是歸功於一個講課的老師背後龐大的輔助團隊。這門課的顧問,就是大名鼎鼎的Brian W.Kernighan,沒錯就是K&R的第一作者(據說此人之前就是教這門課的)。其次,是教師反覆提到的助教(他們有一些是之前上過課的學生),對同學的問題作出課詳盡輔導。我覺得這是一個絕佳的注意,就是當你聽過這門課,覺得不錯以後,可以投身它,再幫助別人學習這門課,這是一種文化的傳承。怎麼說呢?有點像“豪門底蘊”的感覺。(他們還經常舉辦相關的聚餐活動,還有這門課的T恤之類的商品。)相反,咱們國家的這種大課,往往是樹倒猢猻散的感覺。老師教的累(因爲人多,所以作業量大,答疑多),學生學着也沒興趣(缺少針對性的輔導)。這是值得反思的地方。
還有就是哈佛的名聲實在太大了。儘管上這門課的是大一大二的新生,一般而言是不具備編寫工業級別的代碼,也不瞭解相關的算法、硬件、網絡知識的,但是很多企業都會與這門課程合作,辦一些小的推廣、實習活動。說不定這些新生裏面,就有下一個Brian W.Kernighan呢?
發佈了276 篇原創文章 · 獲贊 110 · 訪問量 166萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章