LOGO語言教學初探

才智咖 人氣:2.96W

【摘 要】LOGO語言是一種過程性語言,它功能強大,簡單易學,適合學生學習。學好LOGO語言的關鍵是——有效激發並保持學生的學習興趣。為此,教學一開始,就需要創設情境,以境激趣,因趣導學,通過強烈的視覺衝擊征服學生的眼睛,捕獲學生的心靈。而後,通過課例引導,由淺入深,適時激勵,快樂學習,輕鬆記憶,讓學生很好地保持這種興趣。精講例題,舉一反三,分析同類題目,讓學生自己設計問題,自己去發現,去探索,去解決,則能達到觸類旁通的效果,並使個性得到張揚。一題多解,不去框定解題的思路,不去禁錮學生的思維,每個學生都可以從不同的角度去分析問題和解決問題,這樣可以有效訓練學生的邏輯思維與發散思維,同時,也能讓學生的創新潛能得到極致發揮。

LOGO語言教學初探

【關鍵詞】LOGO語言 教學 興趣

LOGO語言是美國麻省理工學院人工智慧實驗室的西摩爾·帕伯特教授特意為孩子們設計的計算機語言。它是一種過程性語言,具有繪畫、字表和會話功能,還能進行過程呼叫,功能強大,形象直觀,簡單易學。學生用LOGO語言“搭積木式”地“作畫”,其中的每一段線條,每一個圖案,都可以看作是一個具體演算法的體現。可以說,學生設計“作畫”的過程,也是學習與運用LOGO語言的過程。在“玩”中“學”,這不僅是一種理性的思維過程,也是一種愉悅的審美過程。

說實話,一接觸到LOGO語言,我本人對這隻“小海龜”是充滿無限愛意的。但是,作為學習的主體——學生呢,也有那份激情嗎?如何才能讓學生學好LOGO語言呢?憑著多年的經驗,我把興趣培養放在了首位。愛因斯坦不是說過嗎——“興趣是最好的老師。”只要能有效地激發並保持學生的學習興趣,那麼,學好LOGO語言也應該是水到渠成的事。

一、創設情境,以境激趣,因趣導學。

良好的開始就是成功的一半,第一堂課的教學猶為重要。對於新事物,學生總是懷著好奇心的。所以,一開始就需要創設情境,力求一下子抓住學生的心,以境激趣,因趣導學。

“畫圖”應該說是LOGO語言最具特色的功能之一,幾個簡單的命令組合便可以完成一個畫圖的任務。在上第一節LOGO語言課時,我首先出示了一幅圖(如圖1),讓學生用最拿手的電腦繪圖方法在最短的時間裡畫出來。學生大多選用他們熟悉的“畫圖”工具作畫,也有部分學生試圖用WORD中的繪圖工具完成,甚至有人嘗試用金山畫王來解決。但無論他們怎樣控制滑鼠,要精確地畫出如此精緻的圖形顯然有些難度,頗有些力不從心的感覺。幾分鐘後,就在學生信心不足搖頭嘆息準備放棄的時候,我輕描淡寫地冒出一句:“其實呀,如果老師來畫這幅圖,根本就用不著滑鼠!”一石激起千層浪,就在學生詫異之際,我彈指如飛迅速錄入“REPEAT 10 [REPEAT 5 [FD 50 RT 360/5] RT 36]”,學生還沒明白是怎麼一回事,我已經輕輕地按下了Enter鍵,螢幕上顯示的結果令所有的孩子目瞪口呆!這“欲摛故縱”的策略,為我創設了良好時機,學生非得讓我慢慢地重輸一遍剛才的內容。我趁熱打鐵,展示出網上搜集的幾幅精美的LOGO語言作品圖案。當學生還在欣賞驚歎之時,我鄭重宣佈:“這些圖案都是一隻小海龜所畫”。頓時,“小海龜”三個字成了學生腦中的一個烙印,敬意與好奇已然刻入其中。這還不夠,為了印證自己的話說得沒錯,緊接著,我利用WAIT這個“等待”命令來展示作畫的過程。還是畫原來的那幅圖(圖1),輸入“REPEAT 10 [REPEAT 5 [FD 50 RT 360/5 WAIT 20] RT 36 WAIT 10]”。因為有了等待的時間,每一條線段,每一個轉彎,都看得清清楚楚,學生無不嘖嘖稱奇。隨後,我又利用反覆迴圈構造出一架會轉動的螺旋圖案以及一個摩天輪。我想,我已經充分吸引孩子的目光,徹底征服孩子的眼睛。因為,看他們的樣子,已是蠢蠢欲動迫不及待了。

