隨著大數(shù)據(jù)、人工智能、5G等等越來越多的影響到我們的生活,很多家長覺得是時候讓孩子學(xué)習(xí)編程了,如果不了解如何構(gòu)建的網(wǎng)絡(luò)世界,在將來殘酷的競爭中會有一個短板。正是這樣的需求驅(qū)動,最近兩年青少年編程蓬勃發(fā)展起來了。這讓家長們感到,再不學(xué)習(xí)少兒編程就晚了。
如果要進(jìn)行少兒編程的學(xué)習(xí),家長需要對編程有一定的了解和初步的認(rèn)識,要搞明白能過培訓(xùn)能讓孩子學(xué)習(xí)到什么,應(yīng)該學(xué)習(xí)哪些程序語言,花了錢和時間,將來要得到一個什么樣的結(jié)果。
首先,少兒編程是一個入門級的編程,與真正的以編程為的程序員的編程還是有比較大的區(qū)別。在原理上,在基本語法上是一樣的,但要家長們要清楚,即使你花再多的錢和時間,在少兒編程班學(xué)習(xí)完成的孩子也達(dá)不到專業(yè)水平。這很好理解,很多大學(xué)畢業(yè)的計算機專業(yè)學(xué)生在剛畢業(yè)也不專業(yè),也無法立即,還得去一些專業(yè)的培訓(xùn)班再去強化學(xué)習(xí)。
那既然無法達(dá)到專業(yè)水平,我就不學(xué)了。這種想法也不對,古語有云,千里之行始于足下,先開始入門級的學(xué)習(xí),讓孩子產(chǎn)生興趣,有一個起步。少年編程更是一個通向程序世界的窗口,讓你一窺計算機世界的五彩斑斕。讓孩子對一些編程的基本概念有一個理解,豐富知識,等到將來真要專業(yè)化學(xué)習(xí)的時候也是快人一步了。
我們對待編程的態(tài)度應(yīng)該要像孩子學(xué)習(xí)英語的態(tài)度,羅馬不是一天建成的,編程需要長時間投入,持續(xù)學(xué)習(xí)。另外,家長們也要明白,從少年時代學(xué)習(xí)英語言并不是長大以后為了當(dāng)翻譯官,而是為了能掌握一個知道工具。編程也是如此,長期的學(xué)習(xí)編程不是為了長大以后當(dāng)個碼農(nóng),而是在將來殘酷的社會競爭中,多掌握一個工具。按很多家長參與培訓(xùn)的邏輯說是“不輸在起跑線上”,不能說別人的孩子都懂,咱們孩子和傻子一樣的一說編程啥也不懂。
回到問題本身,該不該讓孩子學(xué)習(xí)編程呢?答案是肯定的,早點學(xué)習(xí)和接觸編程,百利無害。
孩子什么時候開始學(xué)習(xí)編程最合適呢?通過我多年的編程培訓(xùn)經(jīng)驗來看,上了小學(xué)以后開始學(xué)習(xí)編程是一個比較合適的時機?,F(xiàn)在市面上有很多少年編程,一般說最早是6歲開始學(xué)習(xí)。太小了學(xué)習(xí)編程意義不大,孩子的注意力,學(xué)習(xí)能力,理解能力都達(dá)不到要求,并且學(xué)習(xí)編程由于都是人造光,時間長了對人的眼睛有一定的傷害,因此不宜過早學(xué)習(xí)編程。
我的建議是9歲為,這時孩子在三年級左右,在學(xué)校里培養(yǎng)了一定的學(xué)習(xí)能力,這樣再來進(jìn)行課外的編程學(xué)習(xí),會有很多好處。
到底是線上學(xué)習(xí)還是線下學(xué)習(xí)好呢?
這個并沒有一個絕對的答案,各有利弊。線上編程一對多,一個老師多個孩子,由于網(wǎng)絡(luò)延時,在線屏幕交流的局限性,老師的注意力分配等等原因?qū)е拢赡軙W(xué)習(xí)有一定的影響。但入門級的編程我認(rèn)為也是可以的,一般入門級的編程都是scratch這類,并不是很難,只要一個班的人數(shù)不是特多,在4-5個孩子這樣,應(yīng)該也可以接受。這種班對老師的要求比較高,責(zé)任心、在線培訓(xùn)的經(jīng)驗、能力等等。
在線1對1,一個老師一個學(xué)生,這樣的好處是老師可以比較專注的管理一個孩子,缺點是成本高,老師的質(zhì)量可能不太可控,如果遇到好的老師那肯定是方案。但是很多機構(gòu)為了控制成本,為了追求利潤,老師的質(zhì)量肯定是無法的,可能前期打品牌的時候用了一些好老師,慢慢的就會往里面注水,家長也不懂,難以衡量。
線下編程,這個還是比較推薦的方式。但以我的經(jīng)驗盡量少去參加那種大規(guī)模做廣告的少兒編程培訓(xùn)班,這種都培訓(xùn)班都是資本驅(qū)動,課程都是程式化,為了擴大規(guī)模對老師的質(zhì)量都要求比較低。
線下編程適宜去中等偏小的培訓(xùn)班,有同學(xué)或同事的孩子參加過,有口碑。記住,培訓(xùn)最重要的不是品牌,而是老師,是的保障,培訓(xùn)機構(gòu)的品牌則不行。很多中小培訓(xùn)班的老師都是程序員退休或轉(zhuǎn)型的,如果有積累了一定的教學(xué)經(jīng)驗以后,這樣的培訓(xùn)質(zhì)量是的。
編程和英文有相同之處也有不同之處。編程更注重動腦動手,少兒編程的核心目標(biāo)應(yīng)該是鍛煉少兒的編程思維,掌握一些編程的基本工具,有一定的基本編程能力。編程的本質(zhì)是人與計算機的溝通,讓計算機按人的意志去辦事。這里面又包含了語言之外的很多東西,邏輯推理能力,分析能力,判斷能力等等。
英語的學(xué)習(xí)無論是在線或是線下都問題不大,英語的學(xué)習(xí)主要是通過對話加深記憶,只要在那聊天就行了。而編程不行,編程必須進(jìn)行思維訓(xùn)練,必須動手實現(xiàn),特別強調(diào)邏輯抽象能力,因此英語可以不依賴?yán)蠋煟幊虒蠋煹囊缶头浅8吡?。少兒編程實現(xiàn)起來很容易,但要是講清楚了還是有一定難度的,如果遇到不好的培訓(xùn)班會發(fā)生這樣的情況,孩子在班里順著做下來,但是自己一做就做不出來,這其實是沒學(xué)明白編程的原理。很多培訓(xùn)班為了讓家長滿意,填鴨式的讓孩子背了幾個流程,做出兩個小游戲出來。
最后談一談少兒編程的學(xué)習(xí)路徑與語言的選擇。
入門級的編程現(xiàn)在都是scratch,這個應(yīng)該沒什么爭議,是麻省理工大學(xué)開發(fā)的一套少兒編程框架。這套編程工具系統(tǒng)可以零基礎(chǔ)的青少年對編程有一個初步的認(rèn)識,是編程入門的教學(xué)系統(tǒng)。Scratch是幾乎所有編程培訓(xùn)入門班的教學(xué)工具。
在scratch完全掌握以后我建議直接學(xué)習(xí)python編程,python是一種非常強大的編程語言,在計算機世界應(yīng)用的非常廣泛,是一種易于入門學(xué)習(xí)但卻專業(yè)能力又非常高的語言。我們熟悉的知乎、豆瓣都是用python語言開發(fā)的。Python語言又是人工智能第語言,將會成為未來世界的通用語言。Python有著像英語一樣易于理解的語法格式,又有著幾乎無所不能的應(yīng)用場景。更強大的是python可以與scracth無縫對接,很多的scratch機器人同時支持python語言。
Python階段完成的建議可以進(jìn)行網(wǎng)頁編程的學(xué)習(xí)HTML5、CSS、JAVASCRIPT等語言的入門級學(xué)習(xí),這會兒孩子已經(jīng)進(jìn)入了青少年時代,可以進(jìn)行一些更專業(yè)的學(xué)習(xí),了解一下是什么構(gòu)成了互聯(lián)網(wǎng)的大千世界。正是HTML等WEB前端編程結(jié)合python等后臺編程共同完成了互聯(lián)網(wǎng)世界的構(gòu)建。學(xué)習(xí)完HTML,JAVASCRIPT等前臺技術(shù),是手機APP,互聯(lián)網(wǎng)網(wǎng)站,車載電腦等等幾乎所有人機交互界面都必須的語言。
計算機語言非常博大精深,不是短時間能學(xué)習(xí)完成的,很多計算機專業(yè)人士也都是學(xué)習(xí)或使用了的某一部分功能。當(dāng)編程能力到達(dá)一定水平的時候,可以適當(dāng)?shù)呢S富一下計算機知識。比如說計算機原理、Linux操作系統(tǒng)、數(shù)據(jù)庫的一些基礎(chǔ)原理、web服務(wù)器、云計算等等。
如果在中后期家長的目的是讓孩子進(jìn)行機器人大賽等等比賽,拿到名次獲獎,可以針對性的學(xué)習(xí)一些底層的編程技術(shù)。如果僅僅是為了豐富編程知識、了解編程技術(shù)、scratch、python、htmljavascript就完全夠了,掌握了這些基本技術(shù)這些已經(jīng)足夠強大。Python、javascript這兩個精通一個在當(dāng)前的市場中都可以挑戰(zhàn)30萬的年薪。
現(xiàn)在編程班中還開了一些其它語言的課程比如c/c++,這個不我建議學(xué)習(xí),難度太高,學(xué)了可能也會忘記,對于一般人來說應(yīng)用場景太少,c語言名氣很大,但是很不實用,c語言屬于一種中間語言,不算是高級語言,是面向硬件編程和操作系統(tǒng)編程人員的一種主要語言。學(xué)習(xí)難度大,收益低,將來大概率毫無用處。
Java語言在青少年階段學(xué)習(xí)的必要性也不大,JAVA是一種工程項目語言,主要用于互聯(lián)網(wǎng)中間層和電信業(yè)務(wù),JAVA語言比較專業(yè),語法接口復(fù)雜,不適合初學(xué)者和青少年學(xué)習(xí)。JAVA語言更注重團隊協(xié)作而不是個人使用,是一種比較重度的工程語言,不適合青少年學(xué)習(xí)。
最后做一個簡單的總結(jié)。
少年編程可以學(xué),9歲為佳。找本地有口碑的線下培訓(xùn)班。老師的知名度和教學(xué)質(zhì)量決定培訓(xùn)的質(zhì)量。在線編程可以參加,目前僅限于入門級的好一些。主要看錢,如果錢不多的話,都可以試試,因為無論如何少兒編程都是以興趣入門為主,太貴的班,花錢太多沒必要,可能是智商稅。編程是一個需要長期學(xué)習(xí)和投入的課程,一旦開始學(xué)習(xí)不要過長時間中斷,要持續(xù)學(xué)習(xí),直到基本掌握。