李建欣等
如何教二分法?撕書
因?yàn)檫x課人數(shù)太多,CS50的上課地點(diǎn)定在哈佛的桑德斯劇院。這個(gè)劇場(chǎng)能坐下1000多人。每堂CS50課,也是控場(chǎng)大師馬蘭的表演時(shí)間。在劇場(chǎng)上課并不輕松。對(duì)坐在后排或者二層的學(xué)生來(lái)說(shuō),他們很難找到在場(chǎng)感,馬蘭必須將這些人的注意力牢牢拽在手中。
2014年的這堂開學(xué)第一課,他準(zhǔn)備了整整一天。
事實(shí)上,除了開場(chǎng)白的刻意停頓,之后整堂課,馬蘭的語(yǔ)速就沒(méi)有慢下來(lái)。他抖出一個(gè)又一個(gè)包袱,沒(méi)有留白,沒(méi)有磕巴;不同環(huán)節(jié)之間銜接緊湊,所有話題轉(zhuǎn)化都平滑流暢。如果你發(fā)愣5秒鐘,已足夠馬蘭打著手勢(shì)從講臺(tái)的這頭走到那頭,并且講完一個(gè)段子。
為了解釋二進(jìn)制,他動(dòng)用了一個(gè)頂著8個(gè)燈泡的道具。道具由CS50團(tuán)隊(duì)制作,用來(lái)展示比特的概念。馬蘭要和學(xué)生們玩?zhèn)€游戲,他說(shuō):我現(xiàn)在需要志愿者。大概“者”字的尾音還飄蕩在劇場(chǎng)中,就有一堆手高高舉起。一名女生幸運(yùn)地獲得了上臺(tái)的機(jī)會(huì)。馬蘭遞給她一個(gè)iPad,上面有一個(gè)小程序能夠與這排燈泡交互。
“請(qǐng)輸入15?!?/p>
女生需要在iPad上點(diǎn)亮對(duì)應(yīng)位置的燈泡,展示二進(jìn)制的15。亮表示“1”,滅表示“0”。她做到了。三盞燈亮起后,裝置閃動(dòng)綠光,在游戲里,這是順利通關(guān)的意思。馬蘭遞給女生一整盒燈泡作為獎(jiǎng)勵(lì),告訴她可以用來(lái)裝飾宿舍。臺(tái)下隨即發(fā)出一陣歡呼——對(duì)于和老師的互動(dòng),臺(tái)下的學(xué)生不吝賜予他們最大的熱情。
為了展示二分法,馬蘭使用了一個(gè)老橋段:撕書。這是他課堂上保留環(huán)節(jié)。在前幾年CS50課上,他叫上一名志愿者,塞給他一本厚厚的電話簿。“我要找Mike Smith?!瘪R蘭說(shuō),“怎么能快速定位到他?”
臺(tái)下有學(xué)生提議說(shuō):從書中間的部分找起。
“沒(méi)錯(cuò)。”于是學(xué)生乖乖地打開電話簿,翻開一半,看向馬蘭。
“現(xiàn)在,把書對(duì)半撕了?!?/p>
拿著電話簿的學(xué)生愣了一下,脫口問(wèn)道:“你是認(rèn)真的?”
在馬蘭的鼓勵(lì)下,學(xué)生撕了三次書。對(duì)好學(xué)生來(lái)說(shuō),撕書這事還是壓力山大。馬蘭的撕法比拘謹(jǐn)?shù)膶W(xué)生瀟灑得多,他會(huì)把書本撕下的部分直接扔到臺(tái)下,仿佛明星拋禮物給粉絲。他用撕書這種直觀的方式告訴學(xué)生,二分法可以將復(fù)雜的問(wèn)題簡(jiǎn)化。
品牌越擦越亮
計(jì)算機(jī)專業(yè)博士生羅伯特?鮑登(Robert Bowden)是馬蘭小組中最為人所知的一員。他是課程的首席教學(xué)助理,只要是上過(guò) CS50課的學(xué)生,對(duì)他就不會(huì)陌生。對(duì)鮑登來(lái)說(shuō), CS50不僅是一門課。它有自己的獨(dú)特氣質(zhì),它還生長(zhǎng)出了自己的獨(dú)特文化。 CS50的教學(xué)團(tuán)隊(duì)很樂(lè)意被這樣一門課所界定身份:他們都有自己的專屬 T恤和運(yùn)動(dòng)衫。
因?yàn)?CS50,鮑登在某種程度上算是名人。 “我走在校園里,人們可能會(huì)說(shuō),看,這是 CS50的教學(xué)人員。我還聽到有人這么跟我的學(xué)生說(shuō), 鮑登是你的學(xué)監(jiān)?我的天,他可是 CS50的?!?/p>
這是一種沉甸甸的榮耀。
CS50的影響力并不僅限于桑德斯劇院,不僅限于每周有限的上課時(shí)間。只能通過(guò)網(wǎng)絡(luò)視頻學(xué)習(xí)CS50的學(xué)生,其最大遺憾大概就是——無(wú)法親身參與CS50種類繁多的其他活動(dòng),比如Puzzle Day。這個(gè)節(jié)日高調(diào)而喧囂。氣球、彩燈、音樂(lè)、還有食物……這一切的組合,讓CS50成為一種流行病毒。只要走在哈佛校園,你就一定能在那天注意到它。你可以在Puzzle Day上正兒八經(jīng)地討論計(jì)算機(jī)問(wèn)題,也可以只是去端著飲料吃些披薩。在Puzzle Day上晃蕩的,除了CS50的學(xué)生,還會(huì)有各大互聯(lián)網(wǎng)公司的獵頭們——Facebook已經(jīng)連續(xù)贊助了Puzzle Day四年。
Puzzle Day需要金主,而科技公司們需要人才。這樣完美的需求契合,使得Puzzle Day成為CS50的傳統(tǒng)項(xiàng)目,也成為工作機(jī)會(huì)的集聚地。贊助名單里的公司,有亞馬遜、佳能、微軟、Facebook……科技公司的老板們趁此機(jī)會(huì),尋找CS50的優(yōu)秀畢業(yè)生,或干脆向CS50的職員們伸出橄欖枝。CS50的品牌效應(yīng),使得學(xué)生們默認(rèn)這是一條能夠通往硅谷的路徑。上完一學(xué)期的課程,然后競(jìng)聘成為CS50的工作人員,也是發(fā)生在這一課堂的常態(tài)。
不過(guò)當(dāng)CS50的員工,并不比當(dāng)學(xué)生更為輕松。因?yàn)轳R蘭,對(duì),就是那個(gè)看起來(lái)親切和藹、毫無(wú)架子的馬蘭,其實(shí)是個(gè)徹頭徹尾的完美主義者。
2014年秋季學(xué)期第一堂課的尾聲,他特意安排的電子音樂(lè)秀出了問(wèn)題。燈光已經(jīng)熄滅,預(yù)期中該點(diǎn)燃全場(chǎng)的音樂(lè)卻卡了殼。問(wèn)題很快修復(fù),而且氣氛依然昂揚(yáng)。這堂課在聲光影的組合中落幕,嚴(yán)肅的桑德斯劇院變身舞池,800人隨著節(jié)奏在座位上扭動(dòng)身體。但馬蘭事后坦言,他沮喪到不行?!拔液?jiǎn)直想死,我本來(lái)應(yīng)該讓它完美地、流暢地結(jié)束?!盋S50官方網(wǎng)站放出的課堂視頻,省略了這個(gè)小小的插曲。
“所有教師都感到,給CS50干活所付出的精力,比其他課程多得多。馬蘭對(duì)課程質(zhì)量有極高的要求?!滨U登說(shuō),馬蘭總給事情定下難以企及的目標(biāo);但如果每個(gè)人都不遺余力去做,又能堪堪達(dá)到他的要求。因此,給馬蘭干活,是榮耀,也是壓力。你得使出渾身解數(shù),來(lái)讓這個(gè)叫做CS50的品牌越發(fā)閃亮。
“我對(duì)哈佛有很深的個(gè)人情結(jié)。它對(duì)我影響太大,定義了我的人生。而近幾年來(lái),毫不夸張的說(shuō),CS50構(gòu)成了我的生活。”因?yàn)閮A注太多,所以馬蘭斤斤計(jì)較課程的每一個(gè)細(xì)節(jié)。甚至在近似嘉年華的Puzzle Day上,他也不曾放松,緊盯活動(dòng)的所有環(huán)節(jié)。他沒(méi)有在活動(dòng)上出場(chǎng),甚至也放棄了發(fā)言。他就站在熱鬧人群的幾英尺之外,以幕后掌控者的姿態(tài),觀察這個(gè)他一手創(chuàng)辦的節(jié)日。
2014年登頂新生報(bào)名最多課程
“公平講,馬蘭幾乎是重新改造了CS50?!彼囊晃粚W(xué)生如此評(píng)價(jià)。
CS50其實(shí)開設(shè)于1989年,1990年代,選課人數(shù)基本徘徊在200人左右?;ヂ?lián)網(wǎng)泡沫破滅后的2002年,人數(shù)下跌至不足100人。馬蘭接手后8年間,選課人數(shù)一直穩(wěn)步上升,直到攀到頂峰——800多人。馬蘭在哈佛就讀期間選了這門課,那是1996年。當(dāng)時(shí)的任課老師是現(xiàn)在的普林斯頓計(jì)算機(jī)科學(xué)教授布萊恩?克尼漢(Brian W. Kernighan)。CS50改變了馬蘭的人生軌跡。在那之前,馬蘭給自己設(shè)計(jì)了步驟嚴(yán)密的人生規(guī)劃。他一心想著進(jìn)入政府走上仕途,選修CS50也曾讓馬蘭糾結(jié),他并非理工專業(yè)出身。不過(guò)克尼漢用了“及格/不及格”的打分機(jī)制,馬蘭不用擔(dān)心這門課程會(huì)影響到他的GPA。
感謝克尼漢教授,讓馬蘭來(lái)到了計(jì)算機(jī)的世界。然后,他愛(ài)上了計(jì)算機(jī)。因?yàn)镃S50,馬蘭的人生方向開始不回頭地向計(jì)算機(jī)拐去。他轉(zhuǎn)變了人生重心。后來(lái),馬蘭去劍橋大學(xué),完成了碩士和博士學(xué)業(yè)。從那之后,馬蘭再?zèng)]有離開哈佛。2007年,他成為CS50的任課老師。
從此,故事開始了。
CS50絕不是大學(xué)里讓人喜聞樂(lè)見(jiàn)的那類活少分高的課程。它難度高、任務(wù)重,無(wú)怪乎CS50配備了陣容龐大的助教隊(duì)伍,每周有四天的時(shí)間,這些師兄師姐們會(huì)在辦公室等待CS50新人前來(lái)求助,為他們提供一對(duì)一貼心輔導(dǎo)。據(jù)馬蘭統(tǒng)計(jì),78%的選課者都表示他們之前毫無(wú)計(jì)算機(jī)基礎(chǔ)。但幾乎所有學(xué)生都會(huì)在課程結(jié)束后完成蛻變——如果他們想要及格的話。他們會(huì)做出一款功能復(fù)雜的游戲,一個(gè)可以交互甚至能夠風(fēng)靡全校的網(wǎng)站,或干脆造出一個(gè)新鮮的裝置。Facebook上,CS50課程群組里,已有近65000名成員,人數(shù)已經(jīng)超過(guò)了很多大學(xué)的學(xué)生總和。
有人問(wèn)馬蘭,CS50為何能有超高人氣?馬蘭回答,擺在第一位的,是教好計(jì)算機(jī)。他常常思考,要給學(xué)生創(chuàng)造一種怎樣的體驗(yàn)。這種體驗(yàn)應(yīng)該與傳統(tǒng)的計(jì)算機(jī)教學(xué)截然不同,它不能枯燥無(wú)聊,也不能生拉硬扯。他嘗試著在班級(jí)中創(chuàng)造一種文化,這種文化讓學(xué)生能心甘情愿地為課程付出時(shí)間和精力。只有真正的付出,學(xué)生才能順利進(jìn)入一個(gè)他們此前毫不熟悉、高門檻領(lǐng)域。因此,馬蘭要對(duì)課程進(jìn)行精心設(shè)計(jì)。他要激發(fā)學(xué)生的好奇心,要挑逗他們,引誘他們,吸引他們,刺激他們,他們會(huì)為課程興奮,為自己掌握的知識(shí)感到不滿足。然后,馬蘭就可以順理成章地對(duì)學(xué)生提出更高階的要求。
你們彼此連接,你們并不孤單,你們共同屬于CS50的大家庭——這是馬蘭極力傳達(dá)的理念。
2012年,馬蘭把課程的視頻放上了在線開放式課程網(wǎng)站edx,得到了來(lái)自全世界的更多學(xué)生。順應(yīng)學(xué)生的需要,馬蘭團(tuán)隊(duì)在Facebook上建立了CS50的官方小組。他利用各類學(xué)生們已經(jīng)熟悉的社交網(wǎng)站,來(lái)降低同學(xué)之間的溝通門檻,讓這些遙遠(yuǎn)的不曾謀面的學(xué)生能夠用他們的方式參與到這門課程,并且同樣的共享CS50的標(biāo)簽。
“我能在Facebook上看到他們的照片和動(dòng)態(tài),這讓我覺(jué)得,我每天都能真正看到這些學(xué)生。”馬蘭擁抱這種新的教學(xué)方法,用同樣的熱忱對(duì)待他的編外學(xué)生。馬蘭也鼓勵(lì)能夠來(lái)桑德斯劇院的同學(xué)回去看掛在網(wǎng)上的教學(xué)視頻?!爱吘刮覀兪莻€(gè)800人的大課堂。如果他們只是坐在劇院里,聽我講解,被我?guī)е撸⒉皇亲钣行实膶W(xué)習(xí)方法。”馬蘭覺(jué)得,網(wǎng)絡(luò)視頻讓學(xué)生有權(quán)利自己控制課堂節(jié)奏,快進(jìn)、回放、暫停或者重播,這無(wú)疑是更佳的學(xué)習(xí)體驗(yàn)。
技術(shù)給了學(xué)生這么多樣的學(xué)習(xí)工具,他們可以自己找到更適合自己的學(xué)習(xí)方式。正如馬蘭所說(shuō),這是一個(gè)愈發(fā)技術(shù)化的時(shí)代。技術(shù),滲透進(jìn)生活的方方面面,在改造、在顛覆。CS50的成功,或許也要部分歸功于這個(gè)變化的時(shí)代。2014年,CS50打敗了“經(jīng)濟(jì)學(xué)”,成為哈佛大學(xué)新生報(bào)名數(shù)量最多的課程。然而很少還有人記得,2005年年末Facebook的創(chuàng)始人馬克?扎克伯格來(lái)哈佛大學(xué)演講時(shí),只有不到20名學(xué)生捧場(chǎng)參加。那時(shí),人們對(duì)計(jì)算機(jī)科學(xué)并不感冒。
“……這就是我認(rèn)為現(xiàn)在學(xué)習(xí)計(jì)算機(jī)科學(xué)很明智的原因之一。在過(guò)去任何時(shí)候,你都不可能利用這樣少的資金,獲得這樣強(qiáng)大的技術(shù),進(jìn)而影響到這個(gè)世界上的很多人。”那場(chǎng)演講中,扎克伯格如此苦口婆心地勸說(shuō)他的師弟師妹。
進(jìn)入互聯(lián)網(wǎng)時(shí)代,計(jì)算機(jī)的重要性已經(jīng)不言自明。即使你無(wú)意從事相關(guān)行業(yè),也仍然繞不開計(jì)算機(jī)。馬蘭建議,所有學(xué)生都該至少了解點(diǎn)計(jì)算機(jī)的基礎(chǔ)知識(shí)。重要的是思維方式。這種思維方式能夠在你面對(duì)問(wèn)題時(shí),幫你理清思緒,讓你更有邏輯。他強(qiáng)調(diào),這是計(jì)算機(jī)科學(xué)能夠給予學(xué)生的更為長(zhǎng)遠(yuǎn)的東西。