【為什麼我們挑選這篇文章】哈佛有門超級狂的程式課「CS 50」把傳統程式課,當成線上課程在教,學生不用到課堂上點名的。台灣資工系學生看完這篇大概要羨慕死了,原來傳統大學教育,還是可以持續創新。
本文由在哈佛大學就讀教育學院碩士班的 Alice Yang,在粉絲專頁哈佛姐的不正經學術之旅上所分享的哈佛大學創新教育觀察。(責任編輯:張瑋倫)
作者/Alice Yang
最近,哈佛校園裡流傳著這樣一句話:「如果你沒聽說過 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 的前幾堂課程,實際出席率往往較高,但是隨著課程的進行,選擇線上觀看課程的比例明顯增加,2015 年的統計顯示,出席第一堂課的比例高達 8 成,但到了最後一堂只剩下不到 2 成。
分析原因發現,由於線上課程有各種功能(暫停、重播、快轉),學生可以依照自己不同的學習曲線調配,同時有不懂的觀念也可以隨時搜尋到相關影片。即使沒有出席現場課程,從作業的成績分布也可以看出,線上課程的效果幾乎和實體課程差不多,甚至在某些時候,同學們反應透過線上可以得到最即時、也最有效率的學習支援!(延伸閱讀:Hahow 掀起的線上講座革命)
最「狂」的 Office Hour
程式語言的 office hour 竟然不是在電腦教室?是的,你沒有看錯,CS50 office hour 舉行的地點是 Annenberg Hall,這個餐廳是只有哈佛大學部,而且是大一新生才可以進去的餐廳──是不是覺很像哈利波特電影裡的場景呢?
CS50 除了每週的 lecture 外,還有固定的 section 和 office hour,學生們可以聚在一起討論問題,office hour 的時間也非常配合大學生的作息,從晚上 9 點一直延續到半夜。數百位年輕大學生聚在一起解 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 的大學部學生──Anita,跟她聊起修課經驗,她說:「我感覺修 CS50 課程的那個學期,整個課表上好像只有那堂課!……而每天起床到睡覺,我都覺得必須要打開電腦寫作業不可!」。
她滔滔不絕地談起課程的各種艱辛,但接著又說,修 CS50 是她在哈佛大學最美好的修課經驗。一堂不只是程式語言的課,更教會你時間管理、決策和團隊合作的重要性,Fiona 說起期末考前,和同學在深夜的 dining hall 面對數萬行程式碼的奮戰,終於找出 bug 的那一瞬間,她真的覺得“I feel like I discover a whole new world!”
“This is CS50"and……"Welcome , to Harvard!”
(本文經合作夥伴換日線授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈哈佛大學最「狂」的一門課──「如果你沒聽過 CS50,請別說你讀過哈佛」〉。)
延伸閱讀
工程師要從小養!哈佛 Coding 機器人教 5 歲小孩寫 Java
我想成為前端工程師!這 21 個程式設計網站你就絕不能錯過
迎接未來最搶手的職業,Udacity 聯合 Benz 推出線上「無人駕駛車」課程
前沿趨勢.科技生活
《科技報橘 TechOrange》渴求創新無極限!
加入 TechOrange 粉絲團,產業趨勢、精闢觀點不漏拍。