鄧堅(jiān)
[摘要]由于信息化技術(shù)的發(fā)展越發(fā)快速,信息技術(shù)教育越來越被重視,近幾年來,隨著以圖形化編程的興起,普及編程教育也成了一種必然的趨勢,日本、韓國以及歐美各國早已將編程教學(xué)納入小學(xué)的必修課。然而,編程教育的發(fā)展離不開編程思維的培養(yǎng),本文筆者根據(jù)自身的教學(xué)經(jīng)驗(yàn),就如何培養(yǎng)學(xué)生的編程思維提出自己的建議。
2000年,教育部發(fā)布了《關(guān)于中小學(xué)普及信息技術(shù)教育的通知》和《中小學(xué)信息技術(shù)課程指導(dǎo)綱要》,此后,我國信息技術(shù)教育改革在基礎(chǔ)教育階段邁出了第一步。在接下來的十年中,中小學(xué)的信息技術(shù)教育必將繼續(xù)引起國內(nèi)學(xué)校和國際社會(huì)的大幅度范圍的關(guān)注,并將逐漸發(fā)展成為當(dāng)代我國基礎(chǔ)教育不可或缺的一部分。隨著圖形編程工具的出現(xiàn),促進(jìn)編程教育的發(fā)展已成為我國中小學(xué)教育的重要選擇。 2017年7月,國務(wù)院發(fā)布了《新一代人工智能發(fā)展計(jì)劃》,倡導(dǎo)在基礎(chǔ)教育階段發(fā)展兒童程序教育。2018年,教育部發(fā)布《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年新版)》,提出信息技術(shù)學(xué)科的核心素養(yǎng),以信息意識(shí)、計(jì)算思維、數(shù)字學(xué)習(xí)與創(chuàng)新、信息社會(huì)責(zé)任的四個(gè)核心要素組合而成。由此可見,在學(xué)校教育中培養(yǎng)學(xué)生的計(jì)算思維能力尤為重要,而編程能力的培養(yǎng)將成為培養(yǎng)學(xué)生計(jì)算思維能力的良好切入點(diǎn)。2019年3月,教育部公布《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》,明確提出在中小學(xué)教育中開設(shè)人工智能相關(guān)課程,逐步擴(kuò)大程序化教育發(fā)展。由此可見,隨著時(shí)代的變遷,編程越來越受到重視。特別是圖形編程平臺(tái)的出現(xiàn),給中小學(xué)編程教學(xué)帶來了新的機(jī)遇。目前,兒童編程教育課程已進(jìn)入教學(xué)階段。少兒編程教育課程能有效地提高學(xué)生的創(chuàng)造力,使他們在實(shí)踐活動(dòng)中愉快地學(xué)習(xí)。在這種學(xué)習(xí)氛圍中,學(xué)生的創(chuàng)新能力可以得到顯著提高。少兒編程教育對(duì)我國教育發(fā)展而言既是機(jī)遇,也是挑戰(zhàn)。
在國外,早在2012年,日本已正式開始在中小學(xué)階段普及編程教育?!秾W(xué)習(xí)指導(dǎo)要領(lǐng)》報(bào)告指出,要在2020年之前實(shí)現(xiàn)對(duì)中小學(xué)義務(wù)教育的全面強(qiáng)化引導(dǎo)。2014年7月,編程教育被學(xué)校列為英國5-16歲階段學(xué)生的必修課。2016年初,美國前總統(tǒng)奧巴馬明確表示,每一個(gè)美國學(xué)生在小學(xué)都應(yīng)該擁有最簡單的編程技能。此外,為全面推進(jìn)兒童編程教育,韓國、新加坡等國將編程納入中小學(xué)正式課程,并在中小學(xué)考試中增設(shè)編程測試。
一、圖形化編程
圖形編程是一種新的編程模式。它不像以往的編程軟件,學(xué)生不需要程序員來學(xué)習(xí)如何用C語言和python等高級(jí)開發(fā)語言編寫文本代碼,他們也不需要通過敲打鍵盤來完成代碼的編寫。相反,他們可以通過使用一些圖形模塊完成簡單的文本編程。
圖形編程的基本形式主要是圖元模塊。圖形編程就是將一些傳統(tǒng)的圖形文本應(yīng)用程序代碼直接封裝起來到一個(gè)圖元編程模塊中。每個(gè)模塊都有自己的邏輯,并以控件的形式出現(xiàn)在圖形編程區(qū)域中。每個(gè)圖元模塊根據(jù)各自的功能可分為數(shù)據(jù)、變量、函數(shù)等類型。作為圖形程序的一部分,這些圖元模塊將執(zhí)行各自的功能。用戶僅僅需將一個(gè)圖元處理模塊與其他圖元模塊進(jìn)行簡單組合就可以輕松完成整個(gè)圖形處理程序的整體設(shè)計(jì)。它可以完成軟件游戲或硬件電路的設(shè)計(jì),容易上手的入門、簡單的操作以及生動(dòng)美觀的界面,不僅易于練習(xí),而且適合各級(jí)用戶學(xué)習(xí)。
圖元模塊可以重復(fù)使用,即不同類型的圖元模塊可以同時(shí)存在于圖形編程區(qū)域中,并且它們之間沒有沖突。圖形編程軟件中有一個(gè)軟硬件模塊庫,其中包含各種類型的圖元模塊及其信息。信息結(jié)構(gòu)是一樣的,所以用戶可以一起讀取出來。不同編程模塊之間的連接決定了程序操作的順序和數(shù)據(jù)傳輸?shù)姆较?。用戶可以通過操作原語模塊來設(shè)計(jì)程序?;灸K的操作一般包括改變基本模塊的位置和設(shè)置參數(shù)。
圖形化編程具有門檻低、包容性強(qiáng)、易操作等優(yōu)點(diǎn)。在過去的十年里,它在各個(gè)領(lǐng)域都取得了很大的進(jìn)展。特別是在兒童教育領(lǐng)域,簡單快捷的圖形編程功能可以讓學(xué)生快速理解,新穎美觀的操作界面可以獲得學(xué)生的關(guān)注。這些都是傳統(tǒng)文本編程無法達(dá)到的效果。激發(fā)學(xué)生編程興趣后,學(xué)習(xí)復(fù)雜的編程知識(shí)就不會(huì)覺得難以應(yīng)付或無聊??偠灾?,少兒圖形化編程不僅可以增加編程的樂趣,而且可以降低學(xué)習(xí)的門檻和難度,教會(huì)學(xué)生“編程思維”。
編程思維可以說是兒童學(xué)習(xí)編程的一項(xiàng)核心技能。兒童學(xué)習(xí)編程的目的不是培養(yǎng)未來的“編程猿”和“攻城獅”,而是為了更好地培養(yǎng)少年兒童孩子的編程程序邏輯思維能力和解決實(shí)際問題的邏輯思考能力,使得孩子在發(fā)現(xiàn)和解決實(shí)際問題時(shí)可以更全面、清晰地進(jìn)行思考,提高他們的發(fā)現(xiàn)和解決實(shí)際問題的意識(shí)。那么,要如何才能培養(yǎng)兒童的編程思維呢?
二、教學(xué)中培養(yǎng)學(xué)生的編程思維
課堂教學(xué)是當(dāng)前基礎(chǔ)教育的主陣地。充分利用這一優(yōu)勢地位培養(yǎng)學(xué)生的程序性思維,具有參與面廣、持續(xù)時(shí)間長的優(yōu)點(diǎn),有利于學(xué)生的長遠(yuǎn)發(fā)展。在小學(xué)課堂中,大多數(shù)教師都是以課本為基礎(chǔ)進(jìn)行講授。教科書的質(zhì)量將直接影響學(xué)生的學(xué)習(xí)效果以及他們的思維方式。因此,在培養(yǎng)學(xué)生的程序思維能力的教學(xué)過程中,教師需要適當(dāng)優(yōu)化課堂內(nèi)容。
同時(shí),我們也可以在學(xué)科教學(xué)中滲透編程理念。在學(xué)科教學(xué)中,特別是在數(shù)學(xué)教學(xué)中,編程的概念也能得到很好的滲透。數(shù)學(xué)與編程一樣,這也是一種典型的應(yīng)用邏輯思維和理性思維的課程。這兩門學(xué)科都可以在遇到問題時(shí)分析出一些問題因素之間的內(nèi)在聯(lián)系,然后尋找解決這些問題的途徑和方法。良好的邏輯性思維能夠減少心理因素對(duì)思考的影響,避免當(dāng)遇到問題的時(shí)候因心理因素而無法克服的困境。同時(shí),計(jì)算機(jī)與數(shù)學(xué)學(xué)科的相容不僅僅表現(xiàn)在思維層面,在內(nèi)容方面也存在著諸多的相同,例如,在滲透變量概念時(shí),教師可以用數(shù)學(xué)知識(shí)用字母來表示數(shù)字和方程;在理解坐標(biāo)數(shù)組時(shí),教師可以用數(shù)字對(duì)來確定位置和比較;在培養(yǎng)辨別能力時(shí),教師可以從找規(guī)律中進(jìn)行關(guān)聯(lián)。關(guān)于問題解決和可能性(排列和組合)的知識(shí)是未來編程基礎(chǔ)實(shí)踐訓(xùn)練的邏輯基礎(chǔ),在語文教學(xué)中,連接詞教學(xué)與敘事之間的因果關(guān)系是邏輯的,這與計(jì)算機(jī)語言的邏輯操作也是一致的。
三、游戲活動(dòng)中培養(yǎng)學(xué)生的編程思維
游戲教學(xué)是指運(yùn)用游戲進(jìn)行教學(xué)的具體學(xué)習(xí)方法,也是教育游戲的理論支撐??鞓穼W(xué)習(xí)是游戲?qū)W習(xí)的基本概念,類似于古代的“寓教于樂”。
教學(xué)過程可以借助游戲開發(fā)來進(jìn)行,教師從學(xué)生感興趣的游戲開始著手,借助圖元模塊,讓學(xué)生利用圖形編程軟件分別或集體設(shè)計(jì)小游戲,激發(fā)學(xué)生對(duì)學(xué)習(xí)信息技術(shù)的興趣。通過設(shè)計(jì)不同的級(jí)別,讓學(xué)生在課程中對(duì)程序有更直觀的理解。豐富有趣的游戲教學(xué)方式能牢牢抓住課堂教室中每一位學(xué)生的注意力,使得學(xué)生在課堂實(shí)踐中能夠獲得更多的成就感。同時(shí),運(yùn)用游戲?qū)W習(xí)的理論指導(dǎo)課程教學(xué)實(shí)踐,以游戲?yàn)橹饕浇楣膭?lì)學(xué)生進(jìn)行交流、發(fā)現(xiàn)和反復(fù)的嘗試,可以充分激發(fā)學(xué)生對(duì)代碼編程的興趣,幫助學(xué)習(xí)者在課堂上實(shí)現(xiàn)快樂的學(xué)習(xí),進(jìn)而充分享受到自己學(xué)習(xí)的樂趣,使枯燥的代碼編程學(xué)習(xí)豐富有趣。將游戲?qū)W習(xí)理論應(yīng)用于教學(xué)活動(dòng)的實(shí)質(zhì)是充分發(fā)揮游戲的教育作用,避免以往學(xué)生對(duì)教學(xué)活動(dòng)不感興趣的局面。學(xué)生在游戲中必須要積極地探索和正確理解游戲的規(guī)則,在這一過程中,培養(yǎng)了學(xué)生歸納和分析的能力;在轉(zhuǎn)變?yōu)橛螒蛑胁涣钊藵M意的部分過程中,提高了學(xué)生的處理和解決實(shí)際問題的能力,創(chuàng)造性的思維能力和邏輯思考的能力;有的游戲有時(shí)候需要一定的知識(shí)和技巧,為了更好地保證這個(gè)游戲的正常順利進(jìn)行和開展,學(xué)生在研究游戲的過程中會(huì)花費(fèi)自己的時(shí)間和精力來共同發(fā)現(xiàn)和解決這些問題,培養(yǎng)自己的小組合作意識(shí)和能力;有的游戲需要一定的技巧,為了保證游戲的順利開展,學(xué)生在開發(fā)和學(xué)習(xí)游戲的過程中會(huì)花費(fèi)自己的精力共同解決問題,培養(yǎng)自己的團(tuán)隊(duì)合作能力。
四、利用思維導(dǎo)圖培養(yǎng)學(xué)生的編程思維
在我國大部分傳統(tǒng)中小學(xué)的信息技術(shù)課堂教學(xué)中,教師往往比較注重學(xué)生的操作技巧。這就使得教師和學(xué)生更加重視其結(jié)果,卻完全忽略了“為什么要達(dá)到這個(gè)效果“以及“是什么原理"這些重要的問題,這常使知識(shí)與具體的邏輯思維相互脫節(jié),成為“死知識(shí)”。在這種情況下,教師講些什么,學(xué)生就會(huì)做怎樣,學(xué)生則缺少自己的開拓創(chuàng)新精神。因此,在進(jìn)行編程教學(xué)的過程中,教師甚至可以通過運(yùn)用思維導(dǎo)圖清晰明確顯示“隱性”的思維流程和方法。隨著探索性思維的深入,學(xué)生能夠逐步地形成在思維過程中直觀有序的地圖。
通過直觀的圖形和連接線的形式,學(xué)生不僅了解了編程問題的思維過程和子程序之間的具體關(guān)系,簡化了程序的算法和過程,而且更容易理解和接受。在實(shí)際的編程教學(xué)中,教師可以利用可視化學(xué)習(xí)工具幫助學(xué)生闡明編程思想,優(yōu)化解題思路和方法,對(duì)編程過程、數(shù)據(jù)和結(jié)果進(jìn)行對(duì)比分析,從而簡化編程過程。在編程教育的課堂教學(xué)中,針對(duì)具體問題,編程可能需要使用跨學(xué)科,跨章和跨年的知識(shí)。通過使用適當(dāng)?shù)乃季S導(dǎo)圖,可以將這些分散且相對(duì)獨(dú)立的知識(shí)點(diǎn)進(jìn)行清楚地關(guān)聯(lián),從而幫助學(xué)生有效地提取各種信息,并使凌亂而豐富的知識(shí)內(nèi)容生動(dòng)易記。
五、日常生活中培養(yǎng)學(xué)生的編程思維
學(xué)習(xí)的最終目的絕不只是單單的掌握知識(shí),而是為了運(yùn)用到生活當(dāng)中,學(xué)習(xí)與生活是相輔相成的,離開了生活的學(xué)習(xí)就只是無源之水,無本之木,無法運(yùn)用到生活中的知識(shí)也就只是一堆“死”的文字。因此,真正的知識(shí)應(yīng)該是來源于生活而回歸生活的,同理,學(xué)生編程思維的培養(yǎng)與日常生活也有在不可分割的關(guān)系。例如,學(xué)生可以在家里學(xué)習(xí)組織一些常見的事情,在整理物品和材料的過程中,讓學(xué)生逐漸學(xué)會(huì)思考物品的分類、組合、包裝和儲(chǔ)存。在這個(gè)過程中,學(xué)生要思考事物的特點(diǎn),比較不同的事物,它們是相關(guān)的還是相互排斥的,這對(duì)思維訓(xùn)練也有很大的幫助。
六、結(jié)語
隨著編程教學(xué)越來越被重視,編程工具種類繁多,知識(shí)更新速度非???。教師不僅必須在有限的時(shí)間里傳授給學(xué)生一些知識(shí),而且還需要傳授給學(xué)生一些掌握知識(shí)點(diǎn)的技巧,并且需要培養(yǎng)他們的思考能力和處理問題的意識(shí)。圖形化編程可以有效地協(xié)調(diào)和幫助我們的學(xué)生分析思考問題,說出解決這個(gè)問題的方法和思路,并在整體的邏輯規(guī)劃中訓(xùn)練和培養(yǎng)他們的思考能力。