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