楊偉

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