王芳

[摘要] 程序設計課程學習是目前最常見的信息技術學科計算思維培養途徑。研究表明,不依賴于程序設計的一般性問題解決也可以培養學生的計算思維。培養計算思維過程的本質要求之一是進行問題抽象化,本文對基于問題解決的教學實踐案例進行研究,嘗試從問題的多種表象中提取出問題本質。在課堂教學中將學生學習過程置于復合問題情境之中,讓學生分別解決不同的情境問題,并進行精細加工,以提煉出一般性知識。
[關鍵詞] 計算思維;復合問題情境;信息技術教學
計算思維作為信息技術學科核心素養的重要組成正受到越來越多的關注。在信息技術教學中培養學生的計算思維離不開合理的問題情境創設。如果學生在初始學習時就處于單一或簡單的問題情境中,那么當問題情境發生變化時學生則很難實現遷移,即很難使用所學知識解決新情境中的問題。學生的計算思維能力應該體現在能解決相對復雜情境下的問題,且能在不同情境下順利遷移。如果讓學習發生在復合情境之中,學生更易抽象出一般性知識,從而實現更加彈性地解決問題。所謂復合問題情境,是指看似相互獨立,又有內在聯系的多個問題情境組合。相較于單一情境,復合情境更有利于培養學生的計算思維能力。
一、利用知識特征,建立關聯情境
情境設計是指在教學過程中,教師有目的地引入或創設具有一定情緒色彩的、以形象為主體的且生動具體的場景,以引起學生一定的態度體驗,幫助學生理解教材,并使學生的心理機能得到發展的教學方法,其核心在于激發學生的情感。課上的情境可能是相對獨立的,也可能是相互關聯的,由于計算思維本身的特性,復合問題情境更容易培養計算思維。
本案例“VB中的定時器”選自蘇教版《初中信息技術》八年級第4章“算法與程序設計”第5節“程序中的循環”第2部分內容。通過先前的學習,學生已經掌握了VB程序設計的基礎知識,了解了程序設計語言的三大結構——順序結構、選擇結構和循環結構,并能運用條件語句實現判斷。此外,他們還學會編寫簡單的條件循環和計數循環語句,掌握循環的含義和作用。本節課主要學習定時器這種循環實現方式,還要運用定時器這一控件制作兔子奔跑的動畫效果。為此,教師設計了三個任務,通過設計數字倒計時程序完成對知識的學習,以讓學生掌握定時器這一控件的使用方法,接著通過建立關聯情境,設計圖片倒計時程序,完成圖片的切換效果,為設計兔子奔跑這一動畫奠定基礎。
教師借助問題情境“5秒鐘文字倒計時”程序的編寫,帶領學生學習了定時器控件的使用方法。在后繼環節讓學生自主解決問題“奔跑的兔子”動畫時,有一部分學生出現了困難,他們不能順利地使用定時器控件實現該動畫效果。在改進教學中,教師增加了用于關聯問題情境設計的“圖片版倒計時”程序,學生則更為順利地完成了后面兩個問題。不難看出,關聯問題情境與兩個問題情境之間存在如下關聯性特征,關聯問題情境“圖片倒計時”與問題情境“文字倒計時”之間的關聯特征是實現倒計時效果;關聯問題情境“圖片倒計時”與問題情境“奔跑的兔子”之間的關聯特征是實現不同圖片快速輪流切換。關聯特征的存在使得學習在不同情境中的遷移更加容易發生,這是一則復合問題情境設計的有效應用案例。通過系列問題解決,學生不僅順利地完成了知識學習,解決了相關的問題,而且在對不同案例進行精細化加工的過程中獲得了一般性知識,形成解決問題的相關能力。下表是對案例精細化加工并提取共性特征的過程。
如果兩個問題情境之間缺少相似性,那么教師的作用就是幫助學生在兩個獨立問題情境之間建立關聯情境,關聯情境與兩個獨立問題情境分別具有一定的相似特征。學生容易通過這些外部特征的相似點來提取相關知識,并將其用于解決形式相異的問題,從而實現對知識的遷移運用,培養計算思維。
二、利用認知沖突,建立關聯情境
在學生學習的過程中,會遇到新的知識和已有知識經驗產生沖突的情況,學生容易在此情形下陷入困惑狀態。他們迫切想要解決這一困惑,教師如果能利用好這一認知沖突,將會大大提升學生的學習效果,加深知識在學生腦中的印象,并幫助學生更好地理解新知。本案例“程序中的判斷”選自蘇教版《初中信息技術》八年級第4章第4節“程序中的判斷”。通過前面的學習,學生已經掌握了VB程序設計的基本知識,能夠運用條件語句實現判斷,還編寫了簡單的分支結構語句,本節課主要學習邏輯語句與IF語句的嵌套使用。
基于已有認知的問題情境設計——消費金額的計算。每年雙十一各電商平臺都會舉行大型促銷活動,某商家的促銷規則為購物即可享受九五折優惠,滿1000元(包含1000元)可享受九折優惠,請你編寫這樣一個程序:根據輸入商品價格自動計算出實際支付的價格。問題一經給出,學生快速回憶先前有關條件語句的知識,找到解決問題的條件語句,這樣就為接下來的程序設計打好了鋪墊。
用于自主解決的問題情境設計——快遞費用的計算。網絡購物一般是通過快遞的方式來寄送,已知某平臺的郵費規則:快遞服務的基礎快遞費用為6元,商品消費滿99元(包含99元)且商品的重量小于等于10kg可以免收快遞服務費,超過重量的加收1元/kg(不足1kg按照1kg算)續重計算運費。請你設計程序,根據輸入的商品金額和商品重量,計算出需要支付的快遞費用。
關聯問題情境設計——多種促銷規則下的消費金額計算。某商家的促銷規則:購物即可享受九五折優惠,滿1000元但是不滿2000元可享受九折優惠,滿2000元(包含2000元)可享受八五折優惠。這時程序又該如何編寫呢?鑒于對條件語句的已有認識,學生容易寫出形如1000<=pri<=2000的條件語句,但在實踐中發現這種條件語句的撰寫是行不通的,因為它會和已有認知產生沖突。這一沖突情境恰好激發了學生尋找解決方案的欲望,基于認識沖突,接下來學習邏輯語句時將會產生非常好的學習效果。
除了運用邏輯語句可以解決這一問題,條件語句的嵌套也可以解決這一問題。教師可以引導學生從多角度來思考問題,尋找多種解決方法,并能選擇合適的解決方法來解決問題。借助消費金額計算這一問題情境,教師幫助學生回憶條件語句的基本知識,掌握條件語句的書寫方式。在自主解決問題環節,很多學生想不到使用條件語句的嵌套來計算快遞費用,這時通過增加一個關聯情境,計算多種促銷規則下的消費金額,有助于學生建立起條件語句的嵌套和邏輯語句的相關知識,也為解決快遞費用的程序設計和計算奠定基礎。