前言
編程是無界限的,
無論處於哪個年齡段,均可入門。編程語言就是用來提高生產力,讓人更高效地處理問題的。
學習態度
不要為學而學。
不要把編程當成一門課程一樣,內容學完了,掌握了,能寫 hello world,還能完成一些習題要求,就覺得完了,結束了。
編程是一種終身學習的技能,學完了也不能扔。
所以呢,你看,像學課程一樣學編程語言,都長久不下去。
就像掌握了工具之後,掛在庫房裡生鏽,終究沒有用了。
有興趣做長久,有思路做產品
對於孩子,Scratch 組件都掌握之後,能不能做一些產品出來,輔助學習。
比如遞歸思維的漢諾塔問題。
分析移動的規律。
然後用程序實現出來。
這就是遇到問題,抽象分析出來,使用程序實現,這麼個過程。
桶排序:scratch & python 實現方法
再舉一個例子,算法桶排序問題,我們使用scratch和python分別實現。
桶排序(Bucket Sort)的原理很簡單,分為以下四步:
- 設置固定數量的空桶。
- 把數據放到對應的桶中。
- 對每個不為空的桶中數據進行排序。
- 拼接不為空的桶中數據,得到結果
下面是桶排序算法的動態過程圖。
精簡為流程如下。
假設有這樣一個場景,有一列成績評分(1-10),其中一列數為 5,4,1,7,9,3,6,2,4,要求對其桶排序。那麼我們假設使用10個桶,依次盛放這些數。
下面是scratch的實現:
下面使用python實現。
下面是C++的實現。
下面是JAVA的實現。
不同的語言,數據結構和用法不同,但核心思想相同。
python一些學習資源
有其他語言經驗的程序員,與小白入門學習python出發點是不同的。
國內視頻教程,大抵偏向於數據分析,或者網站開發,或者自動化測試等等,需要掌握的業務知識較多,不適合小孩子學習。
對於小孩子要學習python,我更傾向於其學習簡單的語法,以及像scratch一樣,寓教於樂,在玩樂中學習python的用法。
在GitHub整理了一個練習用的代碼倉庫,可私信我獲取。下面是倉庫代碼的一些截圖。
比如使用turtle繪圖。
比如練習使用函數,學習循環語句。
比如學習使用類和方法組織代碼。
另外一個好用的入門教程,就是廖雪峰寫的python教程。廖大神出品了許多膾炙人口的學習教程,口碑極佳。
有很多示例,可在線直接修改運行。
還有一個初學者友好的菜鳥教程。
文檔目錄組織可圈可點,但是僅針對語言層面的學習,不如廖大神來的靈活。
結語
找來找去,覺得對於小孩子的教學,上面的資源都不太理想。
首先python的用途太廣,學習不能求大而全,需要選一個方向,深入研究。
其次很多資源是英文的,對於孩子和家長,有不小的要求。
所以,慢慢來吧,不要著急。讀的多了,寫的多了,就上手了。
我是 ,持續分享編程與程序員成長相關的內容,歡迎關注~~
閱讀更多 程序員小助手 的文章