

中小學信息技術課的教學內容主要是以應用軟件的學習為主,這在培養學生信息技術的意識和興趣上起到了很大的作用,但是,我認為在信息技術學習的過程中,最核心的內容還是編程,編程有助于培養學生的邏輯思維,更能體現信息技術課堂的價值,所以,在初中開展程序設計教學正是時候。為此,我在初中的信息技術教學中,初一就開始加入IROBOTQ 3D虛擬機器人教學,初二加入SCRATCH教學,以下就幾個感悟和大家交流。
一、學習興趣
程序設計是一門抽象枯燥的學科,初中學生思維還處于形象向抽象發展的起步階段,在這個時期學習編程,對學生來說是一種挑戰。在使用市編九年級教材中的Qbasic進行教學的時候,我發現學生面對電腦上Qbasic枯燥的藍屏白字,在沒幾節課之后就失去了興趣,對于瀏覽器可以打開的內容或者各類色彩豐富的應用軟件卻興趣濃厚。
俗話說“興趣是最好的老師”,當課堂上問到學生“什么是編程?”,有學生回答,“編程就是一個衣著邋遢、滿頭亂發的一個人坐在電腦前,電腦屏幕上只有黑色背景,然后從鍵盤上輸入一行行代碼,然后運行代碼,屏幕上的代碼就會一行一行滾動下去……”,估計是電影中的某個片段給他留下的印象,當這樣的一種形象在他的腦袋中的時候,再問他喜不喜歡編程,得到的答案大部分會是“NO”了。
基于這方面的考慮,我選定的IROBOTQ和SCRATCH軟件在界面上就豐富多了,在第一堂課就能先將學生興趣給激發出來。初一IROBOTQ的第一堂課就先給學生們看“汽車總動員”比賽視頻,演示一輛機器人小車從起點出發,經過一條設定的路線,在這條路線上,機器人小車展示獲得得分物、充電、快速過彎、飛車等技術,最后到達終點顯示機器人小車的得分。初二SCRATCH的第一堂課先給學生展示用SCRATCH制作的幾個常見的小游戲,如和神采飛揚游戲廳內一模一樣的“接雞蛋”游戲,“捕魚達人”游戲等,學生有興趣了,對后續課程的學習也就有動力了。
二、因材施教
每個學生都有差異,在編程教學上這一點可能會體現的特別明顯,盡管IROBOTQ和SCRATCH這類軟件在操作上、程序編寫和理解方面最大程度上減少了差異,但總有部分學生會跟不上,教師需要針對不同的學生進行不同的處理。
我在課堂上根據不同程度將學生分成三個層次。第一類,少數比較優秀的,這類學生在課堂上能很快地完成實例,能完全理解對應的程序的含義,之后會自己進行鉆研,比如更換數值、更換程序結構,然后進行調試;第二類是大部分的學生,這些學生基本上能通過教師的任務式教學或者探究式教學,完成給定的實例的制作,但對程序的理解只有個朦朧的印象,需要教師進行詳細的歸納總結才能完全理解;第三類是個別的,接納能力弱,或者根本理解不了程序,在課堂實例制作過程中只能完成表面的部分,編程部分不知所措。
針對這三類學生,我這樣進行處理,以第二類學生為主體,將這類學生分組,在實例的制作過程中先各自完成實例的制作,然后聽教師講解程序相關的歸納總結,再通過相互交流來完成對程序的完全理解和鞏固。第一類學生就讓他們獨自完成實例,然后自由發揮,有不懂的地方直接問教師,同時推薦他們深入學習,推薦他們自學如《啊哈C》《父與子的編程之旅:與小卡特一起學Python》之類的書籍。第三類學生則降低要求,比如在汽車總動員學習過程中,只要求他們把機器人小車搭建出來,或者讓搭建的小車動起來就行;在scratch中只要能把角色創建出來,或對角色進行一些美化,而不要求他們深入涉及編程。
三、實例教學
編程教學從知識點上來說就是讓學生學會程序的三種結構、程序的基本語法、算法這些內容。我們在教學的時候應該采取一定的教學策略,課堂的前幾節課盡量少提及編程的專業術語如對象、變量、算法等,學生在沒有任何知識背景下,聽這些術語就是在聽天書,如果這種“天書”聽得多了,會把一開始激發的那些興趣完全給抹殺掉。
教師可以一開始給定一個個的實例,可以通過示范教學、任務驅動、探究教學等方法,讓學生模仿著制作出來,先讓學生享受成功的喜悅,保持住對學習的興趣。在經歷一段時間之后,再嘗試從做過的實例中提取相應的知識點,并進行歸納、總結和拓展。
實例制作或選定的時候,教師一定要注意實例的知識點要明確,程序結構要清晰明了,如圖1,這個是IROBOTQ軟件中,汽車總動員里機器人小車上一個電機的控制子程序,這是編程中“選擇結構”知識點的一個體現,在學生嘗試過這個伺服電機的設置和程序編寫后,心中就有這個程序及其功能實現的概念,教師再順勢點出這是個選擇結構,根據不同的距離條件執行不同的電機,學生就很容易理解并掌握了。
圖2是利用SCRATCH求最大公約數的遞歸函數,這個內容是初二最后幾節課里的一課內容,作為算法介紹的一個實例,教師可以先讓學生依樣畫葫蘆地把這個程序先做出來,再運行程序,看程序執行的是不是能算出兩個數的最大公約數。在程序執行無誤后,再具體分析這個程序的執行過程,可以將number1和number2用具體的數值代入分析,最后通過分析得出這個是自己調用自己的一個過程,從而引出第一個“遞歸算法”的概念。
學會編程不是一蹴而就的,需要持續不斷地進行學習,初中學生的身心還處于從低級向高級發展的階段,其抽象邏輯思維才開始發展,在這個時期學習抽象的算法和完整的程序設計不是我們的目標。我們希望他們在學習的過程中培養他們的興趣,開發他們的創造性思維,形成他們嚴謹的思維風格,讓他們愛上程序設計這項偉大的工程。