韓杰
自周以真教授提出“計算思維”后,此概念便以如火如荼的態(tài)勢,在中小學的課堂教學中滲透。目前,“計算思維”已經成為高中信息技術課程中學生學科核心素養(yǎng)培養(yǎng)的一個重要目標,可見,“計算思維”對現(xiàn)代信息技術教學影響深遠。
經過長期的一線教學實踐,筆者發(fā)現(xiàn),在三維度目標里,對于“知識與技能”“過程與方法”目標的培養(yǎng),教師更關注的是學生技能的提升,而提升的方法,是模仿與練習,忽視了對其思維過程的培養(yǎng)。在小學階段,根據(jù)心理認知的發(fā)展過程,中低年級的學生處于形象思維階段,高年級處于形象思維向抽象思維過渡階段。對于這一特點,教師在進行教學設計時,要予以關注。從廣義上來說,在小學信息技術教學中滲透計算思維,教師應引導學生學會“思考”,培養(yǎng)他們養(yǎng)成“思考”的習慣,最終形成靈活的思維能力。
Scratch是蘇教版小學信息技術五年級第一個板塊的內容,也是學生接觸編程的開端。圖形化的編程模式,減少了語句輸入上的一些問題,更關注的是程序建模的過程,這是符合計算思維培養(yǎng)精神的。針對計算思維融入Scratch教學的途徑,筆者做了以下思考。
抓契機,引思考
計算思維的核心是“抽象和自動化”,為了體現(xiàn)這一主題,教師在備課前,會準備相關內容,預備在課堂中體現(xiàn)這一核心。但是,這種設計卻很難達成預定目標,其原因是:第一,這個核心主題過于高深;第二,無論多精妙的設計,一旦放入課堂中,會有一種生硬的“表演感”。但是,如果能及時抓住課堂生成的“狀況”并處理好,就能形成良好的教學資源。建構主義教學觀中,有一種模式叫“支架教學”,當學生遇到問題時,教師不急于告訴答案,而是給相關概念做輔助“支架”,引導學生思考,發(fā)現(xiàn)知識。五年級的學生正是形象思維向抽象思維過渡的階段,而抽象思維則是以概念為基礎。此時的學生,還未養(yǎng)成概括、歸納的習慣,教師要引導他們形成這樣的習慣。
筆者執(zhí)教《火柴人跳舞》(蘇教版小學信息技術五年級Scratch板塊第三課)一課時,大部分學生按要求給角色繪制了不同的“造型”,利用腳本的“下一個造型”讓角色動起來。雖然筆者再三強調不要把角色直接畫在背景舞臺上,但是還是有一位學生忽略了此提示,在刪除默認角色小貓后,把新建角色直接畫在了舞臺上。不過,他畫了很多個舞臺,并在每個舞臺上畫了動作不同的“火柴人”。他用的腳本是“切換下一個背景”。當“點擊綠旗”后,也出現(xiàn)了火柴人運動的效果。起初,筆者很想責備該學生不認真聽講,但轉念一想,這何嘗不是很好的“生成”資源呢?因為在Scratch界面上,“舞臺”和“角色”是并列的。很多時候,學生只是跟著教師的流程來構建程序,他們容易混淆“舞臺”和“角色”,是因為他們并沒有分清兩者的異同。于是,筆者便問學生:“‘舞臺是角色嗎?”學生不能很肯定地答案。筆者建議他們打開控件區(qū),比較“舞臺”模塊和“角色”模塊有什么不同。學生發(fā)現(xiàn)“舞臺”沒有“動作”模塊,其他方面兩者都差不多。有了對比后,筆者便幫助他們進行歸納:“‘舞臺也可以看成是角色,不過這個‘角色通常是靜止不動的,不需要設置它的動作。我們一般把不需要參與運動的背景圖放在‘舞臺上,而把需要‘運動的部分歸為‘角色?!庇辛诉@樣的思維過程,學生就更容易理解“舞臺”與“角色”的不同使用方法。
課堂上有很多這樣隨著師生活動而生成的隨機資源。但是,很多時候學生的“標新立異”會讓教師覺得他們是在“搗蛋”,其實,深思一下就會發(fā)現(xiàn),這些不同觀點稍作修改與利用,就會成為培養(yǎng)學生思維習慣的教學資源。
深挖掘,拓發(fā)散
培養(yǎng)學生的思維能力,應該多問一個“為什么”。教學時,筆者發(fā)現(xiàn),在學生已經回答或者勉強回答出預設的回答時,教師就會急于下一環(huán)節(jié)的教學。其實,即使有學生回答出這個問題,并不代表大部分學生都已經理解了這個教學點。因此,在課堂上多問一個“為什么”,可以給學生更多思維發(fā)散的時間和機會。
筆者執(zhí)教《青蛙過河》(蘇教版小學信息技術五年級Scratch板塊第四課)一課時,要求學生能夠借助坐標點,讓青蛙一步步地“跳”到河對岸。學生學習了坐標,并在學會了“移到X:()Y:()”這個模塊進行初始化程序后,開始編寫青蛙“跳”荷葉的程序。學生把這個模塊運用起來,并分別填寫了各荷葉的不同坐標。但是,當一連串的坐標“堆”起來后,學生發(fā)現(xiàn),當“綠旗被點擊”后,青蛙并沒有如愿地從荷葉上“一蹦一跳”地來到河岸,而是直接停在了河對岸,再次單擊綠旗,青蛙也不再移動,似乎“卡”在那里。這是怎么回事?筆者讓學生思考并觀察“動作”區(qū)域里的模塊,看看有什么發(fā)現(xiàn)。很快有一位學生發(fā)現(xiàn)了“在(1)秒內滑行到X:()Y:()”這個模塊,并且比較了兩個模塊的區(qū)別:可能是“移到X:()Y:()”這個模塊里面沒有“延時”效果,所以整段程序里,青蛙只默認最后一個模塊的坐標位置。他發(fā)現(xiàn),用“在(1)秒內滑行到X:()Y:()”這個帶有時間的模塊替換了之前使用的模塊后,青蛙開始動起來。他向全班同學展示了青蛙的運動過程。
這個發(fā)現(xiàn)是“突破性”的,然而并不完美,因為一位愛“挑刺”的學生又舉手了:“老師,這個青蛙不是‘跳過來的,而‘滑過來的,不符合實情?!边@是一個值得我們思考的“刺”。于是,筆者把這個問題“踢”給了學生,學生進入青蛙真正“跳”起來的探索中。很快,第一位學生舉手展示了他的作品:他在每一次滑行的模塊之間加了一個“等待1秒”,因為有了這個“一頓一頓”的延時效果,在我們的視覺上就產生了“跳”的“錯覺”。這是教材上的解決方案,學生似乎并不滿意。筆者也不滿意并強調:“應該還有更好的方法吧?”“我們要抓住‘跳這個動作的運動特點?!边@時,筆者看到有學生悄悄地抬起了腿,在模擬“跳”的動作。思索還在繼續(xù)。又一位學生舉手了,展示了他的作品,驚喜出現(xiàn)了:他的青蛙果然是很流暢地“跳”過了岸,起跳、下落都完美地表現(xiàn)出來。他講解了他的思路:“在青蛙跳起來時,增加它的Y坐標,然后滑到目標坐標后,降低Y坐標?!闭坡曧懥似饋?。
這次的驚喜源于筆者的“不滿意”。去年教學這部分內容時,雖然也引導學生思考青蛙“跳”的秘密,但是,只用了和書上范例一樣的腳本,失去了發(fā)散性思維訓練的過程。因此,教師要在課堂上多問一個“為什么”,多給學生思維碰撞的機會,時間久了,次數(shù)多了,學生的思維會變得更敏捷。
優(yōu)策略,促思維
信息技術是一門重實踐的課程,它更應關注學生能力的提升,而非機械地記憶知識點,這是它與知識類課程的不同之處。通過一學期Scratch的學習,有的學生可以自己根據(jù)設想,利用Scratch創(chuàng)作出小程序或者小游戲,而有的學生卻只能重復出課本上的幾個范例。這是因為他們在學習過程中使用了不同的學習方法。前者的思維能力得到了提升,養(yǎng)成了科學的思維習慣,而后者只是在“模仿”。這正提醒我們一線教師,在教學時,應關注思維的過程,而不僅僅是模仿的結果。
在教學《小貓出題》(蘇教版小學信息技術五年級Scratch板塊第十課)一課時,學生開始接觸“變量”這個概念。在執(zhí)教前面幾個班級時,筆者都是先把“加數(shù)1”“加數(shù)2”“和”三個變量全部新建好,再做下面的程序。這樣就出現(xiàn)一個問題,學生都會想當然地將“和”這個變量放在“等于號”后面,導致程序出錯。這其實是思維方式的問題。此“和”非彼“和”,新建的變量“和”,是用在判斷里的,判斷回答者的答案與之是否相同,相當于,它是電腦“算”出來了。但是跟小學生解釋起來,很容易讓他們越聽越糊涂。
在執(zhí)教后面的班級時,筆者打算換一種策略,用一種“逢山開路,遇水搭橋”的思路。于是,先只新建“加數(shù)1”和“加數(shù)2”這兩種變量。那么,“等于號”后面放什么呢?自然是放“偵測”里的“回答”,它表示的是做題人的“回答”。這個很好理解,學生都不會錯。之后,學生總結出搭建有變量程序的步驟:①新建“變量”;②給“變量”賦值;③進行條件判斷。根據(jù)這三個步驟,到了條件判斷時,為了讓回答者的答案與標準答案相比較,那么此時就需要出現(xiàn)一個新的量,就是“標準答案”。它從哪里來?因為已有模塊里沒有,所以又需要新建“變量”——“和”,因此這個變量在我們最需要它的時候出現(xiàn)了。這種理解是“順序式”的理解,順著“思維流”一路流淌下來,比較適合剛學習編程的孩子;而之前那種把變量全部新建好,再做賦值與判斷的方式是一種基于全局考慮的,它更適合于有一定編程基礎的學生。
讓計算思維這一概念落地,就要轉變我們的教學理念,教師在關注知識與技能的同時,更應關注學生良好思維習慣的養(yǎng)成。從獲得結果,到如何更經濟有效地獲得結果,這是一個量變到質變的過程,需要一線教師長期不懈地堅持。