陳漫
一、問題的提出
學生編寫程序的能力和編程思維的培養(yǎng)是信息技術(shù)課教學的核心內(nèi)容之一??梢哉f,信息社會的快速發(fā)展,就是完全依賴于浩如煙海的程序和眾多的程序員。但是,編程思維非常抽象,邏輯性非常強,而且編寫程序又是學生非常難以接觸到的領域。所以,不管是外國,還是中國,都有許多教育專家在想方設法讓中小學生能夠在課堂上培養(yǎng)編程思維和進行編寫程序的訓練。
二、智能機器人教學
直到最近幾年,我開始進行智能機器人的教學試點,逐漸開展智能機器人的課堂教學,我發(fā)現(xiàn)智能機器人的圖形化編程打開了一扇通往學生編程思維和編程能力的大門。
智能機器人編程軟件的圖形化界面,模塊化的程序,簡單的中文注釋,還有學生最喜歡的模擬仿真環(huán)境,這些機器人編程的要素都極大地降低了學生編寫程序的難度,為培養(yǎng)學生的編程思維提供了條件。
三、在機器人教學中培養(yǎng)學生編程思維
1.學生編寫程序畫出六邊形和八邊形
這一課,學生正在為六邊形和八邊形一條長長的程序而頭疼不已。突然間,老師示范了一種更加簡便和有效的編程方法,只用了3個程序,就可以畫出六邊形、八邊形,甚至十六邊形、三十二邊形。學生的印象非常深刻,立刻就接受了編程思維中的循環(huán)概念,而且體會到了循環(huán)語句帶來的簡便。
2.編寫巡邏機器人程序和走迷宮
這一課的巡邏機器人的程序用到了傳感器。教學中,在多次循環(huán)程序的基礎上,引出了“永久循環(huán)”程序。又利用人的眼睛、鼻子做例子,引入了條件判斷、“是的行動”和“否的行動”。在編寫程序中,又提出了“條件判斷表達式”。
在機器人的圖形化編程環(huán)境中,這個程序呈現(xiàn)出一個非常穩(wěn)定的三角形結(jié)構(gòu),讓學生直觀地體會到了結(jié)構(gòu)性編程的穩(wěn)定和牢固。小學生的形象化思維是比較強的,這個三角形穩(wěn)定結(jié)構(gòu)的巡邏機器人程序,更加容易被中小學生所接受。一定會對學生長大后學習編寫程序起到非常有益的作用。
程序編寫完成后,還要在仿真模擬環(huán)境中畫迷宮測試程序。這項操作,其實就是未來的搭建程序測試環(huán)境。學生編完程序后,就拼命畫各種不同的迷宮讓機器人走,玩得不亦樂乎。編寫程序中的測試環(huán)境的搭建環(huán)節(jié)就自然而然地成為學生測試程序的最佳選擇。
3.編寫特殊傳感器——軌跡識別傳感器的程序
這一課要學習一個特殊的傳感器——軌跡識別傳感器,這種傳感器的程序打破了穩(wěn)定的三角形結(jié)構(gòu),針對軌跡識別傳感器的不同狀態(tài)使用了3個條件判斷。
軌跡識別傳感器的程序不是C語言的結(jié)構(gòu)性編程思維,而是C++和C#,以及JAVA的面向?qū)ο蟮木幊趟季S。
面向?qū)ο蟮木幊趟季S是編程思維的飛躍式發(fā)展,可以使程序更加靈活,適應性更廣,可以完成更加復雜的任務。面向?qū)ο蟮木幊趟季S才可以適應現(xiàn)在復雜多變的信息社會和多種多樣的智能設備。
4.編寫音樂的程序
這一課的學習就比較輕松,我把學生比較熟悉的兒歌簡譜發(fā)給學生,讓學生嘗試編寫,并在模擬仿真環(huán)境中進行演奏。學生都玩得特別高興,會樂器的學生還編出了比較復雜的曲子。大部分學生都編出了簡單的曲子,還有學生自己創(chuàng)作了自己的曲子,不斷找同學試聽。
準確來說,這一課中的音樂程序,屬于面向?qū)ο蟮木幊趟季S中的接口程序。因為不管是在過程性編程的匯編語言里,還是在結(jié)構(gòu)性編程的C語言里,都可以編寫音樂程序。但是都沒有在面向?qū)ο缶幊痰腃++、C#、JAVA語言里,那么方便和簡單。
四、教學的感悟
經(jīng)過一個學期的學習,由淺入深,由簡單到復雜,學生的編程思維和編程能力得到了系統(tǒng)的鍛煉和提高。
從程序的簡單排列和重復;到程序參數(shù)的調(diào)節(jié)和精確調(diào)節(jié);從循環(huán)語句到條件語句的學習;從結(jié)構(gòu)化編程到面向?qū)ο蟮木幊蹋粡某绦虻慕涌诘綇碗s程序的嵌套。學生在學習中都接觸到了,并且能夠編出相關(guān)的程序,而且在模擬仿真中真切體會到了程序的運行。
五、學生編程能力對比
我在2個學期后進行了PClogo編程和機器人編程的對比測評。測評班級的學生都學過PClogo編程和機器人編程。測評任務是編寫程序畫出一個正方形。
測評結(jié)果是:
使用PClogo編程序畫正方形——無一人完成(如圖)。
使用機器人編程序畫出正方形——全部完成(如圖)。
對比測評結(jié)果非常懸殊,說明了教學效果有明顯差別。這一測評結(jié)果證明了機器人編程對學生的編程能力和編程思維有著非常巨大的幫助。
在PClogo編程中,即使有個別學生記得怎樣編程,但是也因為忘記相關(guān)程序語句而無法完成編程。而在這一方面,機器人編程占據(jù)了先天的優(yōu)勢。學生只要用鼠標選取合適的模塊和程序,就基本完成了編程,不需要記憶相關(guān)的程序語句。
在對比測評中,全部完成畫正方形程序的學生中,大概有三分之一的學生使用了循環(huán)語句來完成畫出正方形的程序。這就證明了這部分學生的編程思維已經(jīng)擺脫了簡單排列組合而進入了更高的層次。這就更加證明了一個更好的教學方式,一個更好的教學環(huán)境所引發(fā)的巨大進步。
這些具備初步編程思維和編程能力的學生長大以后,就會非常自然地把編程思維和編程能力運用到自己的生活和工作中。那么,學校中的教育教學才真正具有促進社會發(fā)展的意義。
編輯 李博寧endprint