王秋飛
《算法程序設(shè)計》課程是高中信息技術(shù)的核心課程,以后專業(yè)人才培養(yǎng)核心崗位所具備的知識和技能都離不開本課程的學(xué)習(xí)。面對學(xué)程序難這一難題,我采取了游戲教學(xué),游戲教學(xué)是結(jié)合“游戲“和”教學(xué)”為一體的一種寓教于樂的教學(xué)方式。結(jié)合程序設(shè)計課程中的特點,對游戲教學(xué)在程序設(shè)計課程中應(yīng)用進(jìn)行探討,取得較好的教學(xué)效果,希望對教學(xué)起到一定的參考借鑒作用。
2017年7月,國務(wù)院印發(fā)了《新一代人工智能發(fā)展規(guī)劃》,其中提到建議實施全民智能教育項目,在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育,鼓勵社會力量參與寓教于樂的編程教學(xué)軟件、游戲的開發(fā)和推廣。在中學(xué)階段設(shè)置人工智能相關(guān)課程、逐步推廣編程教育、建設(shè)人工智能學(xué)科,培養(yǎng)復(fù)合型人才,形成我國人工智能人才高地,中學(xué)階段學(xué)習(xí)編程是必然的趨勢,也是青少年人才發(fā)展的必然。
《算法與程序設(shè)計》是高中信息技術(shù)課程中的一個選修模塊,課程目標(biāo)是培養(yǎng)學(xué)生分析問題、并運用所學(xué)知識設(shè)計程序從而解決問題的能力。在基礎(chǔ)教育階段,“算法與程序設(shè)計”教學(xué)的關(guān)鍵是要幫助學(xué)生建構(gòu)這種認(rèn)知結(jié)構(gòu), 而不是注重學(xué)生掌握多少具體的語法知識與編程技巧,進(jìn)一步的目標(biāo)在于提升學(xué)生的信息素養(yǎng),為其終身發(fā)展奠定良好的基礎(chǔ)。
游戲教學(xué)法,顧名思義,就是以游戲的形式教學(xué),使學(xué)生在輕松的氛圍中,在歡快的活動中,甚至在激烈的競爭中,不知不覺地學(xué)到教材上的內(nèi)容,或者學(xué)到必須掌握的課外知識的教學(xué)方法。簡單地說,游戲教學(xué)法就是將“游戲”與”教學(xué)”兩者巧妙地結(jié)合在一起,從而引起學(xué)生學(xué)習(xí)興趣的教學(xué)方法。
在對“算法與程序設(shè)計”課堂上,游戲教學(xué)法的實施要嚴(yán)格按照“以學(xué)生為中心, 教師為主導(dǎo)”的原則來進(jìn)行。首先,教師要明確本節(jié)課的教學(xué)目的,對于游戲應(yīng)出現(xiàn)的環(huán)節(jié),教師應(yīng)明確該游戲的目的,并在設(shè)計游戲時結(jié)合教學(xué)內(nèi)容,達(dá)到教學(xué)目標(biāo),防止因游戲法使用不當(dāng)而造成浪費課堂時間的現(xiàn)象。其次, 教師要精心設(shè)計游戲內(nèi)容,對在設(shè)計課堂游戲內(nèi)容時要注意避免游戲環(huán)節(jié)繁瑣化。最后,教師要把握對課堂的掌控力,對層次不一和接受能力不一學(xué)生的課堂響應(yīng)程度有充分的應(yīng)變能力。
3.1 從簡單程序入門,激發(fā)學(xué)生興趣
傳統(tǒng)教學(xué)講解算法和計算機解決問題一般步驟,我們會拿人解決問題作為引入,我們先是舉個例子,今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二,問物幾何?求解方法一:逐個數(shù)去試;求解方法二:運用最小公倍數(shù)知識。我們?nèi)私鉀Q問題的過程先觀察、其次分析問題,最后根據(jù)已有知識經(jīng)驗進(jìn)行判斷、推理,嘗試按一定方法和步驟去解決問題。于是就引入了算法和計算機解決問題的步驟。這樣的引入學(xué)生對算法的概念還是停留在數(shù)學(xué)的解題方法,對計算機的解決問題的基本過程還是很模糊。幾年來我們上程序設(shè)計第一課講算法和計算機解決問題的基本過程,一節(jié)課下來學(xué)生云里霧里,腦海中就是《算法與程序設(shè)計》這門課高深莫測。
針對此現(xiàn)象今年上這門課,我換了一種教學(xué)模式,用風(fēng)靡全球的CodeMonkey進(jìn)行引入,這里簡單介紹下這款游戲,CodeMonkey是一款在線編程教育課程、闖關(guān)模式的編程游戲。游戲的主角是一只猴子,它最愛的香蕉被強壯的猩猩搶走,而游戲的目標(biāo)是幫助猴子奪回香蕉。我告訴同學(xué)們猴子要吃到香蕉我們必須要有猴子去吃香蕉的方法和步驟,如圖(1):
幫助猴子吃到香蕉寫的解決方案,這就是算法,學(xué)生一下子就明白過來,解題方法的精確描述這就是算法,接著我又問學(xué)生,你們看到猴子吃香蕉的畫面,首先要在腦海分析,其次寫出步驟,然后再寫代碼,運行代碼,如果錯了,繼續(xù)修改你的代碼,直到猴子吃到香蕉。于是引出計算機解決問題的基本過程:分析問題、設(shè)計算法、編寫程序、調(diào)試運行、檢測結(jié)果。學(xué)生在玩游戲過程中理解了什么是算法,計算機解決問題的基本過程是哪些。課后我去了解學(xué)生的掌握情況,學(xué)生都說易懂,清晰明了。后來我也用此在線游戲上了幾節(jié)課,發(fā)現(xiàn)效果不是一般的好,激發(fā)了學(xué)生學(xué)習(xí)程序的興趣,打開了編程之門。在游戲中,學(xué)生通過編程、發(fā)揮想象力通過一道又一道關(guān)卡,學(xué)生在闖關(guān)中由易到難得學(xué)習(xí)編程,不知不覺提升了編程能力。
3.2 從學(xué)生實際生活出發(fā), 巧妙破解循環(huán)難題
教授不同班級,進(jìn)行學(xué)情分析,因材施教,采用不同的教學(xué)方法,從而提高不同層次的學(xué)生水平。
今年我?guī)У氖翘亻L班,他們的數(shù)學(xué)底子薄,所以循環(huán)對他們來說很難理解,于是我把循環(huán)滲透到他們的美術(shù)專業(yè)上來,我展示了一張圖片,叫同學(xué)們自己在紙上畫出來,他們都把大致圖形畫出來,但是沒那么精準(zhǔn)。我趁機引導(dǎo),如果要電腦來畫怎么畫,于是我打開《我的世界》這個在線游戲,讓學(xué)生一試 (圖2) 。
學(xué)生很快就讓電腦畫出來,我告訴他們我們畫這個圖的時候運用到了循環(huán),循環(huán)是程序中最為典型的結(jié)構(gòu),我們主要要找出循環(huán)體,讓程序變得更短,程序如圖3:
在教學(xué)過程中,我事先針對各層次、不同班級的學(xué)生設(shè)計不同的教學(xué)目標(biāo)與練習(xí),使得處于不同層的學(xué)生都能"摘到桃子",獲得成功的喜悅,很多老師都說不愿意帶特長班,因為他們太有個性,文化科知識又差,我通過游戲因材施教,這極大地改善了教師與學(xué)生的關(guān)系,從而提高師生合作、交流的效率,其次,教師在備課時事先估計了在各層中可能出現(xiàn)的問題,并做了充分的準(zhǔn)備,使得實際施教更有的放矢、目標(biāo)明確、針對性強,增大了課堂教學(xué)的容量。通過這一游戲教學(xué)法,極大提高課堂教學(xué)的質(zhì)量和效率。
與傳統(tǒng)教學(xué)相比,游戲教學(xué)法充分調(diào)動了學(xué)習(xí)者的積極性,以學(xué)生為主,注重師生互動,注重學(xué)生思維和能力的培養(yǎng),注重理論與實踐的結(jié)合,提高學(xué)習(xí)者的課堂參與度,使其在輕松的課堂氣氛中,在歡樂愉快的活動中,在激烈的競賽中,不知不覺地接受教師所傳授的知識。因此,本文從切身的教學(xué)實踐出發(fā),總結(jié)出一些饒有趣味且易于操作的游戲教學(xué)法,并加以解釋與分析,旨在為《算法與程序設(shè)計》課堂教學(xué)提供一定的參考和借鑒。
(作者單位:河源市田家炳實驗中學(xué))