摘 要:計算思維是信息技術(shù)學(xué)科核心素養(yǎng)的重要組成部分之一,在中小學(xué)信息技術(shù)學(xué)科教學(xué)中的重要性和必要性,越來越多地受到關(guān)注。如何在信息技術(shù)教學(xué)中培養(yǎng)學(xué)生的計算思維呢?文章從實(shí)際課堂教學(xué)入手,淺析在課堂教學(xué)中以問題情境來培養(yǎng)學(xué)生的計算思維,提高學(xué)生信息素養(yǎng)。
關(guān)鍵詞:問題情境;計算思維;信息素養(yǎng)
一、 引言
首先,計算思維是每個人在日常生活中都可以運(yùn)用的一種思考方式,人們每天都在用它解決生活中遇到的一些問題,如出行時的路線規(guī)劃、理財時的投資選擇、科學(xué)研究的分析、天氣預(yù)報的預(yù)測,學(xué)生對一道題目的求解等,它越來越多地受到人們的關(guān)注;其次,計算思維作為信息技術(shù)學(xué)科核心素養(yǎng)的重要組成部分之一,在信息技術(shù)學(xué)科教學(xué)中也顯示出它的重要性和必要性。但如何在信息技術(shù)教學(xué)中培養(yǎng)學(xué)生的計算思維呢?現(xiàn)以常態(tài)教學(xué)中的一課《程序的循環(huán)》為例,淺談在信息技術(shù)教學(xué)中以“問題情境”來培養(yǎng)學(xué)生的計算思維。
二、 計算思維與問題情境
計算思維是指個體運(yùn)用計算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動。
初中信息技術(shù)教學(xué)中,可以說計算思維無處不在。一線教師將學(xué)生無意識的計算思維變成有意識的計算思維,讓學(xué)生主動地利用計算思維去分析問題、解決問題,并融入其他學(xué)科的學(xué)習(xí),這既是一個挑戰(zhàn),也是一個際遇。因此,筆者嘗試用“問題情境”來設(shè)計課堂教學(xué),通過“問題情境”的創(chuàng)設(shè)、分析、解決來培養(yǎng)學(xué)生的計算思維。
這里的“問題情境”是一種具有特殊意義的教學(xué)環(huán)境。一種意義上是指將課堂教學(xué)任務(wù)設(shè)計成看得見、摸得著的教學(xué)背景,如制作電子動畫賀卡、制作宣傳公益活動的網(wǎng)頁、海報等,或是解決數(shù)學(xué)中的雞兔同籠問題、求1+2+3+4+……+100的和等問題情境。另一種意義是由問題情境激發(fā)學(xué)生學(xué)習(xí)的興趣與熱情,讓學(xué)生對學(xué)習(xí)有一種主觀愿望,并喚起學(xué)生對即將所學(xué)知識產(chǎn)生一種渴望與追求;這樣,學(xué)生在學(xué)習(xí)中始終以積極的情感去體驗,主動地投入學(xué)習(xí)中去,從而達(dá)成課堂學(xué)習(xí)目標(biāo)。學(xué)生在這樣的問題情境中,其信息素養(yǎng)、綜合素質(zhì)得到提升。
三、 信息技術(shù)課堂教學(xué)中實(shí)施計算思維的重要性
“授人以魚,不如授人以漁?!背踔行畔⒓夹g(shù)學(xué)科的教學(xué)中,除了讓學(xué)生掌握必要的知識與技能外,更重要的是培養(yǎng)學(xué)生運(yùn)用這些知識與技能去解決生活中、學(xué)習(xí)中各種問題的能力。而要做到這一點(diǎn),就需要教師將學(xué)生無意識的計算思維匯聚起來,形成學(xué)生有意識的計算思維,讓學(xué)生逐漸地熟悉與慢慢地形成信息技術(shù)學(xué)科中的計算思維,拓展學(xué)生看待問題與思考問題的角度、方式和方法,讓學(xué)生擁有一種生活技能,從而提高學(xué)生的信息素養(yǎng),使學(xué)生在今后這樣一個數(shù)據(jù)化、智能化的信息時代更好地生活與發(fā)展。
四、 問題現(xiàn)狀
筆者在課堂教學(xué)研究中遇到過這樣的情況,蘇科版《初中(8年級)信息技術(shù)》第4章算法與程序設(shè)計中的第5節(jié)程序中的循環(huán),需要學(xué)生掌握兩種循環(huán)語句:條件循環(huán)語句與計數(shù)循環(huán)語句。在學(xué)習(xí)本節(jié)內(nèi)容前筆者首先對學(xué)生的學(xué)情進(jìn)行了分析,學(xué)生在小學(xué)階段學(xué)習(xí)過Scratch編程,理解“反復(fù)執(zhí)行”與“反復(fù)執(zhí)行多少次”的控制模塊,但對VB編程環(huán)境下的“循環(huán)”“循環(huán)語句”沒有概念認(rèn)知,更不知教材中兩種循環(huán)語句適用于何種場合。
這樣的問題,無獨(dú)有偶,在其他章節(jié)學(xué)習(xí)中也遇到過。若教師還是繼續(xù)按照傳統(tǒng)的教學(xué)方式“講授—練習(xí)—鞏固”,學(xué)生是聽眾、是接受者的話,課堂氣氛呆滯,學(xué)生學(xué)習(xí)興趣不足,體驗不到學(xué)習(xí)新知識的新鮮感,這樣的課堂教學(xué)效率可想而知,也談不上培養(yǎng)學(xué)生的計算思維與提高學(xué)生的信息素養(yǎng)了。
其次,教學(xué)中有時教師把關(guān)注點(diǎn)、側(cè)重點(diǎn)放在了學(xué)生對軟件的操作技能上,忽視了學(xué)生主體思考、分析、解決問題的過程與空間的釋放,忽視了學(xué)生的計算能力和創(chuàng)造能力。長久下來,學(xué)生的計算思維得不到有效開發(fā)。
最后,教師在教學(xué)設(shè)計時若理念依然陳舊,視野還只局限于書本、教參的話;教學(xué)目標(biāo)還只注重信息技術(shù)內(nèi)容的學(xué)習(xí)的話;教學(xué)過程還依然是固定的,沒有師生互動、生生交流的話;這樣的氛圍是不利于學(xué)生計算思維的培養(yǎng)的,教師最終也給不了學(xué)生“一潭清水”。
鑒于信息技術(shù)課堂教學(xué)中培養(yǎng)學(xué)生計算思維的重要性與目前的問題現(xiàn)狀,筆者從課堂教學(xué)為抓手、從學(xué)生日常生活中的問題情境入手,通過提出問題、分析問題、運(yùn)用計算機(jī)解決問題,并將過程與方法遷移到其他學(xué)科學(xué)習(xí)與實(shí)際生活的問題解決中去,從而培養(yǎng)學(xué)生的計算思維與提升學(xué)生的信息素養(yǎng)。具體從以下幾個環(huán)節(jié)進(jìn)行展開探索與實(shí)踐。
五、 以具體問題情境來淺析培養(yǎng)學(xué)生計算思維
(一)從問題解決的角度創(chuàng)設(shè)情境
《程序的循環(huán)》在傳統(tǒng)的課堂中會以這樣的環(huán)節(jié)進(jìn)行:“情境導(dǎo)入——兩種循環(huán)語句的語法學(xué)習(xí)——程序運(yùn)行結(jié)果的案例分析——圍繞問題編寫程序”,學(xué)生在接受知識、學(xué)完語法知識后,直接上手編寫程序,學(xué)生會茫然,更會猶豫不定:到底用哪種循環(huán)語句來實(shí)現(xiàn)呢?或者直接套用“Do While……Loop”或“FOR I=1 TO……Next”的循環(huán)語句,對需要解決的問題沒有思考、分析,頭腦中也沒有一個對問題界定的概念及解決問題的過程與方法,由此也無法建立數(shù)據(jù)結(jié)構(gòu)模型,從而解決不了更高層次的問題。
課堂教學(xué)設(shè)計應(yīng)從問題解決的角度創(chuàng)設(shè)情境,按照“具體——抽象——具體”的設(shè)計思路,由貼近學(xué)生生活的現(xiàn)實(shí)小問題出發(fā)引導(dǎo)學(xué)生學(xué)會分析,找出規(guī)律,并在教師的幫助下界定問題,建立相應(yīng)的數(shù)學(xué)模型。在本課的情境導(dǎo)入中,筆者以這樣的問題情境展開的。
問題:生活中,小明每天有向儲蓄罐中存錢的習(xí)慣,第一天存1元,第二天存2元,第三天存3元……當(dāng)存了n天后,他想:“100天后,我的儲蓄罐中有多少錢了呢?我什么時候能夠存到1000元呢?”
問題提出后,學(xué)生聯(lián)系自己的生活實(shí)例與已有的知識體系,迫切地想利用剛剛學(xué)習(xí)到的計算機(jī)程序來解決此問題,可前面學(xué)習(xí)到的判斷結(jié)構(gòu)似乎幫不上忙。這時,教師追問:“再仔細(xì)讀一讀問題,想一想小明每天都在做什么事情?”——“每天都向儲蓄罐中存錢!”學(xué)生異口同聲地回答。每天都在做同樣的事情:存錢,對每天重復(fù)做的事情,在計算機(jī)程序中可以用循環(huán)來實(shí)現(xiàn),從而界定問題概念——程序的循環(huán)。此刻,既激發(fā)了學(xué)生的學(xué)習(xí)欲望,又鍛煉學(xué)生的思考能力,計算思維也由此展開,而本課的學(xué)習(xí)驅(qū)動力也被熊熊燃起。
(二)以階梯化問題來分析信息資源
階梯化問題是將一個大問題、大信息資源根據(jù)教學(xué)目標(biāo),分割成相互關(guān)聯(lián)的小問題,問題之間由淺入深,具有層次性和系統(tǒng)性。學(xué)生在思考、分析與解決這些問題的過程中,教師要給學(xué)生充分的時間和空間,讓學(xué)生人人參與;更者教師要有思維地訓(xùn)練學(xué)生,幫助學(xué)生層層推進(jìn),引導(dǎo)學(xué)生親身經(jīng)歷用計算機(jī)科學(xué)領(lǐng)域的思考方法解決問題的過程,幫助學(xué)生建構(gòu)出相應(yīng)的數(shù)據(jù)模型,從而使學(xué)生慢慢地形成計算思維。
如,對提出的向儲蓄罐存錢的問題,以這樣的階梯化問題展開,進(jìn)行大問題的分析,從而建構(gòu)出數(shù)據(jù)模型。
假設(shè):天數(shù)用變量d表示;儲蓄罐中的錢用變量m表示,起初儲蓄罐中沒有錢,則m為0。
開始存錢了,第一天,往儲蓄罐中放1元,即0+1→m;第二天,往儲蓄罐中放2元,即1+2→m;第三天,往儲蓄罐中放3元,即3+3→m;第四天,往儲蓄罐放中4元,即6+4→m;……
找出規(guī)律,天數(shù)的變化猶如過日子,每天增加,可以用“d+1→d”表示;而存錢的操作是罐中已有的加上今天存的錢,用“m+d→m”表示。其中,“d+1→d”“m+d→m”就是分析、推導(dǎo)得出的數(shù)據(jù)結(jié)構(gòu)模型。
(三)運(yùn)用合理的算法形成解決問題的方案
通過階梯化小問題的一一分析后,教師與學(xué)生一起建構(gòu)了問題解決的數(shù)據(jù)模型,接著就需要設(shè)計與運(yùn)用合理的算法來解決問題,編寫程序了。算法是程序設(shè)計的“靈魂”,算法也是解決問題的方法和步驟。這時根據(jù)提出的問題“什么時候能夠存到1000元呢?100天后儲蓄罐中有多少錢了呢?”分析出來的數(shù)據(jù)模型,進(jìn)行算法的設(shè)計,用具體的流程圖來表示,讓學(xué)生清晰地知道解決此問題的算法。
算法確定后,就是編制程序了。算法中的重復(fù)執(zhí)行,在程序中就要用到循環(huán)語句,以此展開循環(huán)語句的學(xué)習(xí)及兩種循環(huán)語句的語法學(xué)習(xí)。“Do While……”是條件循環(huán)語句,一般用于循環(huán)次數(shù)事先難以確定的場合,如:“什么時候能夠存到1000元?”而“For……Next”是計數(shù)循環(huán)語句,多用于在執(zhí)行循環(huán)之前能確定循環(huán)次數(shù)的場合,如“100天后儲蓄罐中有多少錢了?”
循環(huán)語句確定后,運(yùn)用分析得出的數(shù)據(jù)模型、算法進(jìn)行解決問題方案的描述,寫出程序段來。
如問題:什么時候能夠存到1000元呢?
Let d=0:Let m=0
Do While m<1000
d=d+1
m=m+d
Loop
Print“需要”;d;“天能存到1000元!”
問題:100天后儲蓄罐中有多少錢了?
Let m=0
For d=1 to 100 step 1
m=m+d
Next d
Print“存100天后儲蓄罐中有:”;m;“元錢!”
程序段寫出后,學(xué)生進(jìn)行程序的編譯與調(diào)試,并自主嘗試修改循環(huán)條件,來看看一年后自己存了多少錢?這時教師再與學(xué)生一起回顧小學(xué)數(shù)學(xué)中“棋盤上的糧食”的故事,學(xué)生的思維立刻散發(fā)出來、活躍出來,并試著用計算機(jī)程序來編寫代碼解決曾經(jīng)疑惑的問題。在這里,教師通過問題情境進(jìn)行循環(huán)語句的具體使用,不僅增強(qiáng)了學(xué)生的學(xué)習(xí)興趣,還活躍了學(xué)生的思維,也對學(xué)生的計算思維能力進(jìn)行了培養(yǎng),學(xué)生的核心素養(yǎng)也獲得了一定的發(fā)展。
(四)運(yùn)用過程與方法遷移到其他問題解決中
在上述問題情境中,對問題的思考、分析、解決的主體都是學(xué)生,學(xué)生自身經(jīng)過推理與判斷,有效地鍛煉了自己的思維能力,并運(yùn)用其思考的過程與分析的方法遷移到其他問題的解決中去,比如學(xué)生自己嘗試著解決數(shù)學(xué)中的求100以內(nèi)所有數(shù)(或奇數(shù),或偶數(shù))之和、等差或等比數(shù)列的前n項的和等,而教師也可以結(jié)合其他學(xué)科進(jìn)行一些主題任務(wù)的訓(xùn)練,如“比比誰的身高最高?”“畫100個同心圓”等,從而讓學(xué)生利用程序設(shè)計中生成的計算思維去解決其他現(xiàn)實(shí)問題,使學(xué)生的計算思維得到升華。
六、 結(jié)語
綜上所述,首先,計算思維作為信息技術(shù)課程核心素養(yǎng)的主體部分,教師也需要有計算思維的理念,變革教學(xué)方法,注重學(xué)生計算思維的培養(yǎng);其次,教師在實(shí)踐教學(xué)中要多融入生活元素,將生活實(shí)際以問題情境創(chuàng)設(shè),并與課堂知識整合起來,拓展學(xué)生信息技術(shù)的學(xué)習(xí)途徑,培養(yǎng)學(xué)生思考、分析、解決與遷移的計算思維能力,從而提高學(xué)生的信息素養(yǎng),培養(yǎng)有素質(zhì)有思維能力的創(chuàng)新型學(xué)生。
參考文獻(xiàn):
[1]鐘柏昌,李藝.計算思維的概念演進(jìn)與信息技術(shù)課程的價值追求[J].課程·教材·教法,2015,35(7):87-93.
[2]李藝,鐘柏昌.信息技術(shù)課程核心素養(yǎng)體系設(shè)計問題討論[J].電化教育研究,2016(4):5-10.
[3]侯薇.基于項目驅(qū)動的程序設(shè)計基礎(chǔ)課程的計算思維培養(yǎng)[J].吉林省教育學(xué)院學(xué)報(上旬),2012,28(4).
作者簡介:
顧琴娣,江蘇省常州市,江蘇省常州市新北區(qū)新橋初級中學(xué)。