當六年級上冊的信息技術課本發到我手中,我翻開一看,怎么是講能力風暴人編程。這在我以前的教學課本中從來沒見過,我只記得我是在讀大學才接觸編程。編程對小學生來說是諱莫如深的。讓小學生學習機器人軟件,這行嗎?帶著疑問:我仔細通讀了教材,然后上網查找了相關機器人學習的資料,這才認識到:機器人隨著信息技術的應用與普及,已經離我們越來越近了。全國已舉辦多期“中國青少年電腦機器人競賽”活動,它能夠培養學生的動手、創新的能力。我們現在已經落后了,而且課本中介紹的能力風暴人是可視化的JC語言操作系統,而且是圖形化交互式語言,學生易于理解和操作。既然起步晚,就要趕快動手。
一、下載機器人軟件,給學生創設軟件平臺
因為首次教學,我依次按照課本從網上下載了VJC1.5和SVJC1.0系統,試著運行后,發現VJC1.5只是一個編輯平臺,還需要一個實體機器人AS-M連接后才能查看所編程的情況進行加以驗證,這對我們的教學非常不利,同時我們多媒體資源非常貧乏,要讓教師擁有一個實體機器人模型都很難辦到。所以我改用SVJC1.0系統,它又稱能力風暴機器人仿真系統。它由VJC1.0與仿真系統兩大部分組成。在實踐教學過程中,我發現學生運行這個軟件后,無法看到機器人的行走軌跡,只好借助仿真系統中的添加?蛐圖帶來幫助識別機器人軟件。這給學生的學習帶來不便。有沒有顯示機器人行走軌跡的能力風暴機器人的仿真系統?于是,我又在網上搜索,網上提供這種軟件資料不是很多。功夫不負有心人,終于在新疆教研信息網上搜到了兵直222團提供的VJC1.5系統軟件及其學習資料,我如獲至寶,然后安裝到教師機,經過試運行,一切都很理想,我依照例程編了機器人走五角星程序,然后運行仿真系統,最底下多出兩行,型號及機器人參數設置(角度、紅外線、顯示軌跡、保存顯示軌跡),選中顯示軌跡,從左下角拖出機器人,運行成功了。我又給學生機全部安裝了VJC1.5系統,并卸載了以前的SVJC1.0。學生的學習能力風暴人機器人已經搭設好。
二、從生活中了解和認識機器人
在對機器人背景知識介紹時,我引入了中央10套《走進科學》欄目中,曾經報道了一個叫“黎元”的機器人為病人實施先天性心臟病的治療,醫生們遙控“黎元”為病人實施手術定位,并獲得了手術的成功。然后我又播放各種機器人的幻燈圖片,讓學生逐步認識到,在我們身邊,還有這么多智能機器人和人類生活有著密切的關系,讓學生對機器人有了一個感性的認識。接著我又展示了中國學生隊員在2001年4月美國舉辦的“國際機器人滅火比賽”中的報道,中國學生采用的機器人平臺是廣茂達的機器人專家研制的能力風暴智能機器人,這種全球領先的平臺使中國學生如虎添翼,取得了良好的成績。現在我們學習的就是這種能力風暴機器人。通過對學生提問,以進一步加深學生對機器人的認識:說說你對機器人了解多少,它有什么特點?對人類的生活有些什么影響?未來的機器人又是什么樣子?在背景知識介紹完時,并布置任務學生利用課余時間去圖書館、上網或者看電視來查閱機器人的資料。你對機器人的學習感興趣嗎?
三、實踐操作,建構圖形化的編程方法
(1) 熟悉界面,邊練邊學。
能力風暴人機器人教學首先需要學生了解系統界面,如果單純讓學生自己摸索,學生會走很多彎路,而且教學的意義也并不很大。因此,我采用講解—演示法,著重講解了模塊庫和流程圖生成區及仿真運行的平臺程序,讓學生動手試一試、練一練,用搭積木的形式讓學生把各個模塊拖到流程圖區,然后再進入仿真系統,運行驗證自己這樣做的結果是對的還是錯的。學生的興趣很快調動起來。這是學生學習能力風暴機器人的入門篇。教學任務是讓學生熟悉界面,學會運用模塊和仿真程序的進入和退出,學會調試該界面。
(2) 運用模塊,編寫實例。
運用模塊來編程比用JC代碼來編程相對容易,小學生易于接受。學生們都喜歡玩拼圖、搭積木、七巧板游戲,而用模塊法來編程,學生容易上手操作,不會對編程產生懼怕心理。采用直觀教學法,可讓學生明白編程的思想。我出示范例,讓學生觀察我用了什么模塊,為什么要這樣做?首先我分別拖出了一個直行模塊和一個轉向模塊,并告訴學生我就用這兩個模塊就可以讓機器人行走,然后學生就會驚訝地看著我操作,我進入仿真系統,把機器人拖入了黑色的活動區域,機器人行走了,但走得路程很短,能有辦法改變嗎?直行模塊和轉向模塊參數能發生改變嗎?在模塊右擊會彈出相應模塊的設置參數對話框,然后我設置直行參數速度為100,時間為2秒,轉向參數速度為80,時間為0.295秒。機器人就沿著我給出的參數往前行走,行走的路程已變得很長了。能讓這兩個模塊編出機器人走正方形嗎?讓學生參照課本實例,運用模塊,自己調試,完成操作。這個過程就是學生學習能力風暴的學習篇,本教學任務就是要讓學生掌握編程思想,參數的設置和具體幾何圖形的編寫。
(3) 求同存異,比較教學。
計算機編程的思想是自頂向下、逐步細化的過程,讓機器人走正方形,可以采用直行、轉向、直行、轉向、直行、轉向、直行、轉向這8個模塊來完成。這是程序結構中的順序結構。這種結構比較直觀,學生也比較容易理解,但操作繁瑣。程序結構中還有兩種結構,選擇結構和循環結構。順序結構、選擇結構和循環結構是程序設計的三種基本結構形式。如果讓直行、轉向模塊重復做這些動作時,編寫的程序冗長而煩雜,利用循環語句編寫這類程序,是解決問題的好方法,可以利用多次循環、直行、轉向3個模塊來完成。讓學生閱讀課本循環結構的工作原理,來知道程序是怎么實現的。這能很好地培養和訓練學生的發散思維,引導學生的思考信息朝多種方向擴散。這個過程是學生學習能力風暴的進階篇,本教學任務就是要培養和訓練學生的發散思維和嚴謹的算法設計。
(4) 舉一反三,創新思維。
能力風暴人的教學所倡導的思想就是創新。所以教學的最終目的是應用和創新。當學生們學完了走正方形、走圓形、走五角形之后,可以出示任務,讓學生試著去完成走六邊形、走奧運五環、一筆畫鉛筆、畫花朵、畫水壺等簡單圖案,熟練后甚至還可以畫東方明珠等復雜的圖案。在學完所有模塊后,應該給學生出些有挑戰性的項目內容,如越障跑、叫人起床、找房門,讓學生嘗試,教師可以幫助學生進行程序分析,然后讓學生自己設計出程序的模塊圖。雖然難度很高,對學生的挑戰性極大,但正是由于這種創新,人類社會才會有進步!我們提倡學生創新!這個過程是學生學習能力風暴的高級篇。教學中只對學有余力的學生和對機器人編程有發展潛力的學生來教學。
四、實踐教學中的思考和反思
1. 機器人實踐教學過程中,教師要善于和學生溝通,要充分認識自己的教學主體——學生,并掌握學生的知識結構和認知規律。如果違備這些規律,學生就不能很好地配合教師,完成教與學這一教學環節。
2. 教師要精通教材,備好教材,用好教材,但又不能拘泥于教材,教材中給出的實例畢竟有限、單一,教師備課時就要慎重選擇學生易于接受的實例,如走五角星、一筆畫鉛筆、計算1—100的和霓虹燈等等。教師也要給自己定出目標,搜集相關的學習機器人資料,參考實例,有所創新地教學。
3. 機器人教學中要遵循循序漸進、由淺入深的原則,把握教學中的度。就像走樓梯臺階,一步一步往上走,既不原地踏步,也不能一步跨幾個臺階。教師在上課前要把握好學生的學習狀態以及知識的難易程度。在講完直行模塊和轉向模塊后,就要開始講循環模塊,一層層遞增。同時,這對教師的自身素質也是考驗。如果教師自己都不熟悉機器人圖形化模塊編程思路,那學生不就更困惑了嗎?
4. 處理好等待型和主動型學生的關系。主動型學生非常好學,接受能力非常強,當教師剛講完這個實例,他們過幾分鐘就能完成,同時還滿腦子有很多問題,愿意主動嘗試和探索問題,但在課堂紀律方面喜歡表現自己。而等待型學生則剛好相反,等待教師分配學習任務,怎么操作,碰到一些小問題,都要問教師,但他們課堂紀律非常好。我采用分層任務的方法來解決這兩種學生的差異。在處理這兩者關系,既要保護好主動型學生的求知欲、探索欲,同時也要鼓勵等待型學生向主動性學生學習,不能挫敗他們的學習積極性。
總之,機器人教學是一個逐步摸索、逐步實踐的過程,在沒有任何經驗可借鑒的情況下,在課堂教與學的互動過程中,不斷探索、不斷反思、不斷改進,這樣才能讓機器人教學有一個蓬勃的發展和更好的進步!我們要不斷地創新!