CS50:世界上最精英的計算課程內部

沒有多少大學課程能有馬克·祖克柏和史蒂夫·鮑爾默擔任講師。參加講座的人數超過 10 萬人的大學課程並不多(儘管主要是在線上授課)。沒有多少大學課程擁有自己的品牌、商品,並且需要將課程名稱註冊為商標。但像CS50這樣的大學課程並不多。

CS50 毫無疑問是世界上最精英的電腦課程。它不僅在哈佛大學教授,現在也在常春藤盟校耶魯大學教授,它在第一年就立即成為該大學最受歡迎的課程。如果您是眾多未能在其中一所大學獲得該課程席位的人之一,您可以通過 edX 或 iTunes U 等數位機構在線參加 CS50,或者直接通過該課程的網站,其中所有講座、教程、材料、作業及其解決方案都是免費發布的。很快甚至可以使用VR耳機觀看講座,就好像你真的坐在哈佛的大廳裡一樣。

那麼是什麼讓這門課如此特別呢?是什麼驅使成千上萬的美國最聰明的人才和來自世界各地的數十萬人透過直播觀看講座?我一直在與課程負責人和學生交談,並親自聽了一些講座,以找出答案。

面向所有人的計算機科學

CS50(全名為 Computer Science 50)並非純粹是那些穿著睡衣編寫 Perl 的人的專利。在哈佛報名參加課程的學生中,近四分之三以前從未上過電腦科學課程。正如David Malan 教授在2015 年課程的介紹性講座中告訴學生的那樣:「我們開設這門課程並不是為了讓你們所有人都成為電腦科學專業的學生或集中學習者,而是給你們一個機會,希望能夠超越這個世界。你目前已經熟悉了這個世界,並從這個世界帶回了技能、知識和悟性,你可以將它們應用到你自己的世界中,無論是人文科學、社會科學、自然科學還是其他領域。”根據該網站的說法,你一路學習程式設計的事實「也許是最有力量的回報」。

這並不是說那些已經從變數中了解其過程的人沒有任何收穫。學生需要解決的每個「問題集」都有兩個難度等級:標準版(全班90% 以上的學生都需要完成)和黑客版(Hacker Edition),適合那些擁有技術能力、想要突破自己的學生。事實上,哈佛和耶魯的整個課程被組織成三個不同的軌道:那些對程式語言「更舒服」的人,那些「不太舒服」的人,以及為「介於兩者之間」的人準備的樂隊。

在哈佛報名參加課程的學生中,近四分之三以前從未上過電腦科學課程。

課程和許多講座(透過精心製作的影片流向數百名學生現場直播和點播)由Malan 教授主持:一位引人入勝的演講者,讓我想起了前Windows 執行長史蒂文·辛諾夫斯基(Steven Sinofsky),因為你顯然正在處理他的智力如此之強,以至於言語從他嘴裡吐出來的速度都跟不上他的大腦的速度。他說話的速度可能像機關槍一樣,但他也擅長將複雜的概念提煉成易於理解的部分。

例如,在 2015 年的入門講座中,他使用一組燈泡教學生如何用二進位書寫數字,解釋每個燈泡(打開代表 1,關閉代表 0)如何代表一個位。這是我見過的最清晰的解釋。感謝 CS50 網站上的補充視頻,我現在也可以進行二進制加法、減法和乘法了。

他也開始透過撕毀電話簿來探索「分而治之」演算法的開發(考慮到他正統的極客體格,這有點尷尬)。這形像地說明了,即使電話簿中按字母順序列出了400 億個名字,如果你打開電話簿的中間部分,撕掉不包含此人姓名的那一半,也只需要36 步就能找到你要找的人。名稱(解釋 log n 的概念)。

CS50: Inside The World’S Most Elite Computing Course

