李敏和王佳莉兩位教師的案例都是與程序設(shè)計有關(guān),在內(nèi)容上具有相似的屬性。因此,我將兩個案例放在一起共同分析,希望能夠提煉共性,讓廣大讀者獲得借鑒。
● 案例分析
1.案例一《基于枚舉算法的問題解決——解密唐朝詩人間的關(guān)系》分析
(1)思維引導(dǎo)
《基于枚舉算法的問題解決——解密唐朝詩人間的關(guān)系》在全國信息技術(shù)優(yōu)質(zhì)課展評活動中以小組第一的成績進入示范課,聽課后感覺,這節(jié)課最大的特點在于思路的引導(dǎo),通過多個過程、多種方式的相互配合,促進學(xué)生對算法等的理解并能順利實踐。表現(xiàn)在以下幾個環(huán)節(jié):
①活動熱身環(huán)節(jié)。學(xué)生嘗試查找古詩之后,教師引導(dǎo)學(xué)生分析查找過程,安排學(xué)生來逐一描述過程,教師同時張貼板書。教師張貼板書時,借助關(guān)鍵詞等的提煉,可以及時幫助學(xué)生梳理并明確思路。
板書是用不同顏色予以呈現(xiàn),一方面是突出直觀的特點,另一方面,借助顏色的不同促進學(xué)生對關(guān)系的理解,如“查找范圍”與“唐詩庫”的關(guān)系、“查找對象”與“一首古詩”的關(guān)系,在形式上凸顯結(jié)構(gòu)化特點,幫助學(xué)生形成相應(yīng)的認知結(jié)構(gòu)。
②分析人工枚舉問題環(huán)節(jié)。通過人工枚舉與計算機枚舉的類比,促進學(xué)生將自身實踐經(jīng)驗遷移到利用計算機來解決問題的過程中,實現(xiàn)對枚舉的理解。同時,在人工問題解決與計算機問題解決的對比中,促進學(xué)生體會利用計算機進行枚舉的優(yōu)勢。
③繪制流程圖環(huán)節(jié)。本環(huán)節(jié)名稱是繪制流程圖,實際上,并沒有安排學(xué)生繪制流程圖。流程圖的繪制有專門的、規(guī)范的格式及符號的應(yīng)用,缺乏基礎(chǔ)的學(xué)生繪制起來有一定的難度。本節(jié)課中,教師提供半成品流程圖,學(xué)生嘗試拖拽就可以輕松完成流程圖排序的過程,降低了繪制流程圖的難度,使得學(xué)生可以將精力集中在思路的梳理上。當(dāng)然,是否繪制流程圖需要根據(jù)本節(jié)課的教學(xué)目標(biāo)來設(shè)計,如果流程圖本身屬于本節(jié)課的教學(xué)內(nèi)容之一,則需要安排學(xué)生來進行繪制。
借助流程圖的拼接促進學(xué)生進一步明確思路,也為后續(xù)的編程實現(xiàn)夯實理解的基礎(chǔ)。流程圖作為自然語言與程序之間的橋梁,充分發(fā)揮了承前啟后的作用。
④程序初體驗環(huán)節(jié)。教師借助箭頭將程序與流程圖進行一一對應(yīng),這樣,通過程序與流程圖的對比,幫助學(xué)生理解程序代碼,實現(xiàn)從可視化的圖示向抽象的代碼的轉(zhuǎn)化。在教學(xué)設(shè)計“聲控機器人”中[1],除了程序與流程圖的對比之外,還借助程序與程序的對比促進學(xué)生對指令的理解。
⑤總結(jié)環(huán)節(jié)。該部分的總結(jié)較為到位。在此環(huán)節(jié)中,教師引導(dǎo)學(xué)生歸納了枚舉法的特點,進而給出問題,讓學(xué)生判斷哪些適合用枚舉法來解決。
學(xué)習(xí)算法,很重要的一點在于引導(dǎo)學(xué)生了解算法的特點、優(yōu)勢及不足,以及算法的適用環(huán)境,也就是幫助學(xué)生了解何時用算法、為何用算法。這樣,學(xué)生遇到問題時,就可以根據(jù)問題的特點與性質(zhì),合理選擇算法來解決問題。本節(jié)課總結(jié)環(huán)節(jié)的設(shè)計就很好地體現(xiàn)了這一目標(biāo),說明學(xué)生對算法學(xué)習(xí)的理解到位。
進一步地,在信息技術(shù)學(xué)習(xí)中,工具、軟件的學(xué)習(xí)都需要達到這一層面,才可以認為到位,才能體現(xiàn)對信息技術(shù)課程中的技術(shù)三層內(nèi)涵(即動手做的技術(shù)、如何做的技術(shù)、為何做的技術(shù))的準確理解與實踐。例如,對于文件管理的教學(xué),需要引導(dǎo)學(xué)生理解分類管理的價值、方法,然后再涉及具體操作,如文件及文件夾的移動、復(fù)制、刪除等。
(2)細節(jié)把握
①情境創(chuàng)設(shè)。本課創(chuàng)設(shè)的情境是解密唐朝詩人間的關(guān)系,情境視角新穎,有效地激發(fā)了學(xué)生的學(xué)習(xí)興趣,也賦予本節(jié)課以人文色彩。而且,情境應(yīng)用貫穿始終,體現(xiàn)了情境利用的效益問題。
②技術(shù)應(yīng)用。學(xué)生查找古詩時,教師計時使用了Flash制作的小工具。信息技術(shù)教師在課堂教學(xué)中使用技術(shù)來解決教學(xué)中的現(xiàn)實問題,可以對學(xué)生產(chǎn)生潛移默化的影響,有助于促進學(xué)生學(xué)以致用意識的培養(yǎng)。
③巧用陷阱。在教學(xué)情境視頻中播放的杜甫寫給李白的詩中,最后一首詩與其他詩不同,因為題目及詩句中都沒有李白的名字。學(xué)生編寫的程序中只檢測到題目及詩句中包含李白的詩,所以結(jié)果不準確,此時教師再加以引導(dǎo):需要加入對詩人別稱的檢驗。此處巧設(shè)陷阱,促進學(xué)生形成認知結(jié)構(gòu)的沖突,從而加深印象,深化理解。而且,情境視頻與后續(xù)問題前后呼應(yīng),體現(xiàn)出教師對這一問題考慮全面,做出了相應(yīng)的準備。
2.案例二《條件語句》分析
同樣從思維引導(dǎo)及細節(jié)把握兩個方面來對案例進行分析。
(1)思維引導(dǎo)
在思維引導(dǎo)方面,案例中設(shè)計了多種方式。
①自然語言描述。教學(xué)開始引導(dǎo)學(xué)生嘗試“猜幣”程序,觀察結(jié)果,并用自然語言來描述程序設(shè)計的思路。這樣做,一方面是引導(dǎo)學(xué)生根據(jù)結(jié)果梳理程序流程,理解程序;另一方面為條件語句引入奠定基礎(chǔ)。
②動畫練習(xí)。教師引導(dǎo)學(xué)生分析條件語句的格式之后,安排學(xué)生在Flash中通過拖拽相應(yīng)的模塊完成程序的流程設(shè)計,檢測學(xué)生對程序流程的理解,同時促進學(xué)生加深對程序的認識。
③流程圖軟件應(yīng)用。本節(jié)課中利用了“畫程”軟件,與一般的流程圖軟件不同,“畫程”軟件不僅可以畫出流程圖,還可以自動轉(zhuǎn)換成程序(程序借助某種語言呈現(xiàn))并進行編譯執(zhí)行。初中學(xué)生對程序編寫不是特別熟悉,在這種情況下,借助“畫程”軟件,降低技術(shù)門檻,可以適度降低程序編寫的難度,減少學(xué)生對程序的畏難情緒,同時幫助學(xué)生將注意力集中到思路的梳理上。在自主探究環(huán)節(jié),畫出流程圖后,教師提醒學(xué)生觀察“單步運行”功能。借助這一功能,引導(dǎo)學(xué)生通過對程序的逐步運行進行觀察,從而了解、理解程序,這一點充分利用了“畫程”本身的功能。繼流程圖之后,學(xué)生可以參照“畫程”的代碼窗口完成給定的程序,即模仿完成練習(xí)。這里也是充分利用了“畫程”功能促進學(xué)生更好地理解條件語句的格式及用法。
④半成品程序。自主探究、拓展練習(xí)部分都提供了半成品的程序,可以幫助學(xué)生(尤其是基礎(chǔ)薄弱的學(xué)生)將精力聚焦于本節(jié)課的重難點,實現(xiàn)難點化解、重點突破。
(2)細節(jié)把握
①情境創(chuàng)設(shè)。利用“猜幣”游戲?qū)?,一方面,貼近學(xué)生經(jīng)驗,容易激發(fā)學(xué)生的興趣;另一方面,借助游戲,促進學(xué)生了解程序是事先編寫好的,不能盲目選擇。
②迭代思想。學(xué)生最早接觸到的程序,用戶參與的結(jié)果是全輸。學(xué)生在明確原理之后,嘗試設(shè)計全贏的程序,并進而考慮有輸有贏的結(jié)果。一方面,不斷調(diào)整、設(shè)計程序,體現(xiàn)一種迭代思想;另一方面,有輸有贏,由學(xué)生自己來定,在難度上是一樣的,體現(xiàn)出對學(xué)生興趣差異的尊重。
③糾錯能力培養(yǎng)。自主探究、拓展練習(xí)環(huán)節(jié)在學(xué)生完成練習(xí)后,都設(shè)計有專門的糾錯練習(xí),引導(dǎo)學(xué)生在分析典型錯誤的過程中,更為精準地掌握條件語句及其運用。
● 共性提煉
兩個案例雖然面向的學(xué)段不同,涉及的教學(xué)內(nèi)容不同,編程語言也不同,但能提煉出共性,即都鮮明地體現(xiàn)出對學(xué)生思維的引導(dǎo),而非聚焦于編程或語言本身。
編寫計算機程序解決實際問題的過程包括分析問題、設(shè)計算法、編寫程序、調(diào)試運行等環(huán)節(jié),需要經(jīng)歷自然語言、流程圖、編寫程序三個階段,因此對學(xué)生思路的引導(dǎo),可以圍繞這三個階段展開,以體現(xiàn)程序設(shè)計學(xué)習(xí)的特點。
1.自然語言階段
此階段不涉及程序語言,可以用學(xué)生易于理解的方式來表達解決問題的思路。具體教學(xué)中,可以根據(jù)不同學(xué)段學(xué)生的認知結(jié)構(gòu)設(shè)計相應(yīng)的形象化方法促進學(xué)生對解決問題思路的理解。例如,在《自相矛盾(二)》[2]教學(xué)設(shè)計中,是通過故事梳理幫助學(xué)生理解程序展開的順序。另外,有些教師借助形象的微課或動畫幫助學(xué)生理解編程思路。又如,在案例《讀心術(shù)——利用計算機解決問題的一般過程》(北京 劉征)中,在思路引導(dǎo)部分,教師給出所有環(huán)節(jié)的自然語言描述,讓學(xué)生根據(jù)對程序的理解進行思路的排序。除了對環(huán)節(jié)進行排序,還可以考慮半成品的形式,即提供部分環(huán)節(jié)的自然語言描述,學(xué)生在讀懂的基礎(chǔ)上,再補充其余部分。以上方法都有助于降低難度,促進學(xué)生的理解。
2.流程圖階段
此階段需要用流程圖來表達解決問題的思路。流程圖本身屬于一種可視化的表達,但流程圖的繪制有規(guī)范的格式及符號等規(guī)定,需要專門學(xué)習(xí)。因此,教學(xué)中可以根據(jù)學(xué)段的不同,對流程圖繪制做相應(yīng)的調(diào)整,如小學(xué)通過補充半成品的流程圖或重組亂序的流程圖等方式降低畫流程圖的難度。例如,在《足智多謀的小海龜》教學(xué)設(shè)計中[3],學(xué)生將打亂的流程圖卡片進行排序。又如,在《高塔比一比》教學(xué)設(shè)計中[4],學(xué)生在Flash中拖拽形成流程圖。同樣是流程圖排序,在形式上,可以借助計算機實現(xiàn)拼接,也可以安排學(xué)生在紙上完成流程圖的拼貼。
初中尤其是高中教學(xué)中,則可能采用專門的流程圖軟件。例如,在《運用順序結(jié)構(gòu) 解決生活問題》(昆明 吳驥鵬)案例中,借助Raptor實現(xiàn)程序的功能。而案例二中則是采用了“畫程”引導(dǎo)學(xué)生理解程序思路。
3.編寫程序階段
此階段需要用具體的程序來解決問題。根據(jù)學(xué)情,部分案例也采用了一些策略適度降低難度,促進學(xué)生對程序思路的理解,如學(xué)生直接運行給定的程序,觀察結(jié)果。例如,在《讀心術(shù)——利用計算機解決問題的一般過程》(北京 劉征)中,學(xué)生需要復(fù)制給定的程序并運行,通過查看結(jié)果,了解命令的作用。另外,有些教師給學(xué)生提供打亂順序的程序塊,學(xué)生需要復(fù)制程序并根據(jù)正確的順序粘貼,然后才能運行得到結(jié)果。在此階段,應(yīng)用較多的是程序半成品。
以上是在分析案例的基礎(chǔ)上進行的歸納,具體展開教學(xué)設(shè)計時,還需要根據(jù)教學(xué)內(nèi)容、教學(xué)目標(biāo)、學(xué)情等情況,做出合理的選擇。
參考文獻:
[1]李藝,朱彩蘭.信息技術(shù)課程與教學(xué)(第2版)[M].北京:高等教育出版社,2018:95-96.
[2]孫曉宇.《自相矛盾(二)》教學(xué)設(shè)計[J].中國信息技術(shù)教育,2019(08):33-35.
[3]王金嬋.《足智多謀的小海龜》教學(xué)設(shè)計[J].中國信息技術(shù)教育,2017(02):26-29.
[4]徐欽.《高塔比一比》教學(xué)設(shè)計——Scratch中數(shù)的大小比較[J].中國信息技術(shù)教育,2019(08):36-38.