撕書吧!編程小白!你也能學的哈佛CS50,全美最受歡迎計算機入門課

2021-01-15 網易

2021-01-05 13:30:56 來源: 新智元

舉報

  

  新智元報導

  來源:哈佛

  編輯:小勻

  【新智元導讀】自學計算機,到底如何入門?哈佛大學計算機導論課程 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.

相關焦點

  • 程式設計師編程入門必知!程式設計師需要學什麼
    資訊時代的大背景下,計算機的應用顯得舉足輕重,精通計算機的人才對於龐大的市場需求量來說還是顯得很匱乏,因此計算機行業的前景是很可觀的,但是也有不少人對於編程處於一竅不通的狀態,那編程該從何入手呢?C——最古老的語言之一,它已經是非常強大的工具,也是一些更現代的語言的祖先,比如C++,C#和Objective-C。學習語言的過程中還要有機會進行檢驗,不能只編寫代碼,還要檢驗代碼的結果運行是否正確,也就是某些可以運行結果的軟體我們要有,不過許多的程式語言都要求有被程式設計師設計來講代碼轉換成機器能理解的語言的編譯器。其他一些語言,比如Python,使用可以立即轉換成程序而不需要編譯。
  • 計算機專業大學生怎麼學好編程?
    如果你關注我公眾號有一段時間,你就會知道「興趣」一直是我反覆強調的點。 學習是件非常枯燥的事,人的大腦對於枯燥的行為是有著本能的排斥。而對於剛接觸編程的人來說,更加的晦澀難懂。剛入門的小白很難能體會到編程中的樂趣,更不用說找到對編程感興趣的點。 對於如何判斷自身是否對編程感興趣,這篇文章裡我也已經說過了,就不再重複造輪子。
  • 我是計算機專業,身邊同行沒一個讓孩子在三年級前學編程
    機器人教育如火如荼,各種線上編程的廣告隨處可見。但是幼兒園就開始學編程打比賽真的能讓孩子真正理解編程嗎?知乎一位網友,自己是計算專業畢業的,結合自己學習編程的經歷,聊了聊自家小孩是怎麼學編程…順便文末說說你怎麼看,你會讓孩子幼兒園就開始學編程嗎?
  • 會編程的孩子保送清北入職500強!智伴編程機器人小w讓孩子邊玩邊學
    現在的孩子應該學什麼,10 年後才不會被社會淘汰?生怕孩子落後,愛給孩子報補習班的中國父母,如果在課外只能讓孩子學一樣東西,應該學什麼?如果你問全球中外名人家長、百萬富翁父母,他們十有八九,會給你一個斬釘截鐵的相同答案:編程。一. 不會編程的孩子,將是 21 世紀新文盲?
  • 成就全球億萬富豪的硬核技能,智伴編程機器人小w讓孩子邊玩邊學
    現在的孩子應該學什麼,10 年後才不會被社會淘汰?生怕孩子落後,愛給孩子報補習班的中國父母,如果在課外只能讓孩子學一樣東西,應該學什麼?如果你問全球中外名人家長、百萬富翁父母,他們十有八九,會給你一個斬釘截鐵的相同答案:編程。
  • 數據分析入門學習指南,零基礎小白都能輕鬆看懂
    然而,讓很多朋友困惑的是,我是沒有編程基礎的小白,能學會數據分析麼?該如何學習數據分析呢?其實,如果你打算成為一名數據分析師,如何出身並不重要,數據科學是一門應用學科,你需要系統提升數據獲取、數據分析、數據可視化、機器學習的水平。下面我就簡單提供一個數據分析入門的路徑。第一階段:Excel數據分析每一位數據分析師都脫離不開Excel。
  • 最受歡迎的25本計算機編程書籍
    本書聚焦於軟體開發人員生活的方方面面,從揭秘面試的流程到精耕細作出一份殺手級簡歷,從創建大受歡迎的博客到打造你,從提高自己工作效率到與如何與「拖延症」做鬥爭,甚至包括如何投資不動產,如何關注自己的健康。本書共分為職業篇、自我營銷篇、學習篇、生產力篇、理財篇、健身篇、精神篇等七篇,概括了軟體行業從業人員所需的「軟技能」。
  • 開課吧:學習編程,該學什麼語言?Python如何?
    編程編程如果是興趣方面的可以選擇比較簡單的入門語言入手,然後再慢慢切入到新的程式語言,目前相對來說比較好入門的程式語言是python,這門語言的集成度非常高,適合零基礎的入門學習,集成度高的語言在短時間能看到很不錯的效果,能在短時間內讓自己有成就感,但真要深入的學習還得腳踏實地的學習內在的東西。
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 2022年考研數學一小白入門第一講
    你的身邊有沒有數學渣?數學霸?通過觀察發現,每個班上都有這兩種極端的兩種同學:數學渣和數學霸。前者往往是費勁聽,目不轉睛呼吸停滯地聽,就是不懂;而後者則是可以在課堂上指出老師錯誤,跟老師討論那種解題方法更簡單有效,也可以出題考老師的那種。
  • 在美國大學計算機專業都學什麼?
    每年的春季學期都會有一門計算機入門課,叫作CS5 Introduction to Computer Science。抱著對計算機的好奇心,我在大一春季修了這門課。因為CS5是計算機入門課,選課的同學還是很多的,人數大約在70人左右,是我在計算機系修過的人數最多的課程了。
  • 零基礎如何入門學習電腦編程?
    零基礎如何入門學習電腦編程?有哪些好的方法呢?現在帶著疑問一起去了解一下吧。1、了解編程歷史的意義了解一些編程的實質遠比知道如何編程更有意義,不要在編程是怎麼回事的情況下就去學習編程,這樣對你的學習是十分不利的,作為一個編程愛好者,知道計算機的工作原理,這應該是一件再正常不過的事。
  • 2020麻省理工最新公開課資源,最牛的CS課程免費學,這也太划算了吧!
    在疫情開始前,計算機思維導論的課程是面向MIT史蒂芬·施瓦茨曼計算機學院本科學生的,一般一門課只有20個學生註冊。 受到疫情影響,春季學期的課程改成了Zoom授課。這門課程由麻省理工學院的電子工程與計算機科學系和數學系合作推出。數學系教授艾倫·埃德曼和訪問教授戴維·桑德斯一拍即合,把最新的COVID數據建模引進課程。
  • 除了編程,中小學領域計算機科學教育應該學什麼?
    創客教育、STEM 教育、 STEAM 教育、編程教育、計算機科學教育,這些名詞在國內習慣用法似乎彼此混淆,本文就是來探討澄清這些主題的差異、與你應關心的重點在哪裡。 前陣子國內有人寫道美國約在 2011 之後才有 STEM 教育,怎麼可能?!! 應該是用詞不精確。
  • 大學生計算機二級考試C語言中的函數入門詳解
    C語言計算機二級考試必考考點之函數入門詳解一般來說理科生的大學生有一門必修課是編程,而想要從事軟體開發的人員,沒有C語言基礎是不行的。而C語言中比較重要的部分就是函數。函數是實現各種軟體開發功能的途徑,如果你對函數了如指掌,那麼軟體開發將是一件很簡單的事情了。
  • 推薦6歲+,編程入門啟蒙,培養孩子的邏輯思維
    之前看朋友圈,有人在談論孩子多大適合學編程,有贊成早點學的,讓孩子早點養成邏輯思維,也有不贊同的,沒準孩子剛學完,這程程式語言就淘汰了。目前來看最適合小學生編程入門的程式語言是SCRATCH。這套《哇!編程:申小吉Scratch3.5編程環遊歷險記》是專門為六至十二歲孩子打造的編程入門啟蒙,孩子可以參照書本上的進行編程學習。目前我國小學四年級差不多就都開設這門SCRATCH編程課,足以看出這個程式語言是目前最流行的。
  • 學計算機編程需要什麼基礎_一文了解
    計算機編程已經成為16-18歲學生的重點關注課程,對於每個學生來說,學計算機編程需要什麼基礎,是決定學生是否學習的前提條件。下面我們一起看看,學習計算機編程需要哪些基礎:1、英語基礎計算機英語與傳統的英語知識不同,需要了解的大部分是計算機的專業單詞或者詞彙,普遍較為簡單。但是在高級編程中,會出現比較生澀的詞彙,對於想要參與計算機語言設計以及在職業發展上有更多追求的同學可以自學一下大學英語。畢竟現在在學習IT技術上晉升的道路上,專業文檔的閱讀能力也是非常重要的。
  • 來看看博創空間的一些後起之秀吧!
    在比賽的過程中,三個小組共計22名參賽者,紛紛呈現出了以下畫面,和競競一起來看看吧:霸王龍小分隊是一個有創意的團隊,我們致力於通過數位化設計來表達對生活、文化、藝術的暢想,獨特的設計讓人大開眼界,你不妨來這汲取那些擁有創意元素的思想,很多人都追求完美,也許你也一樣。
  • 孩子要不要學編程 幾歲學編程比較好?詳述三大編程課試課經歷
    編程是下一個十年的英語,世界各國已將編程教育作為基礎學科……,讓家長覺得不送孩子學編程,孩子的未來就會跟世界脫軌一樣,不由自主的就會焦慮,一焦慮就會急著給孩子試課挑課上課。當然,也會有理性的家長問,孩子一定要學編程嗎?孩子要不要學編程,學編程有什麼價值?孩子要不要學編程?
  • 讓孩子在玩樂中,學習到編程第一課——DFRobot造物粒子編程玩具
    不過,這倒給我了一個思路,或許可以找一個編程玩具給孩子,讓她先有了興趣之後,說不定對以後的編程學習是個推動;而且我個人覺得,這種編程玩具對於邏輯思維能力、想像力、創造力等,都有一定鍛鍊、培養的作用。讓孩子在玩的過程中,也能學習到一些知識,這也算一種學習的好方法吧!