投資、科技、生活


從Stanford學習免費、但值一萬美元的程式設計課

蘋果公司創辦人賈伯斯說過:「我認為每個人都應該學程式設計,因為它教你如何思考」。

Steve Jobs: "Everyone should learn how to program because it teaches you how to think!" 

全美 #1 的Stanford程式設計入門課限時免費

Stanford University的Computer Science課程是公認全美的#1,因為Covid-19的關係,感謝一群Stanford的老師決定在線上免費提供Computer Science必修的第一堂課 - CS106A Programming Methodology,讓來自全球受疫情影響的人們,有機會免費進入程式設計的大門!

這堂線上課程名稱為Code in Place,受限於資源課程只在Covid-19疫情期間提供,由於申請的人數眾多,需要提交申請並經過一定篩選,最近一期課程從4月19日開始到5月28日結束,有興趣的朋友,記得要關注下一次開課時間。

依據College Tuition Compare網站,2021年Stanford的學費高達美金$58,939,以一般學生最多選修4~5門課來計算,這堂只在疫情期間提供,限時免費的CS106A課程價值超過一萬美元

隨著疫苗施打,美國疫情和緩、學生可以返校上課,受限於資源,課程可能就無法再提供了!

Stanford Code in Place 登入畫面

創紀錄的學生人數

2020年4月的統計,透過三位教授、908位Section leaders的支持,一共有來自全球五大洲共 10,428個學生參與了課程,應該創下了同時最多學生修習課程的世界紀錄!

參與課程的學生在性別、年齡、地區上都無任何限制,美國、歐洲,亞洲的韓國、日本、印度參與人數最多,台灣應該也不少。

從學生年齡分佈圖看得到,30歲以下族群最多、40歲以上反而比36-40歲的人數還多!另外,由於合法因素目前無法讓18歲以下學生參與課程。

2020年參與Stanford Code in Place課程學生的年齡、地區分佈

另外有99.5%的學生願意將課程推薦給朋友,在0~10分的等級評等上,得分高達9.7!畢竟Stanford不僅是學術聲望崇高,在教學上對教授也非常要求,才能一直在全球大學的排名上名列前矛。




申請程序

申請透過Code in Place網站進行,主要需完成5個項目,包含自我介紹、閱讀基本Karel資料、實際練習幾個簡單的Karel程式設計、同意服務條款等,

* Karel是Stanford CS課程設計用來引導學習程式設計的一個機器人,更多資訊如下:https://compedu.stanford.edu/karel-reader/docs/python/en/chapter2.html


實際課程

美股探路客參加的是4月19日到5月28日的課程,在課程首頁中間位置是每週一、三、五美國加州時間早上10點發佈課程影片,右側為其他關聯的資源包含:

  • Discussion forum討論區(透過Edstem數位線上學習平台)
  • Python Reader(Python基本介紹)
  • Karel Reader(Karel基本介紹,Stanford CS設計,基於Python的程式平台)
  • Full Schedule(課程時程安排)
  • OhYay Video Guide(Section介紹影片)
  • OhYay Guide(Section課程介紹)


課程進度時程

Stanford正常是一季為一學期,也就是Quarter制,一年有四個學期每、學期10週的時間,跟台灣半年一學期是截然不同的,課程很緊湊學習壓力比較大。

Code in Place包含Final Project則僅有六週的時間,別以為比較輕鬆,事實上是將10週的課程集中在6週上完,原本每週兩堂課變成三堂課,預估每週需要花10~20小時的時間,實際上看上課影片大約耗費4-5小時,每週1小時跟Section Leader的視訊,加上線上完成作業的時間,預估每週大約至少需要投入12~15小時。當然我覺得密集學習的效果會比零散的學習來得有成效。





只要一台連網電腦就可以學習

只需要一台連上網路的電腦就可以上課、寫程式,是Code in Place的宗旨,透過Edstem線上學習平台可以進入學習、程式實作、討論的環境。

ed首頁顯示可以參與的課程

ed的平台有很完整的功能,右上角主要功能依序有討論區、課程、Karel's Playground、Python's Playground,Karel's跟Python's Playground都是可以直接在網頁上寫程式的地方,討論區也可以直接將寫好的程式貼上、執行,跟學習社群裡所有人互動。

在討論區裡,同一個問題可以看到所有不同人因思路不同解題方式不同,程式設計方式不同,讓人腦洞大開! 下圖是美股探路客針對第一週課程的Extension作業寫的奔跑的小貓程式,獻醜一下,看看未來是否可以寫一個動畫,以NFT賣掉?

在ed討論區分享第一週的Extension問題的程式與執行結果

線上課程影片

線上課程影片在加州時間週一、三、五上午10點發佈,發佈後隨時可以觀看,也可以在YouTUbe上開啟英文字幕,輔助英文不夠好的同學進行學習。

下面是4月28日發佈的第五課:Python的Expressions課程影片

4月28日發佈的線上課程影片

程式設計的基礎

前兩週的課程發現:

  1. 透過簡單的Karel環境,讓即使沒有程式背景、非工程領域的學生都很容易上手
  2. 課程首要在建立起寫“好程式”的概念,建立起正確觀念,解決問題的程序,而不是著重在介紹Python的語法 
符合Steve Jobs說的:Everyone should learn how to program because it teaches you how to think!

課程強調Decomposition的概念,top down解決問題

強調如何寫出“好程式”的觀念,即使是專業程式設計師也如此寫程式

強調如何寫“好程式”的觀念,即使是專業的程式設計師也該如此


結語

參與Code in Place的機會可能剩下不多,希望有興趣的朋友趕快把握,只要是想學習程式設計或想斜槓了解程式設計究竟是什麼,都推薦和來自全球的朋友們一起加入這堂時間有限、價值無限,可能改變你人生的課程!




0 comments