通過強烈的視覺衝擊來征服學生的眼睛,捕獲學生的心靈,通過了解LOGO語言所具有的強大功能激發學生強烈的學習願望與學習興趣,都為學好LOGO語言開了個好頭。

二、課例引導,由淺入深,輕鬆記憶。

俗話說,“萬丈高樓平地起。”LOGO語言雖然簡單易學,但真正要掌握也是要花點功夫的。LOGO語言的基本繪圖命令是學好LOGO語言的基礎。而在理解命令含義的基礎上熟練地記憶命令,並且在需要的時候能夠靈活運用,則是學習的關鍵。

命令都是英文單詞,雖然有很大一部分是縮寫,但對於國小生而言,背誦仍然是十分枯燥與乏味的,也是有一定難度的。一開始,因為學生被可愛的小海龜所吸引,學習時興趣盎然,對於“前進、後退”這些簡單命令的掌握應該是不在話下。但隨著課程學習的深入,學習難度的增加,繪圖命令的增多,命令的記憶與運用是有一定難度的。這些都往往令學生無從下手,不知所措,容易導致厭倦情緒產生,厭記厭學。一旦厭學,學習LOGO語言便如同嚼蠟,索然無味,甚至望而卻步。如果是這種結果,那麼,我們的教學也就陷入了困境。

為了令學生保持原有的那份熱情,那份興趣,我們必須降低難度,由淺入深,適時激勵,快樂學習,輕鬆記憶。利用課例引導可以讓學生很好地保持學習的興趣。所謂課例引導,即是事先給定一個演算法課例,有演算法設計(其間有空缺),也有圖形展示,兩相對應,同時展現:學生對照圖形來分析每一個演算法命令,在充分理解的基礎上再把空缺的的命令或引數補充完整。這樣的練習與分析,有例可循,有圖可參,學生很容易記住命令,練得多了,也就熟練了。

比如,LT(左轉)、RT(右轉)是非常簡單的轉向命令。但有一點要注意的是,它們的轉向有一個參照點,這個參照點就是海龜的當前方向:如果海龜的頭上腳下,LT就是往螢幕左側;如果是頭下腳上,那麼LT就是往螢幕右側。但很多學生都直觀地認為往螢幕左側就是LT,右側就是RT,其實這是不對的。為此,我設計了這麼一個課例:讓學生用LOGO語言畫出經典遊戲“俄羅斯方塊”中的一款積木形狀(如圖2)。學生都十分喜歡遊戲,如今通過自己的雙手讓小海龜畫出遊戲裡的圖形,學習熱情空前高漲。加之有圖形對照,大部分命令也已存在,所以完成起來非常順利。我再趁熱打鐵,讓學生思考:LT 90 能不能用RT 來實現?如果可以,角度是多少?這樣一來,學生已完全掌握了轉向命令LT、RT的使用。

REPEAT(重複)命令的巢狀使用是一個重點,也是個不折不扣的難點,學生學起來比較抽象。為了讓學生理解REPEAT命令的巢狀使用,我設計了下面這樣一個課例(如圖3):先通過畫一個簡單的正六邊形來體會使用REPEAT命令可以在很大程度上簡化程式。因為有直觀的參考,學生很容易得出結果:REPEAT 6 [FD 30 RT 60],重複6次。在這個基礎上,引導學生分析,下面的組合圖,如何完成?一開始,學生基本上都會認為這個組合圖是由三個正方體加一外框線組成的,是個立體圖形。這樣一來,事情就走入了死衚衕,把問題複雜化了。為此,我作了適當的提醒:這個組合圖包含著多少個剛才畫過的正六邊形?學生在熱烈的討論中,通過大腦空間的想像,達成共識:正六邊形每旋轉60度再畫一次,一共6次,從而得出最終結果:REPEAT 6 [ REPEAT 6 [ FD 30 RT 60 ] LT 60 ]。如此一來,無需多費口舌,學生在不知不覺中已然深層次地理解了REPEAT命令的巢狀使用。

課例教學其實是一種問題情境。通過課例引導,命令的教學已經融合在一個個學生喜歡的情境中,不再是機械的、被動的。課例教學使得LOGO教學脫離枯燥的背記,走進輕鬆的遊戲,令學生保持濃厚的學習興趣。

三、精講例題,觸類旁通,張揚個性。

用LOGO語言繪製的圖案,變化多樣,奧妙無窮。很多圖形乍看之下,迥然不同,根本就是風馬牛不相及。而事實上,他們使用的命令大同小異,只是順序稍有不同,或是引數作了改變,或是順序作了變換。特別是REPEAT這一重複命令,即使所用命令全部一樣,只要引數不同,所作的圖就千姿百態,完全兩樣。如果懂得了其中的奧妙,學起來就會事半功倍。為此,在教學中我經常精講例題,然後讓學生舉一反三做同類型的題目,達到觸類旁通的效果。

