如何挑選編程類的自學教程?心得與推薦 Python 入門教程
先直接說結(jié)論吧。為了自學 Python,我在網(wǎng)路上看了一些推薦文,在一一看過每個推薦教程中的幾個影片後,最後我選的是黑馬程序員曹老師的「8天python從入門到精通」。據(jù)我所知,這個教程也是 Python 學習影片中觀看排名的前幾名。
先條列幾個我個人認為它的優(yōu)缺點,再來討論我目前的觀看心得,以及我認為好的編程類教程應該長怎樣?
優(yōu)點
使用較新的 python 3.10.4(但對入門來說,我認為只要是 3.x 的應該都可以)
沒有過多的廢話和難笑的笑話
講師聲音算好聽,收音效果也不錯
範例設計的非常好
講師使用 live coding 的方式示範,而不是看投影片、貼程式碼(所以講師打字的速度要夠快)
每一小節(jié)最後都有一個總結(jié),這樣的回顧作法很好
不會一次講解完所有相關(guān)的內(nèi)容,而是隨著進度一點一點放出新的知識(ex: print() 的用法系列就分了好幾個 video)
缺點
一些專有名詞未提供英文原文。這也許是中國開發(fā)者的習慣,習慣直接以中文譯名溝通
?語速稍慢(對我來說)。但這對線上課程來說應該是優(yōu)點,而且學員可以自己調(diào)速(使用 1.5x 比較適合我)
目前心得
目前我利用每天提早一小時進公司看,進度已經(jīng)看了超過一半了。講得非常棒!這應該是我目前看過最好的 Python 入門教學影片了。甚至以後只要是這個老師出的影片,我都願意看!
課程的每一個章節(jié)只講一個重點,每一小節(jié)的開頭會先告訴你為何要使用它(這個 WHY 很重要,許多講師都會忽略這點,直接講語法),接著是一些簡單的範例。老師也會提醒那些容易犯錯的地方或陷阱。既使那個小節(jié)的內(nèi)容非常簡單,每小節(jié)的最後還是會有一個 summary 的整理回顧。
課程中設計的程式範例也很棒。我甚至在想,假如我想學另一個新語言(例如 Lua),或許只要試圖搞清楚如何用 Lua 寫出這個課程中每個章節(jié)的範例,就可以快速學會新語言了。我本身也是一位開發(fā)者,既使我已經(jīng)有其他程式語言的經(jīng)驗,但我還是覺得收穫良多,從中我也學到了一些教學的技巧。
前五章(P61之前)是所有程式語言都會有的基礎(chǔ)章節(jié),有其它程式語言經(jīng)驗的人可以快速看過,我是以 1.5 倍播放來看影片。但是範例還是建議練習一下,以熟悉語感。
第六章開始會涉及一些 Python 專有的資料結(jié)構(gòu)。我認為第六章蠻重要的,因為 Python 有一些其他語言所沒有的特殊資料結(jié)構(gòu),看過之後就會理解為何大家喜歡使用 Python。如果你有開發(fā)經(jīng)驗,應該可以想像那些資料結(jié)構(gòu)適合用在哪一種場景。
因為看了曹老師的教學影片,從中我也發(fā)現(xiàn)一些挑選自學影片的重點
挑選自學影片的重點
當然,以下是個人見解,也算是給各位從事線上教程的講師一些參考意見。其實大多數(shù)教程的內(nèi)容應該都是沒問題的,願意做線上教學的人,本身都具有熱情。畢竟要花時間錄製影片、剪輯、發(fā)布、與學員互動,這絕不是一件輕鬆的工作,我個人是充滿敬意,所以我這邊給的都是一些教程「呈現(xiàn)方式」的意見,僅供參考。
Live Coding
我發(fā)現(xiàn)編程類的教學影片最重要的一點就是「講師一定要 live coding」。在 live coding 的過程中,學員會跟著講師的思路走,很容易進入狀況。學員會在腦海中比對自己的思路跟老師的思路是否吻合,也是一種學習的過程。網(wǎng)路上有許多教學影片採用直接開啟或貼上事先寫好的程式碼,然後再逐行講解程式碼的方式,相比之下真的沒有 live coding 的效果好。當然要做到這一點,講師的打字速度也是會有要求的??傊葬嵛姨暨x這類的自學影片,一定都會找有 live coding 示範的。
使用正規(guī)編輯器
我看過一些 python 的教學影片竟然使用 Python shell 撰寫程式碼,我覺得這點完全是敗筆。Python shell 輸出的畫面非常混亂,程式碼和執(zhí)行結(jié)果在單一視窗中交疊出現(xiàn),完全不是一個適合用在教學展示的介面(同理,我也不認為 Jupyter notebooks 是好的示範工具)。再說,實務上也不會有人真的使用它作主要開發(fā)環(huán)境,在教學一開始就讓學員使用程式編輯器才是比較好的做法,VSCode 或是 PyCharm 都是好的選擇,也是在實務上真正會用到的工具。
不要分掉學員的注意力
講師授課時,不應講太多廢話,也不需要展示自己的中文有多好。我看過一些網(wǎng)友推薦的其他教學影片,老師很愛在講解過程中故意穿插一些成語,或是講些笑話來比喻觀念,他可能覺得這樣妙語如珠學習起來會比較有趣,但其實這些完全都沒有必要,反而對學習來說是干擾。人的注意力是有限的,講師只需穩(wěn)穩(wěn)地,把該講完的觀念講清楚即可。同樣的道理,教學示範的投影片如果動畫太多、太花俏,使用奇怪的歪斜字體,或是穿插一些沒有意義的梗圖,對學習來說都是沒有用的雜訊,只會分掉學員的注意力。
觀念對應實務目的
承上,同樣的道理,每個觀念講解都需要有一個實務目的。我注意到曹老師在講解函數(shù)時,並未說明關(guān)於「形參」和「實參」的差異,網(wǎng)路上大多數(shù)的教學影片,會特別獨立一個章節(jié)說明形參和實參,但大多只會說明它的定義,以及告訴學員如何辨識它們之間的差異。其實對初學者來說,知道這件事情並沒有任何「實務上」的意義,我的意思不是說它不重要,而是講師需要設計一個範例來說明辨識形參和實參為何重要?如果講師提供的範例僅能教會學員「辨識」它們的差別,而沒有任何實務上的「應用」,那麼對於想要入門的初學來說其實是可以忽略的。
注意錄音品質(zhì)
有些講師錄音品質(zhì)很差,不是說他們講話不清楚,大多的情況是當講師聲音稍微大的時候會有爆音的現(xiàn)象發(fā)生。雖然我覺得不應該用錄音品質(zhì)去評斷一個講師的教學品質(zhì),但是許多線上課程都是整體加起來有十幾個小時的,要在這麼長的時間內(nèi)忍受不舒服的錄音品質(zhì),其實還是會影響學習的。建議挑選好一點的麥克風,並且在錄音時測試一下,盡量維持聲音在一個聽起來舒適的音量範圍內(nèi)。
還有,盡量別把打字音也錄進去了,我看過一個教學影片,當老師 live coding 的時候,也許是鍵盤沒有放平整,我一直聽到敲鍵盤時,鍵盤震動聲反射桌面的回響,整個過程會一直讓我很出戲,這種狀況墊個桌墊應該就可以解決了。
省去片頭動畫
大多數(shù)的網(wǎng)路自學課程不會是一個十幾個小時的影片,而是會拆分成許多 5~10 分鐘左右的獨立小章節(jié)。有許多網(wǎng)路上的教學影片,會在每個小節(jié)開頭放十到二十秒的片頭。這也許只是我個人的困擾,但老實說我覺得超級煩,一個線上課程通常有幾百個小節(jié),表示我得看那片頭動畫幾百次。曹老師的影片開頭只有三至四秒:「大家好,歡迎回來。接下來本小節(jié)要講的是...」反而是比較好的做法,真的不需要讓學員花時間看那些沒意義的片頭動畫。所有的廣告、文宣,請放在第一個影片展示即可。
以上,如果各位在自學路上有什麼挑選課程的方法,也可以與我分享,感謝。