新智元報導
來源:哈佛
編輯:小勻
【新智元導讀】自學計算機,到底如何入門?哈佛大學計算機導論課程 CS50推薦給編程小白們,這門課是哈佛最受歡迎的課程之一,老師風趣幽默,帶你少走彎路,直奔編程大門。
哈佛校園裡流傳著這樣一句話:「如果你沒聽說過CS50,那麼,請不要說你讀過哈佛。」
這門經久不衰的課程——CS50.,全名為計算機科學導論「Introduction to Computer Science 」,是哈佛最受歡迎的課程之一。
由著名的「撕書教授」戴維·馬蘭(David Malan)任首席講師,Facebook聯合創始人馬克·扎克伯格和前微軟執行長史蒂夫·鮑爾默都曾做客座談。
課程介紹
這是哈佛大學對計算機科學的知識型企業的介紹,適用於具有或沒有基礎編程經驗的專業和非專業的編程藝術,教會學生如何算法思考和有效解決問題。
主題包括抽象,算法,數據結構,封裝,資源管理,安全性,軟體工程和Web開發。語言包括C,Python,SQL和JavaScript以及CSS和HTML。
講師介紹
David J.Malan
帥帥的Professor Malan是哈佛大學工程與應用科學學院的Gordon McKay 教授,也是CS50.的首席講師。
他分別於1999年、2004年和2007年在哈佛大學獲得計算機科學學士、碩士和博士學位。
他還有個酷酷的代號:撕書教授。
來源於他在一堂課上,他就用撕電話簿的形式來演示二分查找算法,邀請一位學生上臺尋找 Mike Smith 這個名字,首先打開到一個隨機的位置,撕掉沒有該姓名的那一半,然後重複這個過程,直到只剩下要找的那一頁。
Doug Lloyd
自2020年以來,Doug Lloyd一直是CS50遠程學習計劃的主任。
Brian Yu
哈佛大學計算機科學高級講師,他於2019年獲得哈佛大學計算機科學與語言學學士學位。
有趣的課堂
編程知識通常枯燥而無味,但這門課程卻能讓你體會到學習的樂趣。
舉例來說,在以「演算法」為核心的課程裡,老師舉了有趣的例子:
假如班上有7 位同學,今天作業要依照分數由高至低排序,你要怎樣做?
人類的可能做法是把所有的作業分成兩堆,一邊是還沒看過的,一邊是排好順序的,分數假如是86、60、73、92、98、70、81 :
先比較最前面的兩個數(86、60),高的86 放上面,低的60 放下面,放進有順序的一堆裡;接著拿出第三個數字73 ,小於86、大於60 ,因此排進中間;第四個92 ,大於86 ,因此取代它排在最上面……. 直到排完所有數字。
聽起來很合理、很迅速,但假如今天你要排序的位置,是一張成績登記表從高到低必須紙本手寫上去時,問題就來了。當「第一名的分數」在比較的過程中被更新了,你就必須把後面所有分數都往後移一個位置,擦掉再寫就會很辛苦。對記憶體來說就是如此。
這種作法叫做Insertion sort 。
而除此之外當然還有非常多作法(例如兩兩比較交換位置的Bubble sort、分成兩半排序再合併的Merge sort),每種作法需要的步驟當然不一樣多,最後回歸到哪種做法會使用到較少的步驟,也就是對程式來說有比較高的效能。
CS50 是哈佛大學校園以及 edX 上人數最多的課,哈佛每年有 800+ 在校生,edX 上有來自全球的一百萬註冊學習者。
在9個習題集(即編程作業)和最終項目中獲得滿意分數的學生有資格獲得證書。這是一個自定進度的課程,您可以按照自己的時間表參加CS50x。
課程官網:https://cs50.harvard.edu/college/2020/fall/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.