CS50是哈佛一門自1989年起便有的計算機導論性課程,內容包括計算機基礎知識、基礎算法和常見的程式語言等,也會探討最新的計算機科學領域相關成果。鑑於其豐富實用的內容,以及網際網路行業的持續火爆,這門課已躍升為哈佛最受本科生歡迎的課程。今年秋季學期選課時,CS50招納學生的數目更是超過了800個,其中絕大多數都是編程零基礎的學生。
一直以來,CS50每學期的最後一節課都是期末項目展示會。屆時,所有學生都會到場,在電腦上展示自己的期末成果。就在前不久,CS50剛剛舉辦了今年的展示會。
完成期末項目時,學生可以選擇與任何領域有關的內容。根據該課程大綱所述,項目唯一要求便是設計出一個你真正感興趣的程序,而它要可以幫助你解決實際問題,並能夠對哈佛甚至是整個世界產生影響。
今年的展示會中,大家最終選擇的項目自然也是五花八門。哈佛進修學院2013級文學專業學生Emilie R. Wong的程序可以運用Google眼鏡將音樂可視化並進行播放、2013級學生William Anthony Greenlaw得以設計出可用於舞蹈隊招新的應用、而2012級生物專業學生Gabriel Amador則得以通過編程來優化哈佛校園中的植物研究項目。
【案例一】
Jacob Rienstra日前在哈佛讀大二。他表示:「我從小就是那種一進博物館就拿起講解器不放,走到哪聽到哪的人。哈佛悠久的歷史上,曾有不少對學校發展有重大貢獻的前輩。其中一些人的肖像被掛在了校園的各教學樓中,但畫像下卻沒有相對應的標識,所以很少有人能夠把他們對上號。」
在CS50的項目中,基於一個網站的資料庫,他將哈佛Lowell House中的所有這些肖像都標上了相應的歷史信息。但Jacob Rienstra並不想止步於此,他希望能夠將項目擴展到哈佛整個校園,並希望設計出一個附加功能——根據用戶當前位置提示距離其最近的肖像的位置。
【案例二】
哈佛大一學生Jennifer Hu會說中文和英文,在高中時還學過德語、拉丁語和希臘語。在CS50的作業中,她曾碰到過一個題目,要求設計出一個快速拼寫檢查程序。在設計過程中,她意識到,編寫這樣一個程序之所以難,很大程度上在於被檢查的語言本身的不規則性。於是,她萌生了設計出一套無歧義的數位化語言的想法。
在CS50的期末項目中,她和同學Kevin Loughlin決定把英語優化,將其改造成一種規則性極強的語言。他們所設計出的這套新語言系統中,每個單詞的結構都可以體現這個詞的詞性、語言中沒有同音異義或異形詞、且形容詞和副詞總會跟在它們所修飾的詞語後。談及這一項目時,她說:「CS50這門課上常提到的一點便是,CS的最終目的不是編程,而是在編程之前想清楚為什麼要編這樣一個程序,它能夠達到我們怎樣的目標。」
歡迎關注哈佛北京校友會,時時掌握哈佛前沿諮訊及校友最新動態。