為什麼我11歲的兒子說要放棄程式設計,卻又轉戰Python
2016 年 12 月,我寫了一篇關於教 10 歲的兒子程式設計經歷的文章[1]。 一年半之後,他的程式設計之旅仍在繼續,且伴隨著許多起伏和曲折的劇情。“學習程式設計”不應該感覺像一份工作。我從不強迫孩子程式設計。我是一名有工作的家長,沒興趣管理一家程式設計學校。對於盡情玩耍、讀書、學校的作業,或有時什麼也不做(孩子嘛,偶爾什麼也不做也是可以的)來說,學習程式設計永遠是次要的。學習程式設計需要一種內在的動力,否則就無法堅持下去。這個過程中,我的角色已經發展成了管理、教導和鼓勵。
▌一:回到 Python
2016 年 12 月,資料科學是科技媒體中的熱門話題,而且作為 Web 開發我想擴充套件一下自己的知識,於是加入了一個專門學習資料科學、R、Python 的網站。我瀏覽了一些課程,和我的兒子聊起了這點。
“還記得 Python 嗎?”我問他。
“記得一點,”他臉上帶著多疑的表情回答道。
“你知道世界各地的統計學家,甚至 Google(我不得不提到 Google)的資料和統計科學家都在用 Python 嗎?而且你不需要再敲括號和分號。你想試試看嗎?”我問道。
“不學 JavaScript 了?”他問道。
“暫時不學了。”我回答說。
“好的。”他答應了。
於是,我兒子從 2017 年 8 月開始參加了 Python 資料科學入門的課程,並取得了很大進展(主要是在週末學習幾個小時)。一個月後,他完成了第一門課程。在課程結束時,我兒子已經掌握了 Python 的語法、列表、函式、包和 NumPy。
▌二:再攀高峰
隨後,兒子繼續開始學習中級 Python 資料科學,但是在 10 月的時候中斷了,他很少登入學習,並最終放棄了。
我只好介入了……
“課程怎麼樣了?你遇到什麼困難了嗎?“我問道。
“我很喜歡,但我真的不知道如何使用。”
兒子如是說。
▌三:程式設計的上下文環境
我們倆進行了很長一段談話,但是主要內容是“怎樣(How)”。我經常注意到孩子學程式設計的一個問題是:缺乏上下文環境。
學習程式設計結構和演算法沒問題,但是孩子無法領會抽象概念,除非與他們現實世界的某些東西相關聯。所以,我兒子真正的問題是:“這對我有什麼用?Python 怎樣才能賦予我超級力量?”
▌四:尋找新的機遇
我需要一些可以激起兒子好奇心的東西。 一種可以讓他回到程式設計之旅的方法。
人工智慧和機器學習在 2017 年主導了科技媒體,我跟兒子分享了許多那一年的有趣的新聞。他對大部分並不感興趣(孩子們似乎不喜歡讀郵件