回覆列表
-
1 # 喑啞3
-
2 # 唐風客談教育
在北美,孩子在5歲之前就開始學習程式設計,學習程式設計可以培養孩子的一些邏輯思維能力,建議孩子在6歲以下可以晚一些程式設計相關的遊戲,比如Lightbot,code.org上面的遊戲,或者scratch jr等等,到了6歲以後可以學習圖形化程式設計scratch.
在北美,孩子在5歲之前就開始學習程式設計,學習程式設計可以培養孩子的一些邏輯思維能力,建議孩子在6歲以下可以晚一些程式設計相關的遊戲,比如Lightbot,code.org上面的遊戲,或者scratch jr等等,到了6歲以後可以學習圖形化程式設計scratch.
如果沒有興趣的話,多少歲都學不好~
如果對於沒有興趣的朋友而言,程式設計只是一項非常枯燥乏味的事情,對於初學者而言也不怎麼友好,需要學習的東西太多,很多初學者覺得學了很久,都做不出什麼像樣的東西出來。而且程式設計是一種需要一直不停學習的技能,沒有興趣作為支援的話,很容易就半途而廢了。
如果題主真想讓孩子學習程式設計,首先肯定是先要培養興趣,讓他喜歡上這件事比什麼都重要。其次,程式語言有很多種,每種語言都有它所擅長的領域比如:
C(嵌入式Linux底層驅動開發,假的高階語言),
Python(人工智慧,網路爬蟲,膠水語言),
Java(伺服器開發,桌面應用),
C#(Windows應用,網站開發),
Javascript(加CSS,HTML做前端,或者node.js做後端開發),
PHP(世界上最好的語言[滑稽])……
答主就是用C語言的,嵌入式物聯網方向。樓主可以去了解各種語言的應用領域,挑選一門語言作為入門語言,個人推薦C語言或者Python這兩門語言各自的優勢,題主可以去百度一下,各路大神說得比答主好多了~
作為一個嵌入式碼農,強烈推薦C語言作為入門首選~這時肯定有人要來噴題主了,C語言對於初學者來說簡直就是一場噩夢,指標(指標函式,函式指標,指標的指標,結構體指標,能繞暈一大堆人);記憶體分配(一不留神就記憶體洩露);而且基本沒有什麼庫可以呼叫,很多都要自己寫;而且是一門面向過程的語言,很容易寫出極其醜陋的程式碼(答主就被別人那醜陋的程式碼氣到砸鍵盤);還有學了很久還是隻能黑視窗,寫個貪吃蛇都費勁,都不懂能用來幹嘛……
不過說了這麼多缺點,C語言就真的是一無是處嗎?別忘了,咱們用的Windows,Linux作業系統都是用C語言寫出來的,還有很多不起眼的角落,比如紅綠燈,公交車上的顯示牌,你家的冰箱,洗衣機,空調,甚至電飯煲,都在靜靜跑著C語言寫的程式……(當然,你說你家電飯煲跑的是彙編~答主無話可說~)
話說回來,上面也僅僅說了C語言的重要性~那麼枯燥的語言,照你說的再重要,培養不出興趣也是白搭~
接下來,答主就要開始爆出大殺器了!
其實程式語言說到底也就只是一個工具而已,學習程式語言也只不過是學習一個工具,重點是看你能用這個工具做出什麼樣的東西~
於是答主給樓主推薦一個很強大的東西,既能學習C語言,又更能培養興趣的東西~
那就是著名的arduino
它是一款便捷靈活,上手方便的開源電子原型平臺。
它構建於開放原始碼simple I/O介面版,並且具有使用類似Java、C語言的Processing/Wiring開發環境。主要包含兩個主要的部分:硬體部分是可以用來做電路連線的Arduino電路板;另外一個則是Arduino IDE,你的計算機中的程式開發環境。你只要在IDE中編寫程式程式碼,將程式上傳到Arduino電路板後,程式便會告訴Arduino電路板要做些什麼了。
Arduino能透過各種各樣的感測器來感知環境,透過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以透過Arduino的程式語言來編寫程式,編譯成二進位制檔案,燒錄進微控制器。對Arduino的程式設計是透過 Arduino程式語言 (基於 Wiring)(注:其實也就是C語言封裝了一下)和Arduino開發環境(基於 Processing)來實現的。基於Arduino的專案,可以只包含Arduino,也可以包含Arduino和其他一些在PC上執行的軟體,他們之間進行通訊 (比如 Flash, Processing, MaxMSP)來實現。(這段抄襲自百度百科~)
說了這麼多雲裡霧裡的東西,該上點圖(看下面的圖,其實圖也是瞎配的)了,諾,就是這玩意
一塊看起來普普通通的電路板,它能用來做什麼呢,那可多了去了,數字時鐘,溫度監控,煙霧報警,環境監測,遙控車,智慧小車,無人機,小機器人~,
都是一些看起來很高大上的玩意,不過在我們arduino平臺上面,編寫這方面的程式碼就容易很多很多了,上面我也說C語言的庫很少,也並不是絕對的,arduino平臺把我們的MCU,常用的感測器和各種通訊協議通通都封裝起來,也就是說可以不用對底層硬體和各種複雜的協議做太多瞭解,就可以以最簡單最高效的方式做出各種看起來高大上的玩意,對於初學者來說,真的是太友好了,而且作為一款開源硬體,網上資料多種多樣,各種論壇可以給初學者遇到的種種難題提供很多的幫助。
而且玩到後期,還可以深入去挖掘底層硬體驅動,通訊協議,電子線路,這時就會發現這又是一個全新的世界在等著你~底層的暫存器彷彿就像一排排整齊計程車兵,靜靜的等候著命令(C和彙編程式)的下達,而你就是這支軍隊的首領,帶領著它們完成一個又一個任務,這種感覺是其他高階語言程式設計師所感受不到的……
當然話說回來,拿到板子第一件事肯定是點亮人生中第一個LED(hello world!),就相當於打開了這世界的大(da)門(keng)!
打開了大(da)門(keng)之後該怎麼做呢?
還用我說嘛~,給你個眼神(⃔ *`꒳´ * )⃕,自己領會~
最後迴歸主題~孩子多少歲學程式設計好?
肯定是越早越好啊!