吳雪花



摘 要:“人工智能”“虛擬現實”“互聯網+”等高新技術無一不表明編程是時代的需求,人們越來越懂得編程能力的重要性。就初中階段而言,信息技術學科的核心素養是學生適應終身發展的關鍵能力,信息技術學科核心素養包括“信息意識”“計算思維”“數字化學習”“信息責任”,說到“計算思維”也必提編程。以蘇科版信息技術八年級第四章“程序設計”為例,探索初中信息技術課堂中編程能力素養的培養方法。
關鍵詞:編程能力素養;信息技術;培養方法
初中階段程序設計要適應基礎教育對學生核心素養培養的要求,突破舊規。根據江蘇省初中信息技術教材的編寫,Visual Basic(以下簡稱VB)語言作為初中階段的入門語言。VB是微軟公司開發的一種通用的基于對象的程序設計語言,為結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言。作為入門語言,VB簡單、直觀、易學、易用。本文意在探究初中如何開展編程教學,探索提高學生編程能力素養的一些方法。
一、編程興趣的建立
愛因斯坦曾經說過“興趣是最好的老師”,這同樣適用于程序設計。然而剛升入初中的孩子,大部分對編程興趣不大,或者說還沒開始接觸就有一種恐懼心理,認為編程枯燥、乏味、難度大。因此,教學的首要任務就是激發學生對編程的興趣,一旦他們對編程有了興趣,就會自主地去探索、研究。
1.解決“編程恐懼癥”
在程序設計教學中,我發現學生對一些編程的原理難以理解。為了讓學生直觀理解,我借助于他們日常的課程來遷移。比如,在引入“循環”這個概念時,我想到了生物課上細胞的分裂過程,一個細胞分裂一次后變成兩個細胞,這樣被重復執行的過程,被稱為循環。
參考代碼:
Private Sub Form_Load()
a = 1? ?//原始細胞有1個
For i = 1 To 4 Step 1
a = a * 2
Next i
Print a? ? //經過4次分裂后,a的值變成16個
End Sub
2.創設豐富的教學情境
初中生剛接觸程序編寫,在教學過程中要時刻關注學生對該課程的基本體驗,所以創設豐富的教學情境有利于激發學生的學習興趣。
比如,在第一課講授“計算機程序并不神秘”時,為了導入程序的概念,我就利用了“狼、羊、白菜過河”游戲。
情境:獵人帶著一只狼、一只羊和一些白菜過河,但渡船太小,一次只能帶一樣。因為狼要吃羊,羊會吃白菜,所以狼和羊、羊和白菜不能在無人監視的情況下相處,此時,你能幫助獵人過河嗎?
利用Flash動畫,讓學生自己動手闖關,總結出具體指令。這樣,就可以順理成章地引出程序的概念,通過執行一些有序的指令完成一項具體工作,這些指令的集合就是程序。通過小游戲,能夠迅速調動學生的學習興趣。
二、準備學案
針對課堂需要,教師適時準備一些學案非常有必要。特別是學習編程初期,要求學案中有明確的任務要求,每個任務之間要分層明確,起到進階作用。當然,學案的形式可以多種多樣,最常見的就是文本類型的,把整堂課的內容、過程展示給學生看,但是未免有些枯燥。初中學生可以直接利用平臺,如Moodle平臺等,每節課的內容都能保留在平臺里,方便后續的學習和查閱。
三、準備微課以供參考
信息技術課上,一位教師要面對整班四五十位學生,每位學生的接受程度又不同,為了讓所有學生都能不斷提高編程能力,教師授課的進度、廣度、深度只能綜合考慮大部分學生的能力。45分鐘的教學在適當的點撥之后,就需要嘗試讓學生進行自我探究,這就導致部分基礎薄弱的學生在沒完全掌握知識點的情況下被“逼迫”自我進行研究,因此微課的準備就變得至關重要。微課需要教師做到精而簡,學生可以針對自己的需要來選擇觀看某節微課,且該微課知識點是在學生探究過程中能起到支撐他們完成任務作用的,切忌把微課做成視頻灌輸的形式。
在微課的準備中,必須關注培養學生的自主學習意識。微課視頻雖短,但可以通過布置問題的方式引導學生主動學習。例如,在編程求兩數最大公約數時,我先闡明了求取方法“輾轉相除法”。然后給出習題,讓學生實踐學習。設給定兩個正整數a=112和b=64,求最大公約數,并在微課中設置只有答對才能進行一下步學習;如果答錯,還可以回到前面的知識講解,重新學習后進行練習。
通過練習,幫助學生理解算法,也可以更好地為編程做準備。
四、基礎任務和拓展任務相結合
VB編程,既要求學生學會理論知識,又要求學生利用知識解決實際操作,因此,“任務驅動”教學法被應用起來。以基礎任務為主線,貫穿整節課,再以拓展任務來延伸知識點的運用。
比如,在教授對象的三要素之一——方法時,講到Circle(畫圓)、Line(畫線)方法時,首先給出學生的任務一,畫出一個圓和一條線。學生根據教師的講解,很快可以完成該任務。
參考代碼:
Private Sub Form_Load()
Circle(2000, 2000),1000? //畫一個圓心(2000,2000),半徑1000的圓
End Sub
Private Sub Form_Load()
Line(2000,2000)-(3000,2000)? //兩點之間畫一條直線
End Sub
在此基礎上,我又給出了任務二,讓每個學生都能發揮自己的想象力,利用上述兩個知識點,給出他們的創意。例如,有學生編寫代碼繪制出一輛車。
代碼:
Private Sub Form_Load()
Form1.Circle(2000,3000),500
Form1.Circle(4000,3000),500
Form1.Line(1000,2500)-(5000,2500)
Form1.Line(1000,1000)-(5000,1000)
Form1.Line(1000,1000)-(1000,2500)
Form1.Line(5000,1000)-(5000,2500)
End Sub
運行結果:
在整個任務驅動過程中,學生不僅對新接觸的知識點三要素有了練習,還對前面學的坐標有了鞏固。“任務驅動”教學法讓學生帶著真實的任務在不斷探索中學習,并且一個個任務的攻克會讓學生獲得前所未有的成就感,進一步刺激他們的求知欲,給足他們學習VB編程的動力。
現代高科技生活中的“人工智能”“虛擬現實”“互聯網+”等高新技術都離不開編程。在歐美國家,更是將計算機編程能力與閱讀、算術、寫作能力一并作為四大基本能力來考核,可以說編程是當今社會的需求,在初中階段開始培養學生編程能力素養非常必要。然而,這是一個需要慢慢探索的過程,不是一朝一夕能解決的,提高學生的編程能力素養,我們任重而道遠。