鄭重
摘要:將計算機語言作為教學內容引入到小學階段信息技術課程教學中,有利于激發(fā)學生探究欲望,提高他們的信息處理能力。同時,程序語言學習過程對培養(yǎng)學生的思維品質和創(chuàng)新能力有很大的促進作用。
關鍵詞:結構化程序語言? 教學實踐? 思維能力培養(yǎng)
引言
計算機編程語言有很多種,目前小學信息技術課程引入了一些結構化的程序設計語言,如:PC-Logo,Pascal等。那么,教師怎樣將枯燥、晦澀的計算機語言變成學生樂于接受的思維工具呢?筆者在教學實踐中做了以下探索:一是精心設計入門課,二是改變學生思維習慣和方式,三是在創(chuàng)新和實踐中不斷提升編程能力。
一、精心設計程序語言入門課
(一)精心設計第一課的必要性
兒童在發(fā)展過程中,學習和求知欲高。讓小學生接觸并學習一些程序設計語言,能使其用程序設計的方式進行思考,幫助其拓展解決問題的途徑。小學生學習程序設計的目標不是培養(yǎng)“小程序員”,而是學習編程的思維方式。因此,如何讓學生通過第一課的學習就深深地“愛”上程序設計語言是程序語言教學第一課的首要任務。
(二)入門課設計的嘗試
小學信息技術第五冊第三單元是PC-Logo的入門課程。教師首先展示圖1,引導學生嘗試用學過的畫圖軟件繪制這張圖。開始時學生可能信心滿滿,但打開畫圖軟件后可能會發(fā)現無從下手,這時老師引導說:“我的電腦里有一只神奇的會變魔術的小海龜,它可以幫助大家畫出這幅圖?!本o接著使用PC-Logo繪出圖形,學生感到神奇和好奇,進而教師提問學生:“你想不想擁有這只神通廣大的小海龜呢?”
學生在輕松愉悅的氛圍中興趣陡增。教師在做了精心的導入后可引領學生完成一些簡單的設計,慢慢提高難度,使他們學習編程的興趣不至于泯滅在枯燥、乏味的數學運算中。
Pascal語言教學中嘗試使用文件方式展示程序語言,編寫下面這個簡單的程序:運用可執(zhí)行程序的方式展示程序語言是Pascal語言的教學特點之一。對應的代碼如下:
program hello;
var t:text;
begin
assign(t,'c:\\hello.txt');
rewrite(t);
writeln(t,'hello!');
close(t);
end.
這個程序運行后會生成一個hello.exe文件,老師將這個文件發(fā)送到學生C盤,讓學生點擊看看有什么變化。有些同學驚奇地發(fā)現C盤多了個hello.txt文件,打開文件后會看到hello這個單詞。在此基礎上教師引導學生:“你能不能把自己名字的拼音輸出到這個文件中呢?”學生的好奇心促使他們探究老師上面給出的程序。由此教師帶領學生進入Pascal語言的學習,學生帶著問題和好奇,興趣自然不低。
二、誘發(fā)學生思維動機,優(yōu)化思維方式
瑞士心理學家皮亞杰說:兒童的認識是通過活動并在主客體的相互作用中產生的。小學生學習程序設計,一方面是手腦的協調活動,是對計算機算法的感知過程,另一方面是手與腦密切溝通,是把外部認知活動轉化為內部語言的智力內化方式。因此,語言學習過程中可采取“驅”“探”“悟”三位一體的教學模式。
(一)創(chuàng)設情境,“驅”動思維
程序語言學習中老師盡量選取和學生實際生活貼近的問題,通過老師的循循善誘,使學生融入一個生動有趣的場景,問題的趣味與挑戰(zhàn)性會讓學生產生好奇心。學生答題時,在題目的情境中發(fā)揮想象力,分析問題,建立數學模型,設計算法并運用編程求解,這將激發(fā)學生的探索熱情。
比如,在學習Pascal結構程序設計時,老師可以提出下面的問題:一輛自行車的售價是300元,商場為了促銷,買兩輛及兩輛以上自行車,第二輛或第二輛以后的自行車均按240元一輛的價格出售,編程計算購買a輛自行車要多少元。[如購買3輛自行車的價格:300+240×2=780(元)]
在教師的引導下,學生不難發(fā)現買一輛和兩輛自行車單價是不同的,進一步分析可得出總價分兩種情況:一是當自行車數量為1時總價就是300元,二是當自行車數量達到或超過2輛時總價應該是300+240×(a-1)。有了這樣的洞察,學生對應即可寫出程序。
(二)尋找規(guī)律,探索新知
學生主動探索新知識是課堂教學中發(fā)揮學生主體作用的重要環(huán)節(jié),教師的任務是為學生的探索創(chuàng)造條件。在探索中學生積極動手、動腦,可以產生主動獲得知識、發(fā)展能力的欲望。
在學習PC-Logo的“重復”命令時,如果采用教師先講命令功能和格式,然后學生套用格式進行練習的模式,那么大部分學生的探究思維得不到練習,不能掌握其規(guī)律,這對后續(xù)的問題解答不利。反之,如果采取先觀察再探究規(guī)律的方法,那么學生的能力則可以得到提升。
教師可以首先展示使用基本命令和重復命令畫正方形的過程(見下表),讓學生觀察、對比兩種方法的效率,再鼓勵學生分析兩種方法效率差異的來源,找到規(guī)律。
(三)“領悟”“探索”結合,拓展思維
“悟”和“探”不是兩個獨立的過程,兩者互相依存、相互轉化?!拔颉笔恰疤健钡慕Y果,是下一步“探”的基礎。
使用重復命令時,重在領悟重復命令中“重復的次數、內容”的含義;在探索用重復命令繪制正多邊形時,也在“悟”命令中重復的次數、小海龜每一次轉動的角度與正多邊形邊數之間的關系。學生每次“悟”的結果又是下一次“探”的基礎。在“探”“悟”的過程中,學生獨立嘗試、獨立思考,從而使思維得到訓練和拓展。
三、立足實踐,著力創(chuàng)新,不斷提升編程能力
“紙上得來終覺淺,絕知此事要躬行?!边@句詩告訴教師不僅要讓學生學習編程理論,更要讓學生通過上機實踐,在不斷的探索中獨立思考問題,培養(yǎng)學習興趣的同時,有效激發(fā)出學習積極性。學好程序設計語言要求學生通過不斷的實踐與探索,做到對所學內容有更深層的理解,這樣才能讓實踐、思考、提升三者成為統一體。
比如,在Pascal學習中,教師可以提出如下問題:輸入三個數,輸出其中最大的數。該問題看上去很簡單,學生通過分析不難找到解答,大部分都會得到如下寫法:
Program max;
Var
A,B,C,max:real;
begin
readln(A,B,C,);
if (A>B) and (A>C) then max:=A;
if (B>A) and (B>C) then max:=B;
if (C>A) and (C>B) then max:=C;
end.
老師肯定上述代碼的同時,鼓勵學生思考能否有更簡潔、層次更清楚的方法,并使用N-S圖先分析(見表2):
上表中的N-S圖可以利用兩個條件語句來實現,程序主體部分如下:
If a>b then max:=a;
Else maxb;
If c>max then max:c;
通過實踐和創(chuàng)新,學生編寫出了到了更簡潔、層次更清晰的程序。
在Logo學習重復命令中,學生掌握了正多邊形的畫法,例如畫正五邊形語句可以寫成:repeat 5[fd 50 rt 360/5]。那么,要畫如下的五角星又該怎樣做呢?
每個角由兩條邊組成,小海龜畫好一條邊后,向右旋轉的外角是720/5=144度;接著再畫第二條邊,重復5次。
rt 18
repeat 5[fd 50 rt 720/5 fd 50 lt 360/5]
ht
由此探索出空心多角星的畫法:
Repeat 角數[fd 邊長 rt 720/角數 fd 邊長 lt 360/角數]
由兩個案例可知,學生的程序設計實踐能力要在不同問題中通過思維的訓練進行擴展。學習程序設計要鼓勵學生不斷在實踐上機中探尋問題的解決方法。
結語
程序設計不是看會的,也不是聽會的,而是通過上機實踐探索練會的。“實踐出真知”, 既要動腦,又要動手,進行“理性”的思維和實踐。從小學習一些程序設計的思想,對學生將來打開思路,挖掘潛能,提高科學素養(yǎng)和動手能力有很大的益處。從信息技術方面獲得的能力也可以遷移到其他課程中去。小學信息教育要注重學生程序設計思想的培養(yǎng),鼓勵學生打開思路,挖掘潛能,提高學生的科學素養(yǎng)和動手能力。
參考文獻:
[1]朱智賢.兒童心理學[M].北京:人民教育出版社,1993.
[2]陳星火.程序設計小能手——Logo語言編程[M].北京:北京希望電子出版社,1999.
[3]馬敏.依托信息學奧賽培養(yǎng)學生思維品質和創(chuàng)新能力[J].NOI導刊,2012(12).