然後,示範了為電腦編寫的命令如何需要一定程度的精確度,而我們在對人類發號施令時並不習慣這種精確度。他要求耶魯大學演講廳的學生大聲喊出如何製作花生醬和果醬三明治的命令,而他在台上的一個傀儡則嚴格執行命令。因此,「打開麵包袋」會導致袋子被撕開,麵包灑得到處都是,而後來在「程序」中,三明治製造商陷入了無限循環,這對花生醬罐來說結局並不好。

代碼連接

這種呈現可能枯燥且令人生畏的程式主題的引人入勝的方式肯定會受到學生的歡迎,尤其是那些以前從未學習過電腦的學生。英國音樂新創公司 Jukedeck 的創辦人 Ed Rex 最近告訴我,他是如何在參加 CS50 講座後受到啟發而開始編碼的。 「我完全被迷住了,」雷克斯說。 「在他(馬蘭)的演講廳待了一個小時後,我出來想,首先,為什麼以前沒有人告訴我這一點;其次,為什麼沒有人告訴我這一點?第二,程式設計是令人驚訝的;第三,這似乎比英國人想像的要可行得多。”

查看相關 

免費學習編碼:國家編碼週中最好的英國編碼和應用程式開發課程

編碼游牧者的一年

23 歲的凱爾·施密格爾 (Kyle Schmigel) 是目前 CS50 新生的一員。他告訴我,「總的來說,學習程式設計讓我能夠以一種與日常生活中通常不同的方式集中註意力。這是挑戰自我和解決問題的有趣方式。

「到目前為止,我學到的最重要的事情就是從多個角度看待事物,」施米格爾補充道。 「我可能沒有以正確的方式看待問題,或者可能會以更簡單的方式做事。 CS50 是一門很難的課程,但我從來沒有做過任何比挑戰自己參加這門課程更有趣的事情。”

馬蘭過於謙虛,沒有將他的教學風格視為CS50成功的主要原因之一,而是指出了其他因素。 「我們當然受益於國際上人們對電腦科學日益高漲的興趣,尤其是現在科技如此流行,」他告訴我。 “但我們希望 CS50 的易用性、嚴謹性和文化能夠特別引起學生的共鳴,尤其是那些沒有相關經驗的學生。”

從蕭條到繁榮

我的第一堂 CS50 講座剛開始十五分鐘,就很容易理解為什麼學生們對馬蘭的課程感到熱情,但它並不總是像今天這樣獲得超額認購、跨校園的成功。在講座中,馬蘭向今天的學生展示了 Facebook 創始人、臭名昭著的哈佛輟學生馬克·祖克柏 2005 年客座演講的片段。誠然,當時的祖克柏並不像今天這樣引人注目,因為 Facebook 在他發表演說之前才剛成立並運行一年。哈佛自己也承認,隨著網路泡沫破滅,這門課程的受歡迎程度已經下降。影片顯示,空蕩蕩的演講廳裡只有十幾名學生佔據座位,扎克伯格被迫用一句相當生硬的俏皮話來開始他的演講:“這實際上是我第一次去聽演講。哈佛。”

祖克柏的影片也暴露了課程已經成熟的另一個跡象。 2005 年的演講影片是從演講廳後面的一台固定位置攝影機拍攝的,在演講開始前,祖克柏擺弄了 30 秒左右的麥克風,令人驚愕不已。相較之下,2015 年的課程以一段適合電視播放的課程預告片開始;講座是從多個攝影機角度以高達 4K 解析度拍攝的,馬蘭戴著耳機,大概是為了舞台指導;當他依靠幻燈片來顯示程式碼片段或其他資訊時,他會縮小到圖片內窗口,以便觀眾可以閱讀螢幕上的內容。這是您期望從超級碗轉播中獲得的質量,而不是大學電腦課程。

CS50現已成為有市場的品牌。馬蘭和其他學生穿著寫有「我選了CS50」的T卹;自願幫助上台演示的學生將獲得 CS50 壓力球獎勵;最後一場講座以 DJ 將 Mark Ronson 的“Uptown Funk”與 CS50 歌曲混音結束。整個包很光滑。馬蘭甚至因試圖為 CS50 品牌註冊商標而與哈佛大學發生衝突,但在哈佛大學阻止他的申請後,他於 2013 年撤回了申請。

