◎沈慶鋒 陳立志
引言:創(chuàng)意編程主要借助圖形化編程軟件,將枯燥乏味的計(jì)算機(jī)語言轉(zhuǎn)化為仿真游戲,并進(jìn)一步關(guān)聯(lián)創(chuàng)客教育開發(fā)出具有實(shí)用價(jià)值的系統(tǒng)。這種教學(xué)手段促進(jìn)了學(xué)生、電腦的交互,使課堂充滿生機(jī)活力;而且還能夠?yàn)榇撕蟮膭?chuàng)客、人工智能及Steam教育打下堅(jiān)實(shí)的基礎(chǔ),確保學(xué)生具備跨學(xué)科解決問題的能力。教師應(yīng)合理運(yùn)用Scratch、Python軟件,以形式多樣、內(nèi)容豐富的課程內(nèi)容,逐漸培養(yǎng)學(xué)生的編程能力。
之所以當(dāng)前中小學(xué)生對“編程”知之甚少,一方面?zhèn)鹘y(tǒng)編程知識(shí)難度較大,且信息技術(shù)課程在義務(wù)教育階段只是考核課程;一方面學(xué)生認(rèn)為編程與生活關(guān)聯(lián)少,缺乏學(xué)習(xí)動(dòng)力。而中學(xué)生以形象思維為主導(dǎo),對枯燥抽象的編程知識(shí)大多不感興趣。因此,創(chuàng)意編程教學(xué)必須通過創(chuàng)設(shè)情境的方式,以有趣的內(nèi)容來激發(fā)學(xué)生能動(dòng)性。因此,在開展創(chuàng)意編程課程時(shí)可以通過簡短有趣的作品來導(dǎo)入課堂,幫助學(xué)生對當(dāng)堂所學(xué)內(nèi)容有一定認(rèn)識(shí),并進(jìn)一步激發(fā)他們的好奇心。如中小學(xué)生更傾向于形象思維,在教學(xué)過程中則可以忽視計(jì)算機(jī)語言的解釋和編譯,而選擇直接應(yīng)用命令、參數(shù)。Scratch無需敲代碼,直接將所需模塊拖拽編輯就能得到完整的作品,是專門面向編程初學(xué)者開發(fā)的軟件。如在課程中為了幫助學(xué)生認(rèn)識(shí)“角色”、“舞臺(tái)”,筆者演示了簡易的“馬戲團(tuán)”程序。將劇團(tuán)的舞臺(tái)、動(dòng)物與軟件屬性對應(yīng),使學(xué)生迅速理解Scratch的使用原理,并產(chǎn)生了躍躍欲試的興趣。此時(shí)再逐一講解角色的刪除、角色大小和方向的調(diào)整,教學(xué)質(zhì)量和教學(xué)效率自然就得到了保障。
目前幾種主流的圖形化編輯軟件功能都比較復(fù)雜,所涉及的命令也較多,學(xué)生出現(xiàn)混淆、遺忘的情況十分普遍。因此,在創(chuàng)意編程教學(xué)中可以依托于具體的案例,向?qū)W生們演示基本模塊的功能和應(yīng)用。如此一來,學(xué)生才能夠?qū)υ撝噶町a(chǎn)生深刻的理解,對提升他們的實(shí)踐能力有較大幫助。在學(xué)習(xí)Scratch軟件的“偵測與判斷”指令時(shí),學(xué)生邏輯能力差在理解上始終存在偏差。針對這一現(xiàn)象,筆者在課堂上直接以《貓抓老鼠》的程序進(jìn)行演示。首先,在編輯欄內(nèi)設(shè)置好舞臺(tái),并將貓和多只老鼠導(dǎo)入。其次,在腳本區(qū)域中利用控制、動(dòng)作和外觀等指令,設(shè)置好小貓的前進(jìn)步數(shù)。然后再用偵測模塊和“如果”模塊,當(dāng)小貓?jiān)庥稣系K顏色時(shí),則需要后退若干步。最后再添加一個(gè)偵測、如果模塊,當(dāng)小貓?jiān)庥隼鲜髸r(shí)程序停止執(zhí)行。制作完畢后,運(yùn)行該腳本要求學(xué)生觀察不同模塊在其中起到的作用,并分析偵測與判斷模塊的使用邏輯。通過一個(gè)簡單的小程序,學(xué)生對Scratch軟件的常見功能有了一定的掌握,給后續(xù)教學(xué)活動(dòng)的開展打下了堅(jiān)實(shí)的基礎(chǔ)。
實(shí)際上在創(chuàng)意編程中,經(jīng)常會(huì)遇到學(xué)科交叉問題。這不僅要求學(xué)生具備扎實(shí)的計(jì)算機(jī)編程能力,而且還必須合理運(yùn)用文化課知識(shí)。在練習(xí)過程中,充分結(jié)合各學(xué)科知識(shí)來開拓視野,從而設(shè)計(jì)出更加新穎,且具有實(shí)用價(jià)值的腳本。尤其近年來創(chuàng)客教育逐漸興起,要求學(xué)生跨學(xué)科解決實(shí)際問題,并運(yùn)用數(shù)字化工具大膽創(chuàng)造。如在“時(shí)鐘”腳本編程時(shí),學(xué)生在腳本區(qū)域簡單設(shè)置了外觀和動(dòng)作,但經(jīng)過測試時(shí)針和分針轉(zhuǎn)動(dòng)情況與實(shí)際不符。究其原因,是學(xué)生對數(shù)學(xué)園和三角函數(shù)知識(shí)薄弱,未能明晰同等時(shí)長內(nèi)時(shí)針、分針各自轉(zhuǎn)過的角度。經(jīng)筆者提醒啟發(fā)后,學(xué)生對時(shí)針、分針進(jìn)行了參數(shù)設(shè)定,再次調(diào)試腳本運(yùn)營達(dá)到了預(yù)期目的。此外,在舞臺(tái)和角色的設(shè)置上,還需要運(yùn)用美學(xué)知識(shí)。從腳本的實(shí)用性和外觀兩個(gè)維度來進(jìn)行創(chuàng)新,不斷編寫出更優(yōu)秀的程序腳本。
創(chuàng)意編程講究手腦并用,在完成課堂講解后,仍需要鼓勵(lì)學(xué)生創(chuàng)作。尤其是部分高級的指令、控件,即便有了深入的學(xué)習(xí)在應(yīng)用時(shí)還是難以避免出現(xiàn)錯(cuò)誤。而實(shí)踐創(chuàng)作則給學(xué)生提供了測試調(diào)整的機(jī)會(huì),在不斷試錯(cuò)的過程中逐漸使腳本完善。比如在學(xué)習(xí)完“變量”控件后,學(xué)生大多理解了變量獨(dú)特的儲(chǔ)存功能,但在應(yīng)用上整體層次不一。因此,教師必須引導(dǎo)學(xué)生理清思路,在個(gè)性化作品中去體會(huì)。學(xué)生小組利用變量制作了“口算搶答”小程序,在舞臺(tái)中引入兩個(gè)變量A和B,并限定兩個(gè)變量的取值范圍。同時(shí)導(dǎo)入“回答”模塊,若輸入數(shù)字為A和B之和,那么回答正確,反之則錯(cuò)誤。最后再添加“如果”模塊,當(dāng)搶答者輸入答案滿足條件那么腳本停止執(zhí)行,答案不滿足條件仍需要再次輸入結(jié)果。在創(chuàng)意編程時(shí),學(xué)生之間可以交流創(chuàng)意,對學(xué)習(xí)和生活中的現(xiàn)象進(jìn)行深入的觀察。并在此基礎(chǔ)上構(gòu)想應(yīng)用場景,按照使用的需求完善成具體的作品。
結(jié)語:綜上所述,編程是信息化時(shí)代學(xué)生所必須具備的一項(xiàng)能力,而創(chuàng)意編程則是對初學(xué)者進(jìn)行普及的重要手段。借助于生動(dòng)有趣的小程序,學(xué)生不僅能夠享受到編程的樂趣,而且還有利于創(chuàng)新意識(shí)的培養(yǎng)。在創(chuàng)意編程教學(xué)中,可通過創(chuàng)設(shè)情境激發(fā)中小學(xué)生的學(xué)習(xí)興趣,確保課堂教學(xué)能夠順利開展;同時(shí)要注重課堂演示,令學(xué)生扎實(shí)掌握幾種圖形化編程軟件的主要模塊;此外,還需要強(qiáng)調(diào)學(xué)科融合,以此來發(fā)散學(xué)生的思維;最后要鼓勵(lì)學(xué)生創(chuàng)作等,使他們擁有運(yùn)用編程知識(shí)解決現(xiàn)實(shí)問題的能力。