

問題提出
計算思維和編程能力是信息技術學科的核心素養,也是本學科區別于其他學科的特色所在。以前,初中、小學學編程的人,不僅要數學好,而且要有抽象思維。因為以前的程序設計教學,小學、中學、大學幾乎都是一個模式,先講數據結構和算法,再講編程語言。這本來是教大學生的模式,卻用來教中學生、小學生,那么能聽懂、能學會的中學生、小學生,當然是學習思維成熟的學霸了。
前幾年,機器人的出現使程序教育實現了形象化,但機器人的硬件成本太高,而且機器人的零件容易散落。后來又出現了scratch編程貓,但它的圖形化界面、模塊化編程中的代碼沒有真正地和一門編程語言(如C、Phython)一一對應。
我通過教學發現,借助某一款機器人的軟件端( 杭州的納英特、廣州中鳴或樂高),或蘿卜圈虛擬機器人,把它們安裝到機房里每一臺學生PC機上,在講編程課時調出來使用還是比較可行的。
機器人軟件程序在教學中的探索和應用
1.算法轉化為流程圖很方便
編程教學最主要就是教算法。那么算法轉化成流程圖,最原始的就是在word里面,不自選圖形。現在網上有了思維導圖的軟件,如Xmind里面有畫流程圖的。但我認為還是借機器人所配的軟件使用起來方便,借助機器人軟件,在編程過程中都是拖拽式編寫流程圖的。
2.低成本、形象化地體驗順序結構
計算機編程,其實就是順序結構、分支結構、循環結構的組合使用。而順序結構又是最基本的。順序結構的實質就是計算機逐條指令執行,但是怎么把它形象化是有難度的。因為計算機指令執行起來非常快,為了讓學生體會到計算機是怎樣逐條執行指令的,我動了好多腦筋。在Python語言的教學中,就是執行一條輸出一條。后來我在上機器人選修課的過程中,在編一個迎賓機器人的程序中,發現機器人每執行一條樂曲指令就播放一句樂曲。這種實時的交互性,能充分體現分析順序結構、逐條執行,它把計算機很快的執行放慢了,而且顯示了出來。后來我想到如果編成機器人,每執行一條指令,電機驅動輪子轉幾圈,機器人前進幾厘米,學生也能體會到計算機逐條指令執行的順序結構,但前提是必須每個學生或者兩個學生有一臺機器人硬件。而用這個迎賓機器人編音樂程序,只需要每臺學生計算機安裝納英特機器人的軟件,不需要機器人。在程序運行時,它是驅動PC機的喇叭發聲的。(用杭州納英特積木機器人軟件代碼如下頁圖1所示)
3.借助蘿卜圈虛擬機器人軟件體驗分支結構
用蘿卜圈虛擬機器人軟件(蘿卜圈官方網站網址http://www.irobotq.com/website2/index.html?get=4),編寫一個過路口判斷有無行人的程序。
虛擬機器人小車上裝兩個紅外測距傳感器,當兩個傳感器的距離差值小于等于車身寬度時,說明路口斑馬線上沒有行人。當兩個傳感器的距離差大于車身寬度值時,紅外波反射遇到了障礙即行人。
4.從順序結構過渡到循環結構的教學案例
所謂循環其實就是重復地做相同的事情,體現在計算機編程里面,就是順序結構被反復執行。我在教學時,用了機器人走正方形的例子(走相同的步數的直線后就右轉,因為正方形有4個直角,要執行4次)。先寫了一段代碼(借助杭州納英特積木機器人軟件所見即所得,可拖拽式的流程圖編寫很快捷高效)(如圖2)。為了使流程圖當中的處理模塊跟代碼對應起來,我特地把旁邊的代碼又復制了一份放到流程圖的旁邊。
我啟發學生這些代碼反復是重復的,能不能寫一次就實現了?這就引入了循環結構。(借助于杭州納英特積木機器人軟件的代碼如圖3所示)
結束語
在教初二學生編程的時候,我無意中把機器人拓展課用的軟件引入進來,發現拓展課學生之所以喜歡機器人編程是因為給它形象化了,降低了難度。因此,針對很多初次接觸編程的學生,我們可以借助這些機器人的軟件,把程序代碼通過流程圖做得形象化,把順序結構做成交互式,把分支的選擇結構做得體驗化,這樣學生就不會再畏懼編程了,也使得中小學生的編程教育真正不同于大學生的編程教育。
作者簡介:方明洪,男,1976年3月生,浙江寧波人,寧大物理本科,浙師大在職理碩士學位(信息管理系統與多媒體方向),2003—2006年四川師范學院西部教育研究所特聘研究員,2006年寧波市城區骨干教師,2008—2010年海曙區學術學科帶頭人培養人選。熱愛科研,公開發表論文19篇,其中核心期刊7篇。