那麼商業品牌現在是現代教育的必要組成部分嗎? 「我認為沒有必要,」馬蘭回答道,「但就我們而言,這無疑體現了我們對圍繞課程建立一種文化的興趣,這是一個將學生聚集在一起的全球社區——無論是校內還是校外。該課程的襯衫上簡單地寫著“我參加了 CS50”,這恰恰體現了我們希望學生在完成如此多、如此成功的任務後在學期結束時感受到的自豪感。”

網路上溢出

當然,並不是每個人都有足夠的成績、金錢或合適的護照進入哈佛或耶魯大學。相反,絕大多數學生在線“學習”CS50,無論是透過課程網站還是 edX 或 iTunes U 等線上教育機構。

儘管遠距學習的學生顯然無法獲得個人輔導、駭客日和校園生活的好處,但馬蘭認為,遠距學習課程比坐在哈佛巨大的演講廳裡有好處。 「現實——我從哲學上相信這一點——是,講座並不是傳遞相當複雜信息的特別有效的手段,尤其是在一個多小時的時間跨度上,」他在一次講座中告訴學生,並敦促他們重新觀看線上影片。 「事實上,每隔幾分鐘…你就會分心一會兒,錯過一些複雜的話題,然後在接下來的 45 分鐘裡你就幾乎走神了。現實情況是,無論您是在紐黑文、劍橋還是其他地方,能夠暫停、快轉、快退、超鏈接到相關資源、搜索全文成績單等的簡單性,都是一個機會我敢說,對於紐黑文以外的線上學生來說,這提供了一個更好地真正掌握我們在講座中介紹的概念材料的機會。”

CS50: Inside The World’S Most Elite Computing Course

但為什麼哈佛要免費提供這些資源呢? 「這是正確的做法,」馬蘭說。 「如果世界其他地方的學生能夠從我們在劍橋所做的工作中受益,將學到的經驗教訓應用到自己的工作中並引導進一步的學習,那就更好了。

“與來自世界各地的這麼多人建立聯繫真是太棒了,”他補充道。 「我們沒有將課程的討論集中在一個平台上,而是在 Facebook、Gitter、LinkedIn、Reddit、Slack、Stack Exchange、Twitter 等平台上培育社區,這些地方已經有學生了。僅 CS50 的 Facebook 群組就有 80,000 名成員,每天都有來自世界各地的學生互動。”

查看相關 

免費學習編碼:國家編碼週中最好的英國編碼和應用程式開發課程

編碼游牧者的一年

CS50的觸角伸得更遠。該課程現已透過CS50 AP 計畫進入學校,提供教師可以從今年秋季開始在自己的課堂上使用的課程。這也變得國際化,Malan 在倫敦舉辦了 CS50 AP 研討會。

最有趣的開發是CS50 VR,它將以360度虛擬實境方式拍攝秋季講座,讓遠距學生可以沉浸在演講廳中。品嚐者影片 讓 Google Cardboard、Samsung Gear VR和其他耳機用戶嚐鮮。

如果學生不被虛擬實境分散注意力,那麼他們可能會找到新的方式在世界各地教授這門精彩的課程。

Sign up and earn $1000 a day ⋙

MIUI 裝置的最佳字體

MIUI 裝置的最佳字體

如果您正在尋找在 MIUI 裝置上使用的最佳字體,小米可以讓您變得超級簡單。您所要做的就是下載您想要的字體,然後儲存

最好的 Telegram 客戶端應用程式

最好的 Telegram 客戶端應用程式

您可以在 Telegram 上做很多事情,例如使用貼紙或加入最好的 Telegram 頻道之一。為了進一步擴展其功能,

如何刪除 Discord 中的所有訊息

如何刪除 Discord 中的所有訊息

有時需要刪除任何平台上的訊息,以釋放空間、重塑自我或消除多年的混亂。不和諧也不例外;一些

