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