楊偉
圖形化編程借助將復(fù)雜編程知識(shí)易讀化的有效策略,使其更傾向于青少年的認(rèn)知,從而降低學(xué)習(xí)初期的理解難度。圖形化編程在確保學(xué)習(xí)結(jié)果的前提下,大大縮短了學(xué)習(xí)者的學(xué)習(xí)路徑,尤其對(duì)于入門(mén)者而言,在維系其學(xué)習(xí)期待和學(xué)習(xí)興趣層面上,圖形化編程起到了關(guān)鍵作用。隨著圖形化編程在青少年編程教育領(lǐng)域中的快速發(fā)展,值得教師思考的問(wèn)題也越來(lái)越多。其中較為迫切的問(wèn)題是,如何研究和利用圖形化編程的優(yōu)勢(shì)來(lái)構(gòu)建課程、推進(jìn)課堂進(jìn)程和學(xué)生思維活動(dòng),從而最大限度地彰顯其在青少年編程能力培養(yǎng)過(guò)程中的內(nèi)涵和外延。
● 行為習(xí)慣和時(shí)代潮流無(wú)痕對(duì)接
將零散的、各自獨(dú)立的個(gè)體模塊堆積起來(lái),形成個(gè)性化的整體表達(dá),是人類(lèi)行為習(xí)慣系統(tǒng)的一部分。在堆積過(guò)程中,我們既承認(rèn)了個(gè)體模塊的獨(dú)立性,又善于將每一個(gè)模塊按照自己的設(shè)計(jì)策略疊加起來(lái),創(chuàng)造個(gè)性化的整體方案,這其實(shí)就是圖形化編程的核心意義所在。
圖形化編程使用過(guò)程簡(jiǎn)易化、結(jié)果可視化的編程模式開(kāi)展工作。全新的編程模式和編程方法打破了技術(shù)壁壘,讓編程過(guò)程可視化、游戲化,使計(jì)算機(jī)編程真正成為青少年的主流學(xué)習(xí)領(lǐng)域。同時(shí),圖形化編程將計(jì)算機(jī)編程文化大眾化、普適化,也推動(dòng)了青少年在計(jì)算思維領(lǐng)域的核心素養(yǎng)教育的開(kāi)展。
● 編程意識(shí)和深度學(xué)習(xí)的內(nèi)涵遞進(jìn)
圖形化編程可以讓學(xué)習(xí)者快速地進(jìn)入編程學(xué)習(xí)軌道,但這種學(xué)習(xí)模式并不是僅僅使學(xué)習(xí)者對(duì)編程學(xué)習(xí)淺嘗輒止。它不但在培養(yǎng)學(xué)習(xí)者編程學(xué)習(xí)意識(shí)上優(yōu)勢(shì)明顯,也能循序漸進(jìn)地幫助學(xué)習(xí)者完成更深層次的學(xué)習(xí)體驗(yàn)。筆者在組織和參與青少年公益編程營(yíng)的活動(dòng)中,見(jiàn)證了在利用圖形化編程工具(以Scratch3.0為例)進(jìn)行學(xué)習(xí)的過(guò)程中,學(xué)生學(xué)習(xí)意識(shí)和知識(shí)探索能力的遞進(jìn)式變化。在教學(xué)實(shí)施過(guò)程中,學(xué)生學(xué)習(xí)思維的發(fā)展過(guò)程一般會(huì)隨著若干問(wèn)題的形成和解決劃分為幾個(gè)不同的階段。
問(wèn)題一:為什么會(huì)有一只“小貓”?通過(guò)學(xué)習(xí)大家會(huì)發(fā)現(xiàn)幾乎所有的代碼塊都是針對(duì)小貓的,在引入其他“角色”之后,又會(huì)發(fā)現(xiàn)其他角色甚至包括“舞臺(tái)”也可以寫(xiě)代碼。漸漸地學(xué)生形成一個(gè)學(xué)習(xí)共識(shí):“代碼要寫(xiě)在某一個(gè)‘對(duì)象身上,只有被寫(xiě)入了代碼的‘對(duì)象才能活靈活現(xiàn)地在舞臺(tái)上‘演出”。
問(wèn)題二:為什么要點(diǎn)“綠旗”?學(xué)習(xí)初期,學(xué)生認(rèn)識(shí)到“綠旗”是作為程序開(kāi)關(guān)存在的。隨著更多實(shí)際需求的出現(xiàn),不但有“當(dāng)綠旗被點(diǎn)擊”,還出現(xiàn)了“當(dāng)舞臺(tái)被點(diǎn)擊”“當(dāng)對(duì)象被點(diǎn)擊”等多種程序啟動(dòng)形式。此時(shí),學(xué)生會(huì)深入認(rèn)識(shí)到“綠旗”并不是一切代碼啟動(dòng)的開(kāi)關(guān),“啟動(dòng)開(kāi)關(guān)”是隨著實(shí)際需求而設(shè)置的,并且每段代碼都需要一個(gè)“啟動(dòng)開(kāi)關(guān)”。
問(wèn)題三:重復(fù)代碼塊是不是太麻煩了?在利用“畫(huà)筆”模塊生成正方形的過(guò)程中,學(xué)生首先會(huì)感受到大量重復(fù)代碼給編程過(guò)程帶來(lái)的不適。但這樣的情況不會(huì)保持很久,因?yàn)榭倳?huì)有“聰明”的學(xué)生會(huì)首先發(fā)現(xiàn)其中的訣竅,利用“控制”模塊中的“重復(fù)執(zhí)行”代碼塊來(lái)解決問(wèn)題。但如果在程序中需要多次用到“畫(huà)正方形”功能,類(lèi)似的問(wèn)題又一次呈現(xiàn)在我們的眼前。此時(shí),教師需要在課堂中適時(shí)地引導(dǎo)學(xué)生了解和學(xué)習(xí)“自制積木”功能模塊,嘗試?yán)谩白灾品e木”模塊將畫(huà)正方形功能代碼形成一個(gè)自制積木“畫(huà)正方形”(如下圖),這樣既提高了編程效率,又能讓學(xué)生進(jìn)一步理解“模塊”的含義。
學(xué)習(xí)問(wèn)題的遞進(jìn)防止了學(xué)生編程知識(shí)的淺層化和編程思維的表層化,使深度學(xué)習(xí)效果得以產(chǎn)生。深度學(xué)習(xí)效果首先表現(xiàn)在學(xué)生對(duì)編程知識(shí)的學(xué)習(xí)和理解上,從圖形化編程的基本方法到思維方式和價(jià)值傾向的掌握,學(xué)生的學(xué)習(xí)過(guò)程由表及里,逐次加深;其次表現(xiàn)在學(xué)生對(duì)編程思維的認(rèn)識(shí)和升華上,從實(shí)現(xiàn)基本需求到最優(yōu)化編程策略,從“代碼復(fù)用”到“模塊化”思想,學(xué)生經(jīng)歷了思維能力提升、思維品質(zhì)提升和思維態(tài)度養(yǎng)成的深化過(guò)程。這個(gè)過(guò)程有效地契合了深度學(xué)習(xí)的基本理念,使學(xué)生編程思維階梯式發(fā)展,這個(gè)過(guò)程也反映了圖形化編程在青少年編程教育中的基本思想內(nèi)涵。
● 創(chuàng)新思維和創(chuàng)新能力的外延拓展
圖形化編程模塊化的特征縮小了學(xué)習(xí)者在技術(shù)實(shí)現(xiàn)上的思考空間,從而使細(xì)節(jié)設(shè)計(jì)讓位于宏觀設(shè)計(jì),技術(shù)手段讓位于實(shí)現(xiàn)策略。學(xué)習(xí)者可以有更多的精力去思考創(chuàng)新性設(shè)計(jì),進(jìn)而提升自身的創(chuàng)新思維和創(chuàng)新能力。接下來(lái),通過(guò)學(xué)習(xí)項(xiàng)目“手機(jī)守護(hù)貓的誕生”的實(shí)施過(guò)程來(lái)審視學(xué)習(xí)者如何利用圖形化編程工具(以App Inventor為例)在解決問(wèn)題的同時(shí)培養(yǎng)和提升創(chuàng)新思維和創(chuàng)新能力。
學(xué)習(xí)項(xiàng)目:制作手機(jī)防盜APP。
學(xué)習(xí)活動(dòng)一:采用觸碰屏幕報(bào)警方案?;顒?dòng)思路:采用“按鈕”模塊充滿屏幕的方式,手機(jī)屏幕被觸碰即為按鈕被觸碰,觸發(fā)報(bào)警音頻運(yùn)行?;顒?dòng)反饋:屏幕觸碰引發(fā)報(bào)警的設(shè)計(jì)在效果實(shí)現(xiàn)上存在一定的偶然性,未必會(huì)產(chǎn)生真正的防盜作用。
學(xué)習(xí)活動(dòng)二:采用“加速度傳感器”報(bào)警方案?;顒?dòng)思路:采用“加速度傳感器”模塊被觸發(fā)方式,當(dāng)手機(jī)被移動(dòng)并產(chǎn)生運(yùn)動(dòng)加速度時(shí)觸發(fā)報(bào)警音頻運(yùn)行?;顒?dòng)反饋:在移動(dòng)手機(jī)時(shí)加速度如果未達(dá)到“加速度傳感器”觸發(fā)閾值,則無(wú)法觸發(fā),說(shuō)明該設(shè)計(jì)依然存在一定的防盜漏洞。
學(xué)習(xí)活動(dòng)三:采用“方向傳感器”報(bào)警方案。活動(dòng)思路:采用觸發(fā)“方向傳感器”模塊報(bào)警方式,當(dāng)手機(jī)被移動(dòng)時(shí),“方向傳感器”的“方向角”“傾斜角”“翻轉(zhuǎn)角”等數(shù)值發(fā)生改變時(shí)觸發(fā)手機(jī)報(bào)警音頻運(yùn)行?;顒?dòng)反饋:在該方案中“方向傳感器”三個(gè)參數(shù)可以人為設(shè)置,增強(qiáng)傳感器的靈敏度,進(jìn)而使防盜效果最佳化。
在上述的三個(gè)學(xué)習(xí)活動(dòng)中,學(xué)習(xí)者通過(guò)不同設(shè)計(jì)思路進(jìn)行效果檢驗(yàn),對(duì)產(chǎn)生的過(guò)程性問(wèn)題進(jìn)行創(chuàng)新解決,最終得到最佳解決方案。
利用圖形化編程進(jìn)行編程作品的功能設(shè)計(jì),是編程者針對(duì)實(shí)現(xiàn)具體要求的思維設(shè)計(jì)和邏輯實(shí)現(xiàn)。在設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中,面對(duì)實(shí)際問(wèn)題進(jìn)行創(chuàng)新性解決,也促使編程者的創(chuàng)新思維和創(chuàng)新能力得以形成和提升,這也構(gòu)成了圖形化編程在青少年編程教育中的教育外延。
總之,圖形化編程有簡(jiǎn)單、易于掌握的優(yōu)勢(shì),同時(shí)也有著難以表達(dá)深刻含義和復(fù)雜思維的劣勢(shì)。但其作為青少年編程教育中的一個(gè)基礎(chǔ)工具,可以準(zhǔn)確地契合學(xué)習(xí)者的行為習(xí)慣,深化學(xué)習(xí)者的學(xué)習(xí)意識(shí)和培養(yǎng)學(xué)習(xí)者的創(chuàng)新思維和創(chuàng)新能力,在未來(lái)的教育實(shí)踐中,我們有信心讓它的優(yōu)勢(shì)在青少年編程教育領(lǐng)域中得到最大化的發(fā)揮。
蒼山點(diǎn)題
中小學(xué)編程如何成為一種文化?包括編程教育的文化,編程學(xué)習(xí)、應(yīng)用與創(chuàng)新的文化等,都是編程應(yīng)該凝聚出來(lái)的新文化的發(fā)展脈絡(luò)。本期解碼,我們先嘗試從信息學(xué)奧賽、圖形化編程等方面來(lái)探索編程學(xué)習(xí)的文化內(nèi)涵。文脈之一的信息學(xué)奧賽,無(wú)疑是中小學(xué)編程教育中最高層次的科學(xué)與人文雙重奮斗的戰(zhàn)場(chǎng)。輔導(dǎo)學(xué)生超過(guò)五年的,肯定有實(shí)力理解其中的編程技術(shù),超過(guò)十年的肯定會(huì)有深刻的算法、技巧、思維、成功等多方面的文化滋味與文化沉淀。的確是,這漫漫征途上包含了多少勞與累、苦與甜的生命體驗(yàn),這就包含了編程文化。文脈之二的圖形化編程,在“積木”式的操作誘惑之中,在“小貓咪”的直觀表現(xiàn)精彩之中,不論產(chǎn)生了多少平臺(tái),都是在推崇一種什么樣的文化內(nèi)涵,又有哪些精彩的文化外延,這看似簡(jiǎn)單的“小兒科”編程,一方面的確對(duì)兒童編程善莫大焉,另一方面對(duì)大人登上“創(chuàng)造”之巔幫助甚大。當(dāng)然,也存有一些浮華與鼓吹的風(fēng)險(xiǎn),需要我們正視。
第一篇文章,通過(guò)“微觀察”的策略,觀察學(xué)生在編程學(xué)習(xí)過(guò)程中的一些細(xì)微表現(xiàn),恰當(dāng)分析并判斷學(xué)生的思維特征,用實(shí)例揭示出如何觀察、促進(jìn)學(xué)生的編程思維的邏輯性、慎密性、靈活性、維韌性與耐久性等;通過(guò)“微觀察”學(xué)生思考過(guò)程,助推思維形成,通過(guò)“微觀察”學(xué)生程序設(shè)計(jì)思路,發(fā)現(xiàn)思維創(chuàng)新力。這是更深度的教與學(xué)的編程文化的凝結(jié)。
第二篇文章,通過(guò)對(duì)圖形化編程中學(xué)生的行為習(xí)慣、編程意識(shí)、創(chuàng)新思維的觀察,從“行為習(xí)慣和時(shí)代潮流無(wú)痕對(duì)接”“編程意識(shí)和深度學(xué)習(xí)的內(nèi)涵遞進(jìn)”“創(chuàng)新思維和創(chuàng)新能力的外延拓展”等角度進(jìn)行深度探討,盡力總結(jié)圖形化編程對(duì)學(xué)生編程學(xué)習(xí)、對(duì)中小學(xué)開(kāi)展編程教育應(yīng)有的立場(chǎng)、定位、內(nèi)涵與外延,盡力發(fā)現(xiàn)編程教育中圖形化編程應(yīng)避免的問(wèn)題與缺陷,從而逐步在看似淺顯的編程活動(dòng)中獲得深度的學(xué)習(xí)與深刻的思維。
讓我們從編程學(xué)習(xí)、編程教育的新文化角度,繼續(xù)探索中小學(xué)編程的美好未來(lái)吧!