少兒編程 > 文章資訊 > 少兒編程 > 簡論少兒編程對于兒童和基礎教育的巨大作用
簡論少兒編程對于兒童和基礎教育的巨大作用
童程童美 2017-05-31
少兒編程對于兒童和基礎教育具有巨大作用。用三個判斷來說明,不僅在數學、邏輯、設計思維和程序設計等基本技能上具有巨大作用,而且在跨學科學習和融合學科實踐上具有巨大的作用。
摘要編者按:少兒編程對于兒童和基礎教育具有巨大作用。用三個判斷來說明,不僅在數學、邏輯、設計思維和程序設計等基本技能上具有巨大作用,而且在跨學科學習和融合學科實踐上具有巨大的作用,同時少兒編程將深入的培養兒童的創造性、團隊協作以及數據和系統思維能力等高階能力。
當然,即使是從信息技術奧賽對孩子的幫助,以及未來一流大學對于自主招生中STEM實踐的重要性,甚至孩子高等教育結束后他的學術界研究工作或者工業界職業發展,少兒編程都是有持續重要作用的。
再有,編程,做產品,開發游戲——這不是一件很酷的事情嗎?!比玩游戲要酷多了。會編程的孩子,將成為孩子群體中的搖滾巨星。
序言
坦率的說,少兒編程不是一個“寫程序,做碼農”的事情,少兒編程方向是一個基礎性的學科群體,在計算機科學發展到今天,在人機協作系統深入人類社會方方面面的今天,這么講是為編程正名:這就是我今天主要想探討的,為什么少兒編程是基礎教育一個升級的巨大機會,為什么少兒編程對于兒童基礎教育有巨大的幫助。
成語有云:名正言順。最近有和業內人士交流的經驗,無論是否懂計算機科學的教育人士,都覺得少兒編程是一個選擇性的興趣學科。我的觀點是從基礎性學科的可能性開始談起,認為少兒編程方向,未來可能會像數理化一樣,成為一個基礎性學科,甚至人文、藝術也可以基于它有延伸和融合。
在這個時間點,這是一個有爭議而且有趣的話題。做教育的人關心,家長也關心,而當我們接觸到大部分有這方面接觸的家長來講,談及Minecraft、Scratch等等,都說孩子們是超級喜歡。換言之,孩子們對電子游戲和計算機世界不是無感的,他們是最早投入和感興趣的一批人類群體。無論我們是否回避,在孩子們基礎教育甚至高等教育的同步年齡段,以電子游戲和計算機世界為代表的生活方式都會大規模浸入孩子的真實生活。不管我們如何爭議、甚至堅決要求杜絕孩子接觸計算機,但事實上,我們絲毫拒絕不了計算機世界對孩子成長的影響。
所以,無論你持有什么立場,不妨和我一起來看一看,從我這個對少兒編程學科群有正面看法的人的視角里,看到一條不一樣的路。盲目的批評和拒絕是沒有意義的,但我歡迎任何有價值有針對性的探討和質疑。
我認為,少兒編程對于兒童和基礎教育有巨大作用
基本背景與印象介紹
雖然有一部分同學可能對程序設計(也就是編程)、程序員(或者軟件開發工程師)有一些聽聞,但實際上真正了解少兒編程的并不多。我們不是從一個職業技能在談這件事,而是從兒童教育在談這件事。所以需要給大家一個初步的印象。兒童接觸少兒編程的起步,大體是一個什么印象。
我們以Scratch為例進行展示;后面通篇默認都以Scratch為基礎工具。Scratch是MIT研發并開放的一個兒童圖形化編程的工具平臺。可以在web上進行操作和分享,也可以下載到計算機本地。兒童甚至成人都可以使用它,來制作動畫賀卡,制作游戲,制作音樂,制作各種他們可以用編程完成的任務。非常的酷炫,所以也有人說,會編程的孩子未來就像搖滾巨星一樣,在孩子他們的群體中。
我自己因為做課程的關系,用Scratch來編程,都有一點上癮的感覺。非常的有趣。當然,它是一個圖形編程的工作方式,非常適合兒童,但相應的它的編程語言設計,相比較專業計算機語言而言,就是一個簡版——我想用它設計分形圖形繪制這樣的復雜計算任務,還是難以實現的。但無論如何,對于兒童起步而言,剛剛好。下面是一個簡單的例子:
左邊舞臺上,有一個默認角色,就是一只小貓咪。中間功能區有各種指令代碼和套裝、語音設計功能等。右邊是編寫代碼的區域。這個例子中,我對小貓咪寫的代碼翻譯是:
當旗幟被點擊啟動;
永遠循環下面這些動作:
往前走10步;
如果碰到邊界,折返。
所以這一段代碼的例子,就是讓這只小貓咪來回走動散步,碰到舞臺邊界的時候折返。
孩子懂得這些指令的基本含義之后(他完全可以探索式的嘗試,弄懂大部分簡單指令的含義),他就可以把中間的指令拖拽到右邊,享受他控制小貓咪的樂趣,創造一些活動場景和游戲的樂趣——這些就是編程過程。
所以這個兒童編程的過程,不是像我們軟件開發工程師那樣,對著符號化的計算機語言來工作。而是面向一個圖形化界面,面向一個具有豐富角色和操作性的、能夠讓他控制全部的新游戲。少兒編程就像一個創世紀的游戲一樣,這是我們的一個基本印象。
少兒編程對于兒童教育的巨大作用
三個層面來回答少兒編程對于兒童教育的巨大作用。
第一層:少兒編程有著豐富的基本技能內涵,可以在各個方面幫助到兒童。
第二層:少兒編程是一個學科融合的最佳平臺(之一),可以提供跨學科的學習。
第三層:少兒編程可以完成很多高階能力的培養,在未來公立教育中的地位也會不斷提高。
少兒編程培養兒童的基本技能
少兒編程涉及到的基本技能非常豐富,不僅僅是編程本身。我們前面說,就以Scratch為例,至少有如下四個方面的基本技能方向,如圖:
數學方面
第一個方面就是數學。少兒編程圖形化編程,第一技能方向就是數學。我們前面注意到,兒童學少兒編程,首先注意的就是一個或一些角色在舞臺上的行動——這其中就包括:
★坐標系:舞臺是一個以中心為原點的直角坐標系,x軸正方向為右,y軸正方向為上。通過(x,y)坐標點,來控制所有角色的位置。事實上,舞臺上還有一個隱含的坐標系,通過方向、角度和距離,這是一個極坐標系。上下左右的位置,行動操控都是通過角色的坐標來實現的。
★數據類型:最常見的是整數和小數,即實數集(在Scratch中所有實數是一個數據類型),另外還有布爾類型(真或假)、字符串類型(一段文本)。
★數據的比較:也就是數學中三種基本順序,大于、等于和小于。
★算術運算:加減乘除是四種基本運算,兒童在編程過程中,常常需要在具體的場景中來運用這四種基本運算。另外還有取模運算和四舍五入。
★數學函數:在編程過程中,兒童將接觸到一些基本的數學函數,包括取絕對值,三角函數,對數函數以及指數函數等??梢苑浅V庇^的通過函數圖像的自動喵點畫圖及生活應用來理解它們。
★幾何圖形:在編程過程中,一類常見的任務就是圖形繪制。這個過程中,兒童將大量接觸幾何圖形,并從坐標系中進行圖形繪制和操控。
所以這里面有著大量的數學學科內容,而且,這些內容都在具體的問題和任務場景中出現,既包括基本算術和幾何圖形知識,也包括函數以及坐標系等中學數學核心概念。通過它們在具體任務中的應用,兒童不僅操控了這個虛擬世界,而且會切身鍛煉到、應用到數學知識和能力。
邏輯方面
編程的基礎,既有數學,也有邏輯。邏輯思維能力,是兒童發展的一個基本能力,在文理各個方向都是十分重要的基礎。少兒編程,可能是第一次對兒童正式的、系統的進行邏輯方面的鍛煉。
★邏輯變量:起點就是邏輯變量或事件的真或假。真或假是邏輯世界的兩個基本值。
★比較邏輯:對于用比較判斷的邏輯,是兒童有直接經驗并可以學習的基本邏輯判斷,大于、等于、小于三種邏輯判斷。
★事件邏輯:其次是事件邏輯,基于事件的判斷,也是兒童比較熟悉的。少兒編程用幾種基本的事件模式,來生成事件判斷語句。在Scratch中都是以“觸碰”為核心動作來構建的。
★邏輯運算:在簡單的邏輯推理中,三種基本邏輯運算是最重要的基礎。即與邏輯、或邏輯和非邏輯——這三種基本邏輯在少兒編程中大量的使用到。
★邏輯控制:然后就是一組邏輯控制,包括條件判斷、循環控制和等待。這些既是少兒編程的基本邏輯控制語句,也是邏輯思維鍛煉的一個基本工具。
所以在少兒編程中,邏輯思維的訓練是一個基本訓練,這也是程序設計及計算機科學方向的一個基本核心特征。兒童將在大量的問題解決和任務控制中,形成系統化的有邏輯的解決方案。突出鍛煉到兒童的邏輯思維能力。這種邏輯訓練的密集度,不是其它活動所能比擬的。
設計思維
設計思維是人們提出的對未來社會有重大意義的思維方式,它是一種面向問題解決的、創新的系統思維方法。這也是屬于STEM課程方向內少兒編程的優勢之一。我們的兒童將學會系統的思維方法來分析、分解問題(需求),并通過綜合的資源來解決問題。
★基本設計:在Scratch的編程世界中,任何一個問題需求或任務,都需要在背景、角色及行為上進行思考和分解。它們是這款編程工具提供的基本視角和思維框架。
★角色表達:在角色的行為表達過程中,基本的表達工具是外觀圖形的控制和聲音音樂的控制(Scratch提供21種樂器的模擬)。一個角色的外在行為和表達,無非這些方面。
★交互邏輯:在事件過程中,背景、角色、行為所組成的一個完整世界中,核心邏輯是通過它們交互來完成的。除了程序所控制的軟件層面的交互之外,Scratch還提供豐富指令對計算機外部設備(如鼠標、鍵盤)以及外部的自動化控制元件的操作能力,這使得少兒編程的解決問題方式,擴展到了硬件層面,擴展到了生活中的自動控制層面。
所以,少兒編程是一個具有豐富資源和場景可能性的學科方向,以驅使兒童深入的、創新的考慮問題的解決方法,并鍛煉到兒童的設計思維。隨著問題的復雜度,以及兒童問題解決方案的復雜度,和方案中操控設備復雜度的提升,兒童的設計思維能力在不斷提升。
程序設計
我們最后再談一談少兒編程對程序設計能力的提升——這是顯而易見的,這是本門的功能。雖然我們前面說,就編程啟蒙工具Scratch這一類而言,它的語言設計是簡版的,但對兒童而言卻是剛剛好。
★程序設計的基本方面:程序設計和計算機語言的基本方面,包括數據與變量的概念,包括語句和模塊(函數),都是程序設計的基本概念。
★計算機科學的方面:另外,Scratch中還有數據結構的支持,這是計算機科學的基本核心內容之一,還有對消息機制的應用,這在計算機軟件系統中大量的應用著。同樣的,需要使用到流程圖等設計工具。
★系統運行邏輯:目前我們的社會,是一個人機協作的社會。相當多的職業和職位,都需要和計算機系統打交道。理解計算機系統運行的原理,最好最深入的方式就是理解一段程序。少兒編程每個任務,都會涉及到系統啟動、運行和結束的基本過程。
★工程技術研發邏輯:這既屬于元認知層面的訓練,同時也是STEM學科方向的基本特征之一。兒童在少兒編程過程中,將學會如何分析問題(需求),學會設計、研發、測試,并在應用中體會著解決問題的快樂。深刻理解在工程意義上而言解決一個真實問題的過程。
小結
通過以上數學方面、邏輯方面、設計思維和程序設計四個方向基本技能介紹,我們可以得出結論,少兒編程這個學科,對比現在學校里的所有學科而言,都有鮮明的特色和優勢。它對我們兒童的教育和鍛煉,恰恰是許多學科所不能提供的。
所以,少兒編程對于兒童的基本技能的學習和訓練,有著巨大的、不可替代的作用。
少兒編程對于兒童跨學科學習的幫助
比較先進的教育國家,及創新學校,都有在融合學科、跨學科的學習模式上有探索。這有真實的社會需求和背景,也有學科發展細化之后的內在邏輯要求。但是我相信,在基礎教育階段,融合學科或跨學科學習應該如何做,應該有很多人在困惑中。不是簡單的拼湊,不是簡單的活動展現,而是扎扎實實的在提出問題、并通過學科融合的思路來解決問題——很多人對此不知道應該如何做。
我的觀點是,少兒編程是兒童跨學科學習的最好的工具之一。無論是在學術界,還是在工業界,計算機科學已經融合到各個學科當中,做天文研究、做數學研究、做醫學處理,甚至做文學事業,都需要使用到計算機學科方法或成果。這是世界發展的自然結果;我們的教育上,在面向跨學科學習的命題時,也必將發展出基于少兒編程的基礎教育中的學科融合學習模式。
我這里有一個簡單設想,也是我自己設計少兒編程課程中的基本原則:
少兒編程課程可以非常好的融合數學學科、融合生物學科、融合科學學科,可以非常好的融合游戲,融合社會調查,融合語文戲劇。這里的創造性是無窮的。我們一開始就說,如果你把少兒編程當作小碼農——這是一種窄化思維。就如其它學科一樣,學數學不一定要做數學家,但生活中數學無處不在,學物理不一定要做物理學家,但科技中物理無處不在一樣,我們基于少兒編程的工具,可以開展大量的融合學科的任務:
★生物:例如,我們可以模擬螞蟻的信息識別機制,用程序模擬螞蟻探路的過程,兒童將會對生物系統更加的感興趣。我們還可以通過程序繪制花形,來了解植物花朵知識。如果使用其它高級語言,我們甚至可以利用分形原理來繪制美麗的分形樹。這些任務都融合了生物學的知識。
★數學:例如,我們可以用程序設計來模擬時鐘,做一個可以真正使用的電子時鐘,兒童會更加深入了解時間機制。當然我們還可以做計算器,可以做三角形分類器。這些任務都將加深兒童的數學理解、生活應用以及編程能力。
★游戲:這個甚至都不需要舉例,因為電子游戲就是程序設計的一個基本方向。沒有兒童不喜歡游戲,但兒童更應該了解游戲的創造過程——這將遠比游戲帶給他們的幫助更大。我們后面還會提到這個例子。
★科學:例如,我們利用物理學基本規律,可以設計自由落體實驗的場景,讓兒童在模擬世界中探索物理規律,并通過自己編程來進一步加深理解。甚至可以導向兒童的終極思考——我們的現實世界,誰是程序編制者?
這些跨學科的綜合實踐任務,都是需要多個學科的角度來考慮,來設計,并給到兒童綜合的實踐環境。少兒編程只是一雙鞋,一部車,兒童駛向哪里,將取決于我們的教育和兒童自身。這里與職業教育所不同的,恰恰是“編程不僅是編程”。
少兒編程對于兒童高階能力的培養
近兩年以來,看了大量的對教育反思的材料。有一個點非常值得提出——那就是,不管我們對教育多么有意見和鞭策意愿,但事實上我們對公共教育所承擔的目標,已經大大的發生了變化。從最開始的識文斷字,到今天,已經有大量的高階能力培養需求。
這不能不說,這是我們社會深刻變革之后的結果。當然,也不能不說,我們的教育,尤其是基礎教育,還沒有為此做好準備。
對少兒編程而言,我將談及四個方面。分別是創造性、團隊協作、數據與系統思維,和公立教育的對接與收益??赡懿糠旨议L最看中最后一個方面,雖然我不能不談,但我還是想把它放到最后。如下圖:
創造性
創造性的重要性無需我再饒舌。但對于創造性的培養,在教育圈內卻是莫衷一是。甚至有一批人認為,創造性是無法培養的。我們對此不做學術意義上的辯論,但我認為,創造性不管能否培養,它的確是需要土壤的!我之前在數學啟蒙的總結中曾提到,真實問題的經歷和思考過程,是創造性最好的土壤。也就是說,我們的孩子需要在真實的生活中發現問題、經歷問題,經歷那種痛苦或不平衡帶來的沖擊和壓力,然后經歷這個探索思考過程,這里就是創造性產生的土壤。從這個層面而言,少兒編程所涉及的大部分任務,都是具有場景的任務,如果問題提出得當,這些問題對兒童實踐而言都有非常好的教育意義。因為少兒編程是一個基于實踐的學科,基于問題解決的學科,所以這里就是創造性的天然土壤之一。
而另外一個角度,我們的兒童都必將在某個時間點接觸電子產品,接觸游戲——我們前面就說,這是我們無法拒絕的。如果孩子癡迷于游戲,過則有害。這也是顯而易見的,也有許多適齡家長為此頭疼。但實際上,在兒童接觸到電子產品和游戲的同時,給他接觸到一個強相關的高階活動,一個更加激發他創造性的學科方向——基于編程創造游戲,創造電子產品,且社會、家庭都對此是肯定的,那么我相信大部分兒童都會有正面的影響。打游戲打的好不再是一件很酷的事情,編程開發出好的游戲和產品,才是更酷的,且有社會家庭的大量的正反饋。
團隊協作
兒童需要大量的團隊協作的任務,尤其是在我們中國這個社會現實下,獨生子女居多的時候?,F在學校對于團隊協作,那是非常的弱。甚至種種原因,團體體育活動也不夠多。即使可以參與團體體育活動,它也是一個基于身體條件來對抗的競賽活動,這是一個身體條件決定角色、以團隊榮譽為主、進行簡單規則下的競賽式的活動,它和我們真實社會中復雜的協作活動還是有區別的。(我國大量體育運動員轉型進入社會后,多數人會面臨很大挑戰,恰恰是這種長期單一的體育運動的學習帶來的不足)
除了體育運動之外,我們需要這種團隊協作任務:
★以真實問題(需求)為導向
★以密集的智力交互為基礎
★任務、職能角色、管理均與社會實踐高度一致
滿足這些要求的團隊協作的實踐任務,且適合在基礎教育階段實施,其實并不是很多。而少兒編程,恰恰就是這樣一個學科。它有自身的核心素養方向,有各種學科融合的能力,有高階能力培養的功能,而且,許多編程任務,恰恰需要兒童們團隊協作來完成。而團隊協作的復雜度,既足夠和社會實踐一致,又可以控制復雜性。(最大的問題,反而只是我們學校的教師不具備工程研發和管理的經驗,而做不了這一塊的引導。但對于創新學校與合適背景的人而言,這一般不是問題)
我看過一些所謂的領導力培養案例,要么是演講要么是形式化的流程,兒童并沒有基于目標的行動,沒有真實的任務協調與沖突,并沒有形成真實的團隊,那么團隊協作能力甚至是領導力,都是浮光掠影的。
數據與系統思維
在數據與系統思維方面,我們探討一種可能性。
這種可能性就是,未來社會中許多中高級職位,都將需要職業人一個基本能力,那就是數據與系統思維的能力。不妨看看我們身邊的高級技術人才和管理人才,他們此時都具備這一基本素質。
他們都有著豐富的數據能力,包括獲取數據、處理數據和基于數據決策的能力,這不是簡單使用工具的能力,而是內化到思維方式的一種工作方法論。很多人職業發展不順利,是因為他們的工作中不知道用數據描述目標,不知道用數據管理過程,也不知道怎么取舍和決策;雖然他們可能很熟悉計算機系統,熟悉各種統計工具。
所以在今天以及未來的職業發展中,這種數據能力,以及人機協作復雜系統中的實踐能力,必將成為一個核心競爭力。
我的基本觀點是,如果社會需要,那么我們的基礎教育必須有所準備,有所啟蒙。如果這樣的能力是大部分中高端職位都需要的,那么在基礎教育啟蒙的時候,它必然成為一個主學課。如數理化一樣。
公立教育對接
最后,我們說一些未來公立教育發展層面的收益。
首先,信息技術奧賽也開始逐漸有影響力,對于感興趣的中學生而言,這是一個很好的展示自我能力的平臺。信息技術奧賽中除了基礎知識之外,主要題目就是編程,通過數據結構和算法來實現編程,解決可計算的比較復雜的問題。這對部分兒童成長和未來發展是有幫助的。
其次,越來越多的大學將嘗試自主招生。在所有科學和技術方向的專業(也是現在社會上最大的專業群之一),STEM實踐都將會具有顯著意義。而在STEM中有幾個基本學科,其中少兒編程是最具有開闊視野的,最有延展性的,也是最深入的學科之一,所以我認為它最具有潛力。在未來一流大學自主招生中,基于少兒編程所做的項目和能力,將具有很好的競爭力。
最后,學好以少兒編程為基礎的學科群,未來我們的學生不一定從事IT行業,不一定去做專業的程序設計工作——但他將具有一個更加開闊的選擇和發展能力。這是毫無疑問的。不僅是學理,學文的方向也將大量得到應用。
一句話總結
少兒編程對于兒童和基礎教育具有巨大的作用。