如何在 WhatsApp 中隱藏您的電話號碼

如何在 WhatsApp 中隱藏您的電話號碼

當您首次建立 WhatsApp 帳戶時,您可以使用現有的電話號碼進行註冊,這樣您就可以存取手機聯絡人清單。然而,不

如何在 iPad 上做筆記

如何在 iPad 上做筆記

在 iPad 上做筆記已經讓紙筆筆記變得過時了。首先,您可以使用 Apple Notes 或第三方工具以多種方式做筆記。

如何在 Steam 中取得補充包

如何在 Steam 中取得補充包

在 Steam 上收集收藏品可以改善您個人資料的外觀以及其他人在聊天中如何看待您。交易卡是重要的收藏品,可以

Telegram:如何使用貼紙

Telegram:如何使用貼紙

Telegram 提供了大量免費貼紙,可以將其添加到您的圖庫中。貼紙成套表達不同的心情和情感,或者

如何成為 Lyft 司機

如何成為 Lyft 司機

成為 Lyft 司機有兩種方法。首先是訪問 Lyft 的線上申請成為司機頁面並按照步驟操作。第二種方法是

Facebook Marketplace 詐騙是如何運作的

Facebook Marketplace 詐騙是如何運作的

Facebook Marketplace 是當今最大的二手商品線上零售商之一。儘管使用市場有許多優點——例如製作

如何在 Snapchat 中獲得更多瀏覽量

如何在 Snapchat 中獲得更多瀏覽量

無論是個人帳戶還是企業帳戶,您肯定會希望增加 Snapchat 上的受眾群體。然而,說來容易做來難,

如何將 Viber 轉移到新手機

如何將 Viber 轉移到新手機

如果您購買了新手機並安裝了 Viber,但不確定如何將所有資料從舊手機轉移到新手機,那麼您是對的

如何在 Steam 中製作收藏

如何在 Steam 中製作收藏

隨著 Steam 庫的成長,嘗試瀏覽所有遊戲和模組會變得很煩人,特別是因為預設設定只是顯示完整的內容

如何將您的 Amazon Music 轉換為 Apple Music

如何將您的 Amazon Music 轉換為 Apple Music

由於串流媒體應用程式數量眾多,聽音樂比以往任何時候都更容易。用戶可以創建無限的播放清單、離線下載音樂、觀看

超級瑪利歐兄弟奇蹟中的可解鎖角色

超級瑪利歐兄弟奇蹟中的可解鎖角色

馬裡奧遊戲會帶來驚喜和秘密。可解鎖的可玩角色在社群中非常重要,以至於它們幾乎是神話般的 –

最好的筆記應用程式

最好的筆記應用程式

您是否曾經有過一個奇妙的想法,但因為沒有記下來而忘記了?幸運的是,您並不總是需要筆和紙來記筆記

如何在 Canva 中使用文字轉圖像

如何在 Canva 中使用文字轉圖像

身為創作者,您的腦海中可以有很多想法。通常,它們可能很複雜,讓您很難想像並向其他人展示它們。

王國之淚任務列表

王國之淚任務列表

在《王國之淚》中,林克探索世界時,海拉魯大陸上發生了許多動作。他必須完成的任務或任務

哪裡可以找到免費的 Instagram 捲軸模板

哪裡可以找到免費的 Instagram 捲軸模板

似乎全世界都沉迷於觀看 Instagram Reels。這些易於觀看的短影片廣受歡迎,觀看人數達數百萬

如何變更快照地圖上的位置

如何變更快照地圖上的位置

Snapchat 最出名的可能是其創新的內容共享功能,一旦你的群組查看過該功能,該功能就會消失。現在開發商已經

如何判斷是否有人在 Messenger 中封鎖了您

如何判斷是否有人在 Messenger 中封鎖了您

當您嘗試透過 Messenger 聯繫某人但沒有成功時,可能的原因之一是您已被封鎖。實現並不令人愉快,