比如,在教畫正多邊形的時候,首先從畫正方形入手,因為正方形是大眾化的一個圖形,學生再熟悉不過。通過命令試畫,總結得出一個比較好的答案:REPEAT 4 [FD 80 RT 360/4]。而後,再引導學生分析,這一行命令中的幾個引數都有什麼含義?通過討論,讓學生明白其中的“4”是邊數,“360/4”是旋轉的.角度。在這個基礎上,讓學生試著畫一個邊長為80的正三角形(等邊三角形)和正五邊形。在精講例題的引導下,大部分學生都能得出這樣的答案:REPEAT 3 [ FD 80 RT 360/3], REPEAT 5 [ FD 80 RT 360/5]。有了這樣的練習,學生就很容易再得出畫邊長為80的正N邊形的命令模式:REPEAT N [FD 80 RT 360/N],繼而總結出畫任意邊長正N邊形的命令模式:REPEAT N [ FD M RT 360/N],其中M表示邊長,N表示邊數。

在教學中,我們要注意學生程式設計思維的培養,注重個性張揚。“授人以魚,不如授人以漁”,老師往往擅長說教與分析。在我看來,與其把一個複雜的程式展示給學生,講解演算法,解釋命令,不如讓學生自己動手去解決一個簡單的問題,培養學生自我探究的能力。因此,在課堂上,我會盡量多地讓學生自己設計一個問題,然後自己去發現,自己去探索,而後動手解決它,讓學生的個性得到張揚。

在懂得畫正五邊形的基礎上,有個學生就提出了一個問題:五角星也是五條邊的,怎樣畫出五角星呢?是啊,REPEAT 5 [ FD 80 RT 360/5 ] 可以畫出一個正五邊形,那五角星又該如何畫呢?此時,我並沒有急著揭示答案,而是讓學生自己去解決這個問題。通過摸索,學生搞清楚了,其實就是旋轉的角度不同:REPEAT 5 [ FD 80 RT 144 ]。事情到這還沒結束,又有同學提問了,這樣畫出的五角星中間有線條,不太好看,空心的五角星(圖4)才美呢,可是怎麼畫呢?真是長江後浪推前浪!真是個棘手的問題,因為這不僅是五條邊的問題了,並且轉彎的方向也不同。但因為有動力,有興趣,學生研究的勁頭可是不容小覷,沒費多大功夫,問題便迎刃而解:REPEAT 5 [ FD 50 LT 72 FD 50 RT 144 ]。這是多麼令人欣喜的事啊!

四、一題多解,訓練思維,大膽創新。

計算機程式設計有一個特點,完成相同的結果,可以運用多種不同的演算法。不同的演算法體現了不同的解題思路,不同的思維模式。所以,LOGO語言是訓練邏輯思維和發散思維的有力武器。

教學中,不宜一味地讓學生照著葫蘆畫瓢。可以通過一題多解,讓學生通過不同的角度去分析問題,解決問題,從複雜的操作中尋求最簡單有效的方法。比如在教畫“米”字圖形時,我先引導學生分析圖形,得出一個結論:這個圖形可以通過多種方法畫出。有同學把海龜原點作為“米”的右下角開始作畫,也有當作左下角開始作畫,而大部分同學選擇了把它作為“米”的中心點;有的同學把“米”字作為一橫一豎兩斜線來處理,有的同學卻從原點出發,按45度角轉彎畫8條線段處理;有的同學用的是分步作畫,分行寫命令,但有的同學卻使用了REPEAT命令,使得作畫過程更為簡單明瞭。但是,無論怎樣,只要畫出了“米”字形的圖案,無論用哪種方法應該說都是可行的,都值得肯定。只是在最後評價時,鼓勵同學們採用最簡單有效的方法來做,儘量避免複雜化。

LOGO語言就像搭積木,可以靈活組合,隨時創新。陶行之曾說:“每個兒童都有創造潛能。”這種並不限定演算法而讓學生一題多解的做法,沒有框定解題的思路,沒有禁錮學生的思維,每個學生都可以用自己獨特的方法去解決同一個問題。因此,不僅學生的邏輯思維與發散思維得到了很好的訓練,同時,他們的創新潛能也得到極致的發揮。

當然,學生總究只是學生,思維沒有那麼成熟,演算法也不至於那麼縝密與完善,但LOGO語言確實為學生提供了一個自由廣闊的空間。在這裡,他們可以盡情地發揮自己的創造力、想象力,這對於培養學生的創新能力是有莫大幫助的。