明紀英
在2017年新頒布的《普通高中信息技術課程標準》中,對計算思維的概念描述是“個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動。具備計算思維的學生,在處理信息過程中能夠采用計算機可以處理的方式界定問題、抽象特征、建立結構模型、合理組織數(shù)據(jù);通過判斷、分析與綜合各種信息資源、運用合理的算法形成解決問題的方案;總結利用計算機解決問題的過程與方法,并遷移到與之相關的其他問題解決中”??梢?,計算思維有助于培養(yǎng)學生最優(yōu)化解決問題的能力。那么如何有效培養(yǎng)學生的計算思維能力呢?需要將學生置于真實的問題情境中,親身經(jīng)歷探究和邏輯的思考過程,尋求問題解決方案,這樣才能獲得問題解決能力。[1]
目前采用問題教學法在程序設計教學過程中,是有效落實培養(yǎng)學生計算思維的途徑之一,問題教學法就是在教學中設置問題或疑點,以解決問題為突破口,帶動知識點的學習。而設計問題往往比回答問題更重要,是問題教學法順利進行的前提。下面以程序設計這部分教學為例,闡述信息技術教師在程序設計章節(jié)教學時應如何設計問題?[2]
一、針對知識的生長點、設計啟發(fā)性的問題
在課前,教師要充分地了解學生的知識儲備程度、新舊知識的內(nèi)在聯(lián)系以及面對新問題具有的可擴展的程度,找準知識的生長點來設計啟發(fā)性問題,因為任何知識都不是孤立的,都是由舊知識發(fā)展而來的。所以教師要鼓勵學生大膽嘗試,尋求解決問題的方法。同時為學生提供學習支架,讓學生能夠跳一跳夠得著。
例如:《timer控件的使用》這一課,授課教師為了引導學生了解timer控件的作用及相關屬性,在導入環(huán)節(jié)設置了如下的問題:
問題1:timer控件在工具箱的什么位置?作用是什么?關鍵屬性有哪些?
問題2:Interval作用是什么?通過代碼說明來猜測,并建立事件來驗證。
接下來,每組三個學生,分別將Interval屬性值設置成1000、500、200,并建立同樣的事件;通過觀察程序運行結果,總結Interval的作用。[3]
本案例中,授課教師就很好地抓住了知識的生長點如案例中VB程序軟件中控件的作用及關鍵屬性。學生前期已有其它控件的學習方法(舊知),通過問題1引出新知—Timer控件的作用及關鍵屬性,加深學生對控件的認知。接下來又通過問題2,引導學生用驗證的方式理解新知的作用。
二、針對知識的重難點、設計思考性的問題
計算思維培養(yǎng)只有在學生思維的活躍狀態(tài)中,才能得到有效的發(fā)展。所以教師所提的問題一定要圍繞教學目標,切合學生實際,緊扣教學重難點。在問題設計時,教師不僅要考慮提什么樣的問題,還要考慮為什么要提這樣的問題,提出的問題既不能過于淺白,沒有思考的余地,又不能太深,讓人難以琢磨,無從下手。因為二者都不易引起學生的思考。教師應根據(jù)教材重點和學生的實際提出深淺適度,具有思考性的問題。
例如:《Timer控件的使用》案例中,教學的重點是Timer控件的作用;難點是根據(jù)需求,合理設置Timer控件的屬性及與其它控件的綜合應用。授課教師通過一系列的思考問題引導學生學習新知,突破重難點。
問題3:如果想通過command控件來控制Timer控件的啟動,應該如何建立并書寫代碼?
問題4:回憶咱們之前做的游戲控制器,它和貪吃蛇的游戲在操縱上有什么區(qū)別?
問題5:能否結合今天所學的timer控件,與Command控件組合實現(xiàn)貪吃蛇游戲的效果呢?嘗試先完成一個控制向下移動的按鈕。
問題6:參考控制向下移動的按鈕的思路,繼續(xù)完成一個控制向上移動的按鈕。注意觀察程序運行結果,分析為什么會出現(xiàn)這樣的效果?
在這個案例中,教師圍繞教學的重難點,設計了一系列的問題,引導學生在動手實踐過程中,邊思考邊探尋問題的答案,解決問題的同時,鞏固了新知。這一系列問題體現(xiàn)的是“將該問題的求解過程進行推廣并移植到更廣泛的問題中”的計算思維的培養(yǎng)目標。
三、針對實際操作,設計指導性的問題
程序設計課程是一門實踐性課程,學生只有通過算法設計并由計算機語言實現(xiàn)來體驗問題求解的思維方法訓練,在教學中需要圍繞“問題”通過大量練習和實踐操作幫助學生建立計算思維、掌握程序設計方法、培養(yǎng)程序設計能力,并最終運用程序設計軟件來解決實際問題。
例:《猜價格游戲背后的秘密》一課中,授課教師為了引導學生進一步理解分支結構中條件語句的作用,在綜合任務環(huán)節(jié)設計了如下的問題: