還記得大學時期讓大家叫苦連天、怨聲載道的「硬課」、「大刀課」是哪些嗎?相信「計算機概論」這堂課應該也會被大家點名。修過的朋友現在回頭想也許你會認為不難,但對於大多數從未接觸電腦科學、從沒寫過程式的大學新鮮人來說,這堂課肯定不是淺顯易懂派的。至於同學們會去選修硬課的原因只有一個,那就是這堂課很不幸的正好是系上必修課。

然而一樣的計算機概論「硬」課,在美國哈佛大學叫做「CS50」,課程內容一樣硬、功課不但難還超多變化,這學期選修人數卻超過了 800 人!究竟 CS50 魅力何在?

哈佛最夯的課:CS50

cs50_hall

CS50Introduction to Computer Science)是一堂美國哈佛大學自1989年開始教授的計算機概論課,即使在網路科技起飛的2002年,走在時代尖端的哈佛大學選修這堂課的人數一樣慘兮兮,低於100人。

家喻戶曉的 Facebook 創辦人Mark Zuckerberg曾在2005年受邀到CS50課堂上擔任客座講師,當時約有120人選修CS50,只有20多個學生到場聽Mark Zuckerberg分享他創辦Facebook的經驗談。

CS50課程為期十二週,一週上課兩次,一次一小時。上課內容從最基本的二進位、ASCII、演算法、偽代碼、C 語言語法及應用、排序法、哈希表等,到 TCP/IPHTTPHTMLCSSPHPSQLJavaScriptAjax,一直到網路安全性(Cybersecurity);不但將電腦科學裡最重要的基礎都帶了一次,還會結合歷史和新聞時事來講授,對初學者來說,內容是滿有分量的。

 

哈佛大學電腦科學系前任系主任Harry Lewis曾形容CS50這堂課「is not an easy course不是堂簡單的課」、「a correct reputation as being a lot of work出名的功課重」。這樣惡名昭彰的硬課,如今卻打敗以往最熱門的經濟學概論,818名大學部學生選修的驚人數字,成為常春藤聯盟大學裡最受歡迎的選修課,其原因有二:

一是趨勢所致:電腦科學可以說是現在最夯的學科,畢業後工作穩定、薪水高。

二是授課教授 David Malan 跟他強大的 TA 軍團。

cs50-staff

CS50 變得如此精彩的成功領袖:David Malan絕對是每個人夢寐以求的明星老師!幽默風趣、親切活潑,當然也有一點nerdy(書呆樣)。David Malan 喜歡在課堂上用影片、道具來講解一些計算機原理;而且為了幫助學生們理解,幾乎每堂課都會找學生上台做示範。

David 用燈泡來講解二進位表示法,並請學生們上台參與課堂練習:

cs50_binary1 

上台的同學通常還可以得到小小的CS50紀念品,像是CS50壓力球、3D列印的 CS50大象擺飾品、CS50手機座等;有時David Malan還會把拿來做示範的檯燈送給學生,所以後來大家看到David的講桌上擺著檯燈都會很興奮,一堆人搶著舉手示範。

cs50_binary2

