徐梧
摘要:在高中信息技術(shù)必修模塊《信息的編程加工》教學(xué)中,運(yùn)用Blockly迷宮游戲可以幫助學(xué)生輕松地打開編程學(xué)習(xí)的大門。該文從應(yīng)用意義到課堂實(shí)踐,闡述了在編程入門教學(xué)中,如何運(yùn)用Blockly迷宮游戲激發(fā)學(xué)生的學(xué)習(xí)興趣、發(fā)展思維能力,滿足學(xué)習(xí)需要,以期為程序設(shè)計(jì)啟蒙教學(xué)帶來一些啟示和思考。
關(guān)鍵詞:高中信息技術(shù);Blockly迷宮游戲;編程
中圖分類號(hào):TP3? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)17-0099-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Blockly Games是一款基于Blockly可視化編程工具開發(fā)的程序設(shè)計(jì)教育游戲。在高中信息技術(shù)課程必修模塊《信息的編程加工》教學(xué)中,利用Blockly Games中的迷宮游戲可以激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)的興趣,發(fā)展思維能力,滿足編程入門學(xué)習(xí)的需要。
1 在教學(xué)中運(yùn)用Blockly迷宮游戲的意義
1.1 激發(fā)學(xué)生的學(xué)習(xí)興趣
走迷宮是學(xué)生們非常熟悉的一種益智游戲,但Blockly迷宮游戲是用程序控制玩家走迷宮,學(xué)生們沒有體驗(yàn)過。新鮮的游戲方式、富有挑戰(zhàn)性的游戲內(nèi)容以及游戲帶來的快感,容易激發(fā)起學(xué)生的學(xué)習(xí)興趣和熱情,從而開啟愉快的學(xué)習(xí)之旅。
Blockly迷宮游戲的規(guī)則是利用每個(gè)關(guān)卡提供的語句模塊在編程區(qū)拼接,構(gòu)成一個(gè)小程序,使得程序運(yùn)行時(shí)起點(diǎn)處的玩家能夠順利到達(dá)終點(diǎn),一關(guān)才算通過。獲得成功的目標(biāo),激勵(lì)著學(xué)生積極地思考、主動(dòng)學(xué)習(xí)編程知識(shí)和闖關(guān)技巧,不斷挑戰(zhàn)更高級(jí)的迷宮任務(wù),直到取得勝利。
1.2 讓學(xué)生在解決問題中發(fā)展思維
Blockly迷宮游戲環(huán)境為教師創(chuàng)設(shè)問題情境提供了條件。走法怎樣設(shè)計(jì),如何用程序控制實(shí)現(xiàn)是學(xué)生在完成迷宮任務(wù)時(shí)面臨的主要問題。具體到每層任務(wù),問題還可進(jìn)一步細(xì)化。如,什么是計(jì)算機(jī)程序?玩家怎么知道要左轉(zhuǎn)?重復(fù)執(zhí)行哪些動(dòng)作?需要用到什么程序結(jié)構(gòu)?越到高級(jí)關(guān)卡,問題越復(fù)雜,可能出現(xiàn)走法不同,程序有差別的情況,哪種走法更好,程序更精簡呢?學(xué)生在問題解決的過程中,需要運(yùn)用歸納、分析、構(gòu)造、評(píng)價(jià)等思維。這些思維活動(dòng),都有助于發(fā)展學(xué)生的思維能力。
1.3 滿足編程入門教學(xué)的需要
Blockly迷宮游戲具有教學(xué)性。首先,蘊(yùn)含豐富的編程基礎(chǔ)知識(shí),能滿足學(xué)生編程入門學(xué)習(xí)的需要。如,計(jì)算機(jī)程序和算法的概念、三種基本程序結(jié)構(gòu)及應(yīng)用。利用Blockly迷宮游戲展開教學(xué)內(nèi)容,流暢而有效。從獨(dú)立完成初級(jí)迷宮后學(xué)生能解釋“什么是計(jì)算機(jī)程序”,與老師交流中明白自己編的就是“順序結(jié)構(gòu)”的程序,到分析中級(jí)迷宮時(shí),遇到需要“循環(huán)結(jié)構(gòu)”解決的情況,再到解決高級(jí)迷宮問題時(shí),“分支結(jié)構(gòu)”的運(yùn)用,最后到歸納出編程解決問題的一般過程。每一個(gè)教學(xué)內(nèi)容的適時(shí)出現(xiàn),既增長了學(xué)生們的知識(shí)又解決了他們的認(rèn)知沖突,滿足了他們編程學(xué)習(xí)的需要。其次,Blockly編程采用的是積木式圖形化模塊,和其他傳統(tǒng)的編程工具相比,摒棄了生澀、繁雜的代碼和語法,將封裝了程序代碼的語句模塊拼搭構(gòu)成程序。直觀的編程語言,消除了學(xué)生對(duì)程序設(shè)計(jì)的畏難情緒,能讓他們快速地融入編程學(xué)習(xí)中,不用糾纏于代碼和語法的錯(cuò)誤,而能將更多的精力用在算法設(shè)計(jì)和程序結(jié)構(gòu)的搭建上。
2 運(yùn)用Blockly迷宮游戲的教學(xué)設(shè)計(jì)
2.1 基于學(xué)情合理組織教學(xué)內(nèi)容
Blockly迷宮游戲共有10級(jí),針對(duì)本校高一學(xué)生編程零基礎(chǔ)的情況,選擇前9級(jí)為課堂教學(xué)內(nèi)容,最有難度的第10級(jí)留給學(xué)生進(jìn)行課后拓展。教師通過分析每個(gè)關(guān)卡游戲內(nèi)嵌的編程知識(shí),將整節(jié)課的教學(xué)內(nèi)容編排為三部分:初級(jí)篇(程序的概念和順序結(jié)構(gòu))、中級(jí)篇(循環(huán)結(jié)構(gòu))、高級(jí)篇(分支結(jié)構(gòu)和三種基本結(jié)構(gòu)的組合應(yīng)用)。教學(xué)內(nèi)容的組織遵循了由易到難,先單一后綜合的原則,適合學(xué)生循序漸進(jìn)地學(xué)習(xí)編程基礎(chǔ)知識(shí)。
2.2 設(shè)計(jì)有序的學(xué)習(xí)活動(dòng)
利用Blockly迷宮游戲教學(xué)要有序地安排好學(xué)習(xí)活動(dòng),避免學(xué)生出現(xiàn)重過關(guān)輕思維的情況。游戲的競爭性使得學(xué)生一般比較關(guān)注能否過關(guān),面對(duì)迷宮,習(xí)慣直接拼搭語句塊,通過試錯(cuò)和調(diào)整模塊解決問題,缺乏先分析、設(shè)計(jì)再解決的意識(shí)。而教師應(yīng)更多地關(guān)注學(xué)生解決問題的過程而不是結(jié)果。為了培養(yǎng)學(xué)生的思維能力,教師可以引導(dǎo)他們按以下的步驟開展學(xué)習(xí)活動(dòng):①觀察路線、設(shè)計(jì)走法;②互動(dòng)表達(dá)、學(xué)習(xí)新知;③編程實(shí)現(xiàn)、調(diào)試運(yùn)行;④評(píng)價(jià)交流、優(yōu)化改進(jìn)。在活動(dòng)過程中,教師指導(dǎo)和鼓勵(lì)學(xué)生采用獨(dú)立思考、分組競賽、集體交流、小組互助等多種形式開展學(xué)習(xí),完成迷宮任務(wù)。通過學(xué)習(xí)方法的引領(lǐng),學(xué)生在遇到高級(jí)迷宮問題時(shí),自然會(huì)先思考走法,并根據(jù)需要描述出來,再利用語句塊編程實(shí)現(xiàn)。
2.3 提供合適的學(xué)習(xí)工具
為了幫助學(xué)生在以Blockly迷宮游戲?yàn)橹骶€的學(xué)習(xí)活動(dòng)中獲得成功的體驗(yàn),教師可以提供合適的學(xué)習(xí)工具。例如,學(xué)習(xí)任務(wù)單、“畫程軟件”。用任務(wù)單引導(dǎo)學(xué)生進(jìn)行學(xué)習(xí),可以為學(xué)生提供學(xué)習(xí)的支架,讓他們清楚要學(xué)什么和怎樣學(xué)。而指導(dǎo)學(xué)生使用“畫程軟件”繪制流程圖,可以幫助學(xué)生更清晰地描述自己走迷宮的想法,為編程實(shí)現(xiàn)助力。
2.4 增強(qiáng)課堂互動(dòng)交流
交流與互動(dòng)是構(gòu)建教學(xué)的關(guān)鍵。在Blockly迷宮游戲教學(xué)中,教師需要提供足夠的機(jī)會(huì)讓學(xué)生多表達(dá),并鼓勵(lì)全體學(xué)生參與交流,共同點(diǎn)燃思維的火花。增強(qiáng)課堂交互的途徑有:教師設(shè)問、小組討論、學(xué)生提問、展示交流。為了使互動(dòng)更有效,教師設(shè)計(jì)的問題應(yīng)精準(zhǔn)、適切。在提問之后,要留出一定的時(shí)間讓學(xué)生獨(dú)立思考或小組討論。組織學(xué)生小組討論時(shí),教師要求組內(nèi)每個(gè)成員都要發(fā)言,并認(rèn)真傾聽同伴的想法,針對(duì)問題交換意見。請(qǐng)學(xué)生回答時(shí),教師要善于引導(dǎo)和追問,并注意調(diào)動(dòng)學(xué)生回答問題的積極性。同時(shí),盡量選擇分布在不同位置的學(xué)生回答問題,增強(qiáng)他們的課堂參與感。在互動(dòng)過程中,如果有學(xué)生提出疑問,教師應(yīng)給予肯定并及時(shí)解答,也可啟發(fā)其他學(xué)生來解答。在進(jìn)行全班展示和交流的時(shí)候,教師可以讓學(xué)生自薦或他薦,一來增強(qiáng)他們的學(xué)習(xí)自信,二來活躍課堂氣氛。當(dāng)學(xué)生在展示,教師應(yīng)帶領(lǐng)其他學(xué)生耐心聆聽、仔細(xì)瀏覽,學(xué)會(huì)欣賞,并在之后給出積極客觀的評(píng)價(jià)。
3 教學(xué)片斷
3.1 片段一:游戲?qū)?/p>
播放歡快的背景音樂,呈現(xiàn)9級(jí)迷宮圖片。
師:我們這節(jié)課的任務(wù)就是利用Blockly迷宮游戲每個(gè)關(guān)卡提供的語句模塊在編程區(qū)拼接,構(gòu)成一個(gè)小程序,使得程序運(yùn)行起來時(shí)起點(diǎn)處的玩家能夠順利到達(dá)終點(diǎn)。
【效果評(píng)價(jià)】
創(chuàng)設(shè)輕松的游戲情境,從學(xué)生熟悉的走迷宮游戲?qū)?,順勢拋出有挑?zhàn)性的課題,有效地激發(fā)了學(xué)生的學(xué)習(xí)興趣,順利進(jìn)入新課學(xué)習(xí)。
3.2 片斷二:中級(jí)篇之走法設(shè)計(jì)
師:中級(jí)關(guān)卡有3級(jí)。
生:因?yàn)槁肪€是直線向前,所以小人一直向前移動(dòng)就行。
師:也就是重復(fù)執(zhí)行向前移動(dòng),直到終點(diǎn)?
生表示同意。
師:這種情況可以用循環(huán)結(jié)構(gòu)。凡是需要通過不斷重復(fù)執(zhí)行才能解決的許多問題中需要用到循環(huán)控制。循環(huán)執(zhí)行,直到條件滿足。例如:打印50份資料,跑800米。
[4級(jí)]
師:4級(jí)需要用到循環(huán)結(jié)構(gòu)嗎?
生:需要
師:重復(fù)執(zhí)行的動(dòng)作是什么?
生:向前移動(dòng)—左轉(zhuǎn)—向前移動(dòng)—右轉(zhuǎn)
師:循環(huán)的條件是什么?(什么情況下,循環(huán)結(jié)束?)
生:到終點(diǎn)
師:條件不滿足時(shí),重復(fù)執(zhí)行動(dòng)作;條件滿足,循環(huán)停止執(zhí)行。
[5級(jí)]
師:在這個(gè)關(guān)卡,先要怎么走,然后呢?
生:先順序執(zhí)行“向前移動(dòng)—向前移動(dòng)—左轉(zhuǎn)”;再循環(huán)執(zhí)行“向前移動(dòng)”直到終點(diǎn)。
【效果評(píng)價(jià)】
第一,利用分組競賽的形式,增強(qiáng)了學(xué)生的競爭意識(shí),有效激勵(lì)學(xué)習(xí)。課堂上,學(xué)生積極思考,踴躍發(fā)言。
第二,通過分組活動(dòng)和教師引導(dǎo),學(xué)生逐步形成了先分析問題、設(shè)計(jì)方法再編程解決的意識(shí)和習(xí)慣。
第三,將新知識(shí)的學(xué)習(xí)鑲嵌在一定的問題情境中,隨著問題的出現(xiàn),自然引出,學(xué)生既樂學(xué)也易學(xué)。
3.3 片段三:高級(jí)篇之成果交流
請(qǐng)學(xué)生先語言描述走法或展示流程圖,再呈現(xiàn)程序。
[8級(jí)]
師:思路不同,程序的精簡程度也不同。比一比哪種程序更精簡、高效?
生:第一種和第三種的程序少了一個(gè)判斷,更精簡些。第一種的走法可能更高效。因?yàn)?,一開始的路線是直的,所以,小人可以先向前移動(dòng)再接著判斷是向左轉(zhuǎn)還是向右轉(zhuǎn)。
師:分析得有道理。可以直接執(zhí)行的就無須判斷,哪個(gè)動(dòng)作最可能發(fā)生的就先執(zhí)行。
[9級(jí)]
師:9級(jí)的走法有多種,歡迎大家來展示。
生1:
其他學(xué)生評(píng)價(jià):雖然成功了,但走法有些繞,基本上把路都走了一遍。
師:其實(shí),9級(jí)迷宮較好的一種走法就是課的開始同學(xué)畫的。編程時(shí),關(guān)鍵點(diǎn)是怎么才能讓玩家在遇到第二個(gè)左轉(zhuǎn)路口時(shí)不左轉(zhuǎn)而是直行?
生2:通過判斷“如果前面有路,就向前移動(dòng),否則向左轉(zhuǎn)”。
(展示流程圖和程序)
【效果評(píng)價(jià)】
第一,請(qǐng)學(xué)生展示時(shí),他們表現(xiàn)自信,愿意表達(dá)出自己的解決思路,展示成果。面對(duì)建議,他們也能虛心接受。
第二,通過成果交流,引導(dǎo)學(xué)生比較程序的精簡和效率,既讓學(xué)生認(rèn)識(shí)到算法設(shè)計(jì)的重要性又幫助其形成優(yōu)化程序的意識(shí)。
4 教學(xué)反思
希望給學(xué)生帶來怎樣的編程入門學(xué)習(xí)?我的答案是有趣、快樂、有意義。有趣是吸引學(xué)生學(xué)習(xí)的外在形式,快樂是學(xué)生保持學(xué)習(xí)熱情的源泉,有意義是滿足學(xué)生學(xué)習(xí)需要的保證?;谝陨系南敕?,我選擇Blockly迷宮游戲作為編程入門教學(xué)的資源。課堂上,學(xué)生們專注投入,主動(dòng)積極;下課了,學(xué)生們戀戀不舍,還想著如何解決十級(jí)迷宮。實(shí)踐表明,迷宮游戲的趣味性、編程闖關(guān)成功帶來的愉悅感、豐富的編程基礎(chǔ)知識(shí)、友好有效的課堂互動(dòng),讓學(xué)生收獲到了學(xué)習(xí)編程的快樂和知識(shí)的滿足。通過本節(jié)課的實(shí)施,也讓我對(duì)如何持續(xù)激發(fā)學(xué)生的學(xué)習(xí)興趣、發(fā)展學(xué)生的計(jì)算思維產(chǎn)生了新的思考。
5 結(jié)束語
從筆者的課堂實(shí)踐來看,Blockly迷宮游戲可以幫助學(xué)生輕松地打開編程學(xué)習(xí)的大門,為后續(xù)的程序設(shè)計(jì)學(xué)習(xí)奠定良好的基礎(chǔ)。關(guān)于Blockly Games中其他游戲資源的教學(xué)應(yīng)用,以及如何利用Blockly編程工具開發(fā)校本教學(xué)資源,還有待教師進(jìn)行更多的實(shí)踐和探索。
參考文獻(xiàn):
[1] 章潔. 游戲教學(xué)法在小學(xué)英語中的運(yùn)用研究[D]. 武漢: 華中師范大學(xué), 2014.
[2] 潘悅驊. 游戲教學(xué)法在初中信息技術(shù)教學(xué)中的應(yīng)用[J]. 中小學(xué)電教,2017(6):22-24.
[3] 林勤. 思維的躍遷:高階思維能力的培養(yǎng)及教學(xué)方式[M]. 上海: 華東師范大學(xué)出版社, 2016.
【通聯(lián)編輯:代影】