張建鵬
計(jì)算思維是高中信息技術(shù)學(xué)科核心素養(yǎng)之一,對它的培養(yǎng)是高中信息技術(shù)教學(xué)重點(diǎn)關(guān)注的內(nèi)容,因此,在《算法與程序設(shè)計(jì)》教學(xué)中,筆者利用小游戲的程序設(shè)計(jì)探索計(jì)算思維的培養(yǎng)。教學(xué)中,隨著對程序知識(shí)學(xué)習(xí)的深入,筆者不斷對小游戲程序進(jìn)行改進(jìn)和優(yōu)化,在此過程中,學(xué)生的計(jì)算思維得到運(yùn)用和發(fā)展。這個(gè)游戲程序分別用在了教學(xué)的三個(gè)階段。
● 第一階段:程序的初步認(rèn)識(shí),計(jì)算思維的初步運(yùn)用
本階段的目標(biāo)是熟悉編程環(huán)境,掌握程序中的一些基本概念,激發(fā)對程序的學(xué)習(xí)興趣。需要學(xué)生掌握控件及控件對象的使用,熟悉不同對象屬性的設(shè)置和單擊事件的控制,學(xué)會(huì)運(yùn)行、調(diào)試程序,逐步熟悉程序設(shè)計(jì)的特點(diǎn)和規(guī)則,初步形成把問題轉(zhuǎn)換到計(jì)算機(jī)中解決的認(rèn)識(shí)。
設(shè)計(jì)問題:利用VB設(shè)計(jì)和制作一個(gè)簡單的《真心話大冒險(xiǎn)》小游戲。
教學(xué)程序?qū)嵗骸墩嫘脑挻竺半U(xiǎn)》初級版本,在窗體中設(shè)置多個(gè)標(biāo)簽控件對象,分別用來單擊顯示相應(yīng)問題。利用標(biāo)簽的單擊事件改變標(biāo)簽對象的Caption屬性,達(dá)到顯示問題內(nèi)容的目的。
在學(xué)習(xí)實(shí)踐中,并不局限于教學(xué)實(shí)例的制作,可以利用其他控件對象對程序進(jìn)行修改,如利用按鈕和按鈕的單擊事件,在標(biāo)簽對象中顯示問題,實(shí)現(xiàn)程序?qū)嵗亩鄻有?。另外,利用此?shí)例的特點(diǎn),還可以擴(kuò)展到其他應(yīng)用上,如設(shè)計(jì)一個(gè)性格與顏色測試程序、簡單的心理測試軟件等。通過程序?qū)嵗亩鄻有孕薷?,讓學(xué)生加強(qiáng)知識(shí)的運(yùn)用和思維的擴(kuò)展,建立初步的計(jì)算模型,快速地解決問題。
● 第二階段:程序的結(jié)構(gòu)學(xué)習(xí),讓學(xué)生的計(jì)算思維得到充分的發(fā)揮
本階段讓學(xué)生明確程序的基本結(jié)構(gòu),掌握程序中數(shù)據(jù)類型、變量、常量、函數(shù)的概念,并熟練運(yùn)用這些知識(shí);讓學(xué)生學(xué)會(huì)讀取和使用流程圖,來觀察和確定程序的執(zhí)行過程,并能轉(zhuǎn)換為程序代碼。
設(shè)計(jì)問題:設(shè)計(jì)制作《真心話大冒險(xiǎn)》的初級版本,很好玩,但也發(fā)現(xiàn)它不夠靈活,隨機(jī)抽取問題是這個(gè)游戲中非常重要的環(huán)節(jié),讓我們來一起完成游戲的一次進(jìn)化。
教學(xué)程序?qū)嵗骸墩嫘脑挻竺半U(xiǎn)》中級版本,在窗體中設(shè)置一個(gè)標(biāo)簽控件對象,用來顯示相應(yīng)問題,通過單擊真心話和大冒險(xiǎn)標(biāo)簽,實(shí)現(xiàn)隨機(jī)顯示問題。本實(shí)例利用隨機(jī)函數(shù)和選擇結(jié)構(gòu)來實(shí)現(xiàn)程序的設(shè)計(jì)制作。
對于選擇結(jié)構(gòu)的利用,要求學(xué)生嘗試使用if語句的多種形式或select case語句來實(shí)現(xiàn)所需要的功能。透過對選擇結(jié)構(gòu)的深入學(xué)習(xí),學(xué)生能逐漸發(fā)現(xiàn)不同語句的用法和作用,明確在什么條件下選擇什么樣的語句更合適,建立有效的計(jì)算模型,學(xué)會(huì)從不同的角度思考問題。
● 第三階段:高級組件的應(yīng)用,讓學(xué)生計(jì)算思維有一定的擴(kuò)展
本階段要求學(xué)生掌握一些高級組件的應(yīng)用,理解不同事物、時(shí)間與空間到計(jì)算機(jī)內(nèi)的轉(zhuǎn)換,對從事物到抽象、從抽象到事物有更深的認(rèn)識(shí)。掌握時(shí)鐘、畫線和圖像控件的使用,明確加載圖片路徑的方式,掌握時(shí)鐘對象和畫線對象之間的變化聯(lián)系。
設(shè)計(jì)問題:多人參與,人與問題的隨機(jī)性的實(shí)現(xiàn),建立友好的使用界面,讓我們一起來實(shí)現(xiàn)游戲的高級進(jìn)化。
教學(xué)程序?qū)嵗骸墩嫘脑挻竺半U(xiǎn)》高級版本,引入時(shí)間和空間的控件來幫助程序的設(shè)計(jì),增加程序的靈活性,使用對話框、時(shí)鐘、圖像等對象,增強(qiáng)界面的表現(xiàn)效果,結(jié)合中級版本,對時(shí)鐘對象和全局變量的控制,以尋求達(dá)到程序的最佳效果,進(jìn)一步完善游戲程序。
在程序的制作過程中,掌控對象的功能和對象之間的關(guān)聯(lián),實(shí)現(xiàn)對象的時(shí)空變化,確立程序的時(shí)間和空間基本模式,優(yōu)化程序的界面,豐富程序的功能,讓學(xué)生站在多角度考慮問題。
在游戲程序的設(shè)計(jì)制作過程中,不斷發(fā)現(xiàn)問題、思考問題、解決問題,通過實(shí)現(xiàn)簡單的游戲、功能上的優(yōu)化以及界面的交互性設(shè)計(jì),讓學(xué)生逐步求解。游戲的進(jìn)化過程,也是思維方法的進(jìn)化過程從最初的問題簡單抽象到復(fù)雜抽象,從實(shí)現(xiàn)形式的簡單構(gòu)造到復(fù)雜構(gòu)造,從處理問題的單一性到多樣性,逐步豐富和完善程序的功能,讓學(xué)生體會(huì)利用計(jì)算機(jī)解決問題的過程,拓展學(xué)生的思維方法和思維廣度,讓學(xué)生體驗(yàn)到利用計(jì)算機(jī)解決問題的樂趣和方式。
● 教學(xué)反思
①計(jì)算思維能力培養(yǎng)的有效途徑就是讓其得到運(yùn)用。學(xué)生已有的生活經(jīng)歷以及通過其他學(xué)科的學(xué)習(xí),使其具備了一定的計(jì)算思維能力,通過游戲設(shè)計(jì)制作,學(xué)生分析問題、設(shè)計(jì)算法、操作實(shí)踐,把實(shí)際問題轉(zhuǎn)換到計(jì)算機(jī)中來處理,對程序?qū)嵗牟煌瑢?shí)現(xiàn)形式進(jìn)行探索,實(shí)現(xiàn)了自身能力的充分應(yīng)用,計(jì)算思維能力得到進(jìn)一步發(fā)揮和擴(kuò)展。
②本實(shí)例依據(jù)學(xué)習(xí)知識(shí)的不同階段,把程序分成不同的版本,既有知識(shí)的推進(jìn),又有實(shí)例的連貫性,把所學(xué)、所思、所想應(yīng)用到程序設(shè)計(jì)當(dāng)中,推進(jìn)了程序的進(jìn)化,鍛煉了學(xué)生的思維能力。雖然一個(gè)實(shí)例不能涵蓋所有的知識(shí),但是此實(shí)例能讓一個(gè)問題實(shí)現(xiàn)從簡單化到復(fù)雜化再到簡單化,突出問題的不同解決方式,以鍛煉學(xué)生的計(jì)算思維能力,提升信息素養(yǎng)。
③教學(xué)內(nèi)容和實(shí)踐要遵循學(xué)科知識(shí)和學(xué)生認(rèn)知特點(diǎn),在追求教學(xué)效率的同時(shí),要抓住每一個(gè)環(huán)節(jié)來提升學(xué)生的信息素養(yǎng)。例如,對象的命名,看似簡單,卻蘊(yùn)含著處理信息的素養(yǎng);本實(shí)例中控件的使用,使得學(xué)生對計(jì)算機(jī)抽象事物的過程認(rèn)識(shí)大打折扣,不如采用自定義類讓學(xué)生對類理解得更加透徹。所以,教學(xué)要遵循學(xué)生的認(rèn)識(shí)規(guī)律,關(guān)注學(xué)生學(xué)習(xí)習(xí)慣的養(yǎng)成。
④雖然高中生的邏輯思維能力和獨(dú)立處理問題的能力比較強(qiáng),可以獨(dú)立處理很多問題,但其合作能力有待提高,所以在要求學(xué)生自主學(xué)習(xí)的同時(shí),更要注重對學(xué)生合作探究能力的培養(yǎng)。問題的設(shè)計(jì)和學(xué)習(xí)情境的創(chuàng)設(shè),需要認(rèn)真對待、精心思考,注意每一個(gè)環(huán)節(jié),加強(qiáng)指導(dǎo),突出學(xué)生合作探索的過程,這樣更有利于學(xué)生計(jì)算思維能力的培養(yǎng)。
⑤計(jì)算思維的培養(yǎng)要開闊思路,不能局限于信息技術(shù)學(xué)科和學(xué)科內(nèi)的某一些知識(shí),計(jì)算思維是綜合知識(shí)的運(yùn)用,要注重與學(xué)生生活實(shí)際的聯(lián)系和知識(shí)的遷移。計(jì)算思維不是計(jì)算機(jī)領(lǐng)域獨(dú)有的,它可以來源于各個(gè)領(lǐng)域,同樣也可以應(yīng)用到各個(gè)領(lǐng)域。
計(jì)算思維為高中信息技術(shù)課堂注入了新的活力,計(jì)算思維的教與學(xué),需要教師在教學(xué)中不斷地實(shí)踐和探索。信息技術(shù)教師只有多學(xué)習(xí),多思考,多實(shí)踐,多反思,才能把計(jì)算思維的培養(yǎng)落到實(shí)處。