接下來是功不可沒的CS50 Staff」,也就是曾經修過CS50的學長姐們自願回來擔任這堂課的助教或助手。對於這些幕後功臣,稱為「TA 軍團」,軍團裡每個人都有不同的專長、各司其職,整個CS50 網站都是由David MalanTA軍團們架構跟維持。有些人協助 Office Hour 的教學;有些人主持90分鐘的「課外課」,讓學生們自由參加,稱作 Sections;有些人拍攝小短片來講解課堂上簡略提過的觀念,稱 Shorts ;有些人則是擔任後製,幫忙放音樂、拍攝影片、錄影、照相等;今年有一名 TA DJ 會在課堂前後放音樂,還有一位TA專門幫大家做課堂筆記(Notes... 說是「軍團」一點也不為過吧!

2014 CS50 Staff 小短片:

 

而且隨著學生越來越多、TA 軍團越來越強大、課堂上的設備也越來越先進。有超大的觸控螢幕取代以往的白板,還有Google GlassMYO Armband等最新科技產品當作道具,讓大家開開眼界。

幾年前,有次上課David Malan教大家寫PHP來發簡訊,用CS50全部學生的資料庫,有大家的名字、手機號碼、還有電信公司,示範寫一個迴圈,讓程式去抓第一位學生的資料並傳送簡訊、抓第二位學生資料並傳送簡訊、重複這個迴圈,直到資料庫裡的第一名到最後一名學生都收到一封示範簡訊。

由於當天出席率剛好不太高,可愛的David於是出了個主意,決定將這封發給全部CS50學生的簡訊內容改成:Why aren't you in class

原本應該是挺好玩的,不過程式出了點小bug,迴圈沒有寫好,變成資料庫上第一位學生會收到一封簡訊、第二位學生收到兩封簡訊、第十位學生收到十封簡訊 ...

結果當天沒來上課又排在資料庫後面的同學,收到了幾十封「奪命連環 text」,缺席的同學都快嚇死了!當天晚上David跟助教信箱裡收到好幾封長長的「懺悔信」,信裡表示今天實在是有急事在身、不得不翹課,以後絕對會乖乖出席 ...

特別活動

CS50 Hackathon 駭客松

 

每年在接近期末的時候,會舉辦一次CS50 Hackathon(駭客松),從晚上七點到隔天早上七點,參加的學生要為自己的期末報告(Final Project)訂下目標,利用這個活動跟大家齊聚一堂,各自為期末報告熬夜趕工,DavidTA軍團們則會在場協助大家,而且還免費供應披薩、三明治、飲料讓大家補充體力。這場活動成為許多人修完CS50最棒的回憶!

2013 CS50 期末展覽會:

  

CS50 課程最後一天則是期末展覽會,每位CS50學生都會到場,在電腦上展示自己的期末報告,可能是一個遊戲、一個APP、一個網站、或是好用的程式。除了CS50的學生跟家人朋友以外,哈佛大學及其他大學的教授們也會來參觀,還可能會有業界人士來挖掘人才,是一個交流表現的好機會。

Guest Lecture 客座演講

每年CS50都會在期末前邀請一位哈佛校友/科技名人來演講,給學生們一些「內行人」的意見,2005年邀請的是 Mark Zuckerberg2014年則邀請剛從Microsoft 卸任CEOSteve Ballmer來演講。值得一提的是,Steve Ballmer來擔任客座講師之後,捐了約6000萬美金給哈佛大學電腦科學系,希望能聘請更多的教授、吸收更多的學生,擴展哈佛大學在電腦科學領域的版圖。

Steve Ballmer還拍了一段「推銷 CS50」的影片,跟以前他推銷Windows 1.0的影片對照看更有趣:

 

David MalanTA軍團的用心帶領下,CS50對學生來說不只是一堂課,更是一個社群、一個大家庭。也難怪從2007David接手CS50以來,選課人數從200多人攀升到今年800多人的盛況。

CS50 2014 回顧影片:

 

你也能修 CS50

最重要的是,CS50的一切資源都開放給全世界,你可以到 edX平台上選修這堂課,修完還可以拿到免費的學習認證,或是付費取得edX跟學校認證的證書。不在乎證書的話,現在就可以直接上 CS50 網站觀看今年的上課影片,或是跟著大家一起「開課」,下一次的開課日期是20159月。

CS50 網站上應有盡有、超級完善,每堂課進行HD現場直播,沒跟上直播的朋友也不用擔心,上課影片都會放在網站上,並且精心後製過,有片頭、片尾小影片、逐字稿、投影片、程式碼、還有課堂筆記供大家下載,超棒的吧!非常推薦大家好好利用CS50提供的資源。

cs50_lecture

沒經驗?沒關係!

這種讓人心生恐懼的硬課,很多人會擔心自己沒經驗、沒背景,擔心功課應付不來。對於有這些疑慮的朋友,首先要搬出David Malan會在第一堂課對學生們說的話:「選修CS50的學生平均100個人有78個人對電腦科學一點經驗都沒有。」

所以如果你是那屬於那78個人,完全不用擔心,你和其他77個人在同一個起跑點上;對於其他對電腦科學有經驗的22個人,也不要覺得這堂課無聊,這堂課有適合不同程度學生的作業,學生可以按照自己的學習狀況來選做普通版本或駭客版本Hacker Edition

一名巴西的高中生Gabriel Guimaraes在網路上無意間發現了CS50這堂課,立刻沈迷其中,花三個星期把一學期的課全部上完,而且想把這麼棒的課介紹給其他的學生,於是他寫信給David Malan,希望能使用CS50的資料,並翻譯成葡萄牙文,放到他的網站「CC50」上,提供其他巴西學生使用。最後他還親自下場教課,將他教學的影片放在網站上。

你能猜到Gabriel Guimaraes現在在哪裡唸書嗎?沒錯,他去年進了哈佛大學,對於這種企圖心強、實踐度高的學生,哈佛當然是二話不說立刻收囉!而且Gabriel 還加入了CS50 TA軍團,繼續壯大軍團的聲勢。

cs50_gabriel-guimaraes

由於CS50實在太受歡迎,耶魯大學已經決定放下兩校百年來的鬥爭,上個月宣布將哈佛的CS50引進耶魯校園,讓所有的耶魯學生明年也能選修!CS50簡直是帶來和平帶來愛啊。

David Malan 在課堂上宣布這個消息:

 

如此的好課,真心推薦對電腦科學有興趣的初學者修 CS50。跟著上課其實不難,老實說還是個非常愉快的過程,一小時的課程當然教材會有點濃縮,尤其到了後期,可能會沒辦法吸收大量的資訊,建議大家搭配 TA們的教學短片一起看,可以有效幫助你理解上課無法仔細講解的部分。

CS50作業倒是滿多的,有些也不太簡單。希望大家都可以連同作業一起跟著完成,扎扎實實的上完這 12 個星期的課,一定會非常有收獲!說不定會因此改變你的職業規劃喔!

轉載自 inside

 

    全站熱搜

    Win Driver Blog 發表在 痞客邦 留言(0) 人氣()