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