【 Hahow 故事】如果你沒聽過 CS50,請別說你讀過哈佛!

全文

【 Hahow 特派員 - 哈佛姐的不正經學術之旅】,目前正於哈佛就讀的 Hahow 團隊夥伴!藉由在外的生活學習,以文字記錄全美最高學術殿堂中,各種課堂上絕對學不到的事:關於人、關於記憶、關於分享。這次由她帶你進入哈佛最狂的一堂 CS50 課程,超越你對課堂的認知極限!

如果你沒聽說過 CS50,那麼,請不要說你讀過哈佛。CS50 可以說是我在哈佛見識過最「狂」的課,沒有之一!也許有一天,哈佛最有名的不再會是 John Harvard 雕像,而會是這堂超越所有課堂極限的知識體驗。現在就讓我們來看看這堂課究竟有多「狂」:


最狂的上課地點

對一位異地學生而言,光是坐在哈佛大學最有名的 Sanders Theatre 上課,就已經值回票價了!還記得大約是一年前,在 edX 上看到 CS50x 的課程影片,一堂程式課程竟然可以進化到像是看大型表演劇作般的設置,令人感到不可思議!而真正的震撼還是要回到第一次踏入 Memorial Transept,與數百名哈佛大學部學生一起走入 Theatre 的那個瞬間。

教授 David J. Malan 真實的出現在眼前,為了解釋二分法的場景將電話簿撕成兩半;而我與全世界最聰明腦袋的大學生並肩坐在台下,兩眼聚精會神的看著台上教授的神情,我感受到的,是一種躍然於電腦屏幕之上的生命力。

這不僅僅是一間教程式語言的教室,而是一間有趣的大型教學實驗室!透過聲光、透過歌舞、透過各式各樣的互動,所產生與程式之間的篇篇對話,再經由失敗、嘗試,和無數個不眠的夜晚,所共同寫下由 0 和 1 組合而成的符碼青春歲月走廊。

最狂的上課型態

如果你只把堂課重點放在每週 Sanders Theatre 的 lecture,那就大錯特錯了!教授的課程大綱中清楚點明了「選修這堂課的同學,只要現場出席第一堂和最後一堂課,其他的 10 堂課都可以在線上收看!」。

所以如果你收看任何今年錄製的 CS50 課程影片,會發現台下並沒有任何學生!糊塗如我更曾因為搞錯時間,亂入進到了課程拍攝的時段,不過也因此有機會見識到 CS50 拍攝的後台秘辛,一堂課程的拍攝絕對不僅僅是講座的側錄,光是現場,就有超過 6 台攝影機從不同角度拍攝,還有專業的燈光、音效組,同時更讓我佩服的是教授的講課功力,非常具有張力的表演和互動,實在很難想像講台底下竟然如此空蕩!

▲ 陣容浩大的拍攝團隊 CS50 課程拍攝現場直擊!


最狂的課程規定

想要同時間上很多課程,你不需要妙麗的神奇沙漏,CS50 特殊的上課型態,讓學生可以在 CS50 表訂的上課時間(每週一和每週三),同時選其他的課,滿足你的求知慾望。

根據往年的統計發現,學生在 CS50 的前幾堂課程,實際出席率往往較高,但是隨著課程的進行,選擇線上觀看課程的比例明顯增加,2015 年的統計顯示,出席第一堂課的比例高達八成,但到了最後一堂只剩下不到兩成。分析原因發現,由於線上課程有各種功能(暫停、重播、快轉),學生可以依照自己不同的學習曲線調配,同時有不懂的觀念也可以隨時搜尋到相關影片。即使沒有出席現場課程,從作業的成績分布也可以看出,線上課程的效果幾乎和實體課程差不多,甚至在某些時候,同學們反應透過線上可以得到最即時、也最有效率的學習支援!(延伸閱讀:Hahow 掀起的線上講座革命

▲ 2015 年 CS50 出席比率統計


最狂的 Office Hour


▲ CS50 深夜食堂的 Office Hour

程式語言的 office hour 竟然不是在電腦教室?是的,你沒有看錯!CS50 office hour 舉行的地點是 Annenberg Hall,這個餐廳也是只有哈佛大學部、而且是大一新生才可以進去的餐廳!是不是覺很像哈利波特電影裡的場景呢?

CS50 除了每週的 lecture 外,還有固定的 section 和 office hour,學生們可以聚在一起討論問題,office hour 的時間也非常配合大學生的作息,從晚上九點一直延續到半夜!數百位年輕大學生聚在一起解 code 的場景,真的不是一般人可以常常見到的!或許未來的 Mark Zuckerberg 正隱身在其中呢!(延伸閱讀:不只畢業生,每一位還在人生中學習的你都該知道的事


最狂的教學陣容

哈佛的課程除了教授精心安排的課程之外,課程助教的配置也是讓課程增添精彩的要角。CS50 助教和學生的比例是1:12 ,以今年(2016年) 636 位學生來算的話,竟然就有多達 53 名的助教!助教時間也是課程非常重要的一部份,課程也會依照程度分成 ”more comfortable” 、 ”less comfortable” 和 ”somewhere in between” 來安排上課。

這些助教們也是大有來頭,他們都是修過 CS50,同時還是現役的哈佛大學部學生!從課堂上,你不難看出哈佛學生對於 CS50 的熱愛,在校園中穿梭,時不時就會看到有人穿著「I took CS50」的衣服。


最狂的功課量

"work hard, play hard"

這句話最能代表 CS50 修課學生的心聲,在享受各種 Puzzle Day、Hackthon、CS50 Fair、CS50 Lunch、Holiday Party…之餘,還是得面對現實,解出一行行的程式碼。根據統計結果,修課學生平均需要花上 15 個小時才能完成作業,如果扣除週末不算,一天至少需要花上 3 小時!

由此可見這堂課所涵蓋的知識含量甚廣,課程內容包括抽象化 (abstraction)、 演算法 (algorithms)、資料結構 (data structures)、封裝 (encapsulation)、資源管理 (resource management)、資訊安全 (security)、軟體工程 (software engineering) 以及網路開發 (web development),還有各種程式語言介紹:C、Python、SQL、JavaScript、CSS、HTML,都包含在 12 週的課程內!

▲ CS50 修課學生平均完成作業每週花費時間


最狂的哈佛歲月

曾遇過一位已經修過 CS50 的大學部學生 — Fiona,跟她聊起修課經驗,她說:「我感覺修 CS50 課程的那個學期,整個課表上好像只有那堂課!⋯⋯ 而每天起床到睡覺,我都覺得必須要打開電腦寫作業不可!」。

她滔滔不絕地談起課程的各種艱辛,但另一方面她認為修 CS50 是在哈佛大學最美好的修課經驗!一堂不只是程式語言的課,更是教會你時間管理、決策和團隊合作的重要性,Fiona 說起期末考前,和同學在深夜的 dining hall 面對數萬行程式碼的奮戰,終於找出 bug 的那一瞬間,她真的覺得 " I feel like I discover a whole new world! "

"This is CS50" and… "Welcome, to Harvard!"

看完 CS50 的介紹後,你是不是也想和哈佛大學生修一樣的課?其實 2012 年開始,你就可以在 edX 上學 CS50 囉!
如果覺得門檻還太高,別擔心!Hahow 哈佛特派員為你準備好了「初心者的計概與 coding 火球術」課程,絕對讓你打好上 CS50 的最佳基礎!



  • 註一:CS50 全名是 Computer Science 50: “Introduction to Computer Science I.”,哈佛大學今年有 636 位學生選修CS50,今年已經邁入教授 David J. Malan 教 CS50 的第十年。
  • 註二:Sanders Theatre 一般不對外開放,如果想要入內參觀可以參考公演時間,或是可以考慮平日中午 12 點到 6 點參觀 The Memorial Transept
  • 統計資料:來源一來源二
  • 照片資料:來源

留言