高建君
程序設(shè)計(jì)是信息技術(shù)課程中知識(shí)性、邏輯性很強(qiáng)的一個(gè)教學(xué)模塊,十分有利于培養(yǎng)學(xué)生的高級(jí)思維能力。在學(xué)習(xí)過程中,隨著新語句、新算法的不斷引入,學(xué)生解決問題的思路越來越開闊,思維越來越靈活,程序設(shè)計(jì)的能力也會(huì)不斷提升。
在教學(xué)中,有些教師會(huì)困惑于這樣一種現(xiàn)象:當(dāng)引入一個(gè)新知識(shí)時(shí),學(xué)生全部的注意力都會(huì)圍繞新學(xué)的知識(shí),遇到問題會(huì)立刻想到用該知識(shí)去解決。但當(dāng)新知識(shí)變?yōu)榕f知識(shí),或是在一段時(shí)間后遇到了需要解決的問題,卻難以從腦海里眾多的已學(xué)知識(shí)中檢索出可用來解決問題的知識(shí)。此時(shí),教師常會(huì)抱怨學(xué)生“學(xué)過就忘”。
反思這種現(xiàn)象的出現(xiàn),我認(rèn)為,這是因?yàn)閷W(xué)過的眾多知識(shí)在學(xué)生的腦海里大多以點(diǎn)狀孤立地存在,相互之間是離散的,并沒有穿成一條相互關(guān)聯(lián)的知識(shí)鏈。教師在教學(xué)中有責(zé)任為學(xué)生知識(shí)鏈的形成搭建有效的思維平臺(tái)。下面,我以《一維數(shù)組的引入》這一教學(xué)片段為例,闡述在知識(shí)鏈的建立和學(xué)生思維能力的訓(xùn)練上的一些做法和思考。
師(提問1):請(qǐng)同學(xué)們寫出能解決“用鍵盤輸入5個(gè)學(xué)生的成績(jī),求出平均分”這個(gè)問題的兩個(gè)程序。第一個(gè)程序要求使用順序結(jié)構(gòu),第二個(gè)程序要求使用循環(huán)結(jié)構(gòu)。
學(xué)生很快就完成了兩個(gè)程序。
順序結(jié)構(gòu)程序:
program ex1(input,output);
var x1,x2,x3,x4,x5,s,p:real;
begin
read(x1,x2,x3,x4,x5);
s:=x1+x2+x3+x4+x5;
p:=s/5;
writeln(p:5:1)
end.
循環(huán)結(jié)構(gòu)程序:
program ex2(input,output);
var i:integer; x,s,p:real;
begin
s:=0;
for i:=1 to 5 do
begin
read(x);
s:=s+x;
end;
p:=s/5;
writeln(p:5:1)
end.
教學(xué)意圖:回顧已有知識(shí)鏈,鞏固學(xué)生利用已有知識(shí)解決問題的能力。更重要的是,為新知的誕生以及新知識(shí)與已學(xué)知識(shí)的鏈接做好鋪墊。
師(提問2):你認(rèn)為這兩個(gè)程序哪種方法好,為什么?
沒等我問完問題,學(xué)生異口同聲地說第二個(gè)程序好,原因是當(dāng)人數(shù)增加時(shí),循環(huán)結(jié)構(gòu)的程序易擴(kuò)展。我肯定了大家的說法,學(xué)生開始得意起來,潛意識(shí)中對(duì)順序結(jié)構(gòu)的算法更不屑一顧了。
教學(xué)意圖:我料到學(xué)生會(huì)說循環(huán)結(jié)構(gòu)的程序好,因?yàn)檠h(huán)結(jié)構(gòu)是后學(xué)的知識(shí),在學(xué)生的思維中,后學(xué)的知識(shí)肯定比先學(xué)的知識(shí)強(qiáng)。學(xué)生意見的一致性反映了學(xué)生思維的單一性,同時(shí)學(xué)生因“成功”選擇而呈現(xiàn)的興奮狀態(tài)為我下面的提問提供了可貴的撞擊學(xué)生思維的力量。
師(提問3):哪位同學(xué)能設(shè)計(jì)一個(gè)問題,讓我們看到順序結(jié)構(gòu)程序的優(yōu)勢(shì)呢?
學(xué)生全愣住了。在學(xué)生看來,后學(xué)的循環(huán)結(jié)構(gòu)肯定比順序結(jié)構(gòu)更具優(yōu)勢(shì)。沒有學(xué)生回答。
我留給學(xué)生足夠的時(shí)間思考,教室里一片寂靜。但遺憾的是,學(xué)生都把期待的目光投向了我。
教學(xué)意圖:我想打破學(xué)生的思維定勢(shì),于是用這個(gè)問題來觸動(dòng)學(xué)生。課堂上是需要有觸動(dòng)學(xué)生的時(shí)刻的,這是他們思維能力蛻變提升的關(guān)鍵時(shí)刻。同時(shí),讓學(xué)生“設(shè)計(jì)一個(gè)問題”是一種逆向思維訓(xùn)練,有利于提高學(xué)生思維的靈活性。
師(提問4):老師設(shè)計(jì)的問題是“求出5個(gè)學(xué)生各自與平均分的差距”。請(qǐng)大家分別修改兩個(gè)程序。
學(xué)生修改順序結(jié)構(gòu)的程序,很快完成。但對(duì)于循環(huán)結(jié)構(gòu)的程序,他們無從下手。
我問他們?cè)?學(xué)生回答說因?yàn)榍八膫€(gè)學(xué)生的原始成績(jī)無法保留,因此只能求出第五個(gè)學(xué)生與平均分的差距。我趁勢(shì)告訴學(xué)生,每一種方法都有其優(yōu)勢(shì),要針對(duì)不同的問題選擇最佳的方法。
教學(xué)意圖:通過這個(gè)問題,讓學(xué)生重新審視這兩種算法的價(jià)值,修補(bǔ)知識(shí)鏈中缺少的關(guān)聯(lián),引導(dǎo)學(xué)生在遇到問題時(shí)采用多元的思維方式。
師(提問5):用順序結(jié)構(gòu)的程序解決“求出學(xué)生各自與平均分的差距”,會(huì)有哪些局限性呢?
學(xué)生立即回答:當(dāng)人數(shù)增多時(shí),要用的變量太多了,很不方便。
我充分肯定了學(xué)生的回答,并帶領(lǐng)學(xué)生共同歸納出:順序結(jié)構(gòu)在解決“數(shù)據(jù)多且數(shù)據(jù)都需要獨(dú)立保存”的問題時(shí)不很方便。
教學(xué)意圖:引導(dǎo)學(xué)生冷靜地反思已學(xué)過的知識(shí)在解決問題時(shí)的作用和局限性,對(duì)能解決“數(shù)據(jù)多且數(shù)據(jù)都需要獨(dú)立保存”的新知識(shí)的學(xué)習(xí)產(chǎn)生期待,為知識(shí)鏈的延伸做好了準(zhǔn)備。
師:下面,老師用今天將要學(xué)的新知識(shí)來解決“數(shù)據(jù)多且數(shù)據(jù)都需要獨(dú)立保存”這個(gè)問題。請(qǐng)同學(xué)們注意觀察程序中變化的內(nèi)容。
我在黑板上寫下程序:
program ex3(input,output);
var i:integer; s,p:real;
a:array[1..5] of real;
begin
s:=0;
for i:=1 to 5 do
begin
read(a[i]);
s:=s+a[i];
end;
p:=s/5;
for i:=1 to 5 do
writeln(a[i]-p:5:1)
end.
寫完后,請(qǐng)學(xué)生將該程序與前面循環(huán)結(jié)構(gòu)的程序進(jìn)行比較。學(xué)生發(fā)現(xiàn),只是將x換成了a[i]。接下來,我用翻譯成中文的方式解釋程序中的語句,如當(dāng)循環(huán)變量i為1時(shí),讀入的分?jǐn)?shù)就存入a[1]單元;i為2時(shí),讀入的分?jǐn)?shù)存入a[2]單元……這樣做的目的是讓學(xué)生先接納新程序,為下面引入數(shù)組的學(xué)習(xí)掃除心理障礙,產(chǎn)生認(rèn)同感。
教學(xué)意圖:在已有知識(shí)鏈中追加新知識(shí)的鏈接。在引入數(shù)組這一新知識(shí)時(shí),我沒有按常規(guī)先講數(shù)組定義、下標(biāo)變量等,而是先亮出能解決問題的程序。我認(rèn)為讓學(xué)生先看到新知識(shí)在解決問題中顯現(xiàn)的身手比先聽新知識(shí)的概念更有價(jià)值。另一方面,讓學(xué)生在熟悉的程序框架中學(xué)習(xí)新知識(shí),心理上會(huì)感覺更踏實(shí),消除畏懼感。
學(xué)習(xí)是一種復(fù)雜的心理活動(dòng)。獲得知識(shí)只是學(xué)習(xí)的一個(gè)目的,將知識(shí)轉(zhuǎn)化為智慧和能力,才是學(xué)習(xí)的真正目的。在學(xué)習(xí)過程中,知識(shí)是不同時(shí)間段一部分一部分地獲得的。如果將它們隨意地儲(chǔ)存在大腦里,就會(huì)變成一盤散沙。教師需要通過教學(xué)設(shè)計(jì)搭建思維平臺(tái),幫助學(xué)生在接受新知識(shí)的同時(shí)建立起新舊知識(shí)之間的內(nèi)在聯(lián)系,構(gòu)成完整的知識(shí)鏈,提升解決問題的能力。
1.新知識(shí)只有從舊知識(shí)中誕生、成長(zhǎng),新知識(shí)才會(huì)有根,才會(huì)有生命力。學(xué)習(xí)的過程中需要不斷地接受新知識(shí),而新知識(shí)必須通過舊知識(shí)來理解。新、舊知識(shí)之間既存在著概念上的差異,又存在著特定的聯(lián)系。教師的任務(wù)是,在二者之間的斷層建立起連續(xù)性邏輯關(guān)系,使之成為一個(gè)連續(xù)的、完整的知識(shí)鏈。
2.新知識(shí)是用來延伸已有知識(shí),提高解決問題的能力的,不是對(duì)舊知識(shí)的否定和貶低,更不是對(duì)舊知識(shí)的拋棄和忘卻。在新知識(shí)引入前,有必要提高學(xué)生對(duì)舊知識(shí)的理解程度。這就好比我們站在比原來高的山峰上,回頭看身后矮的山,由于角度和高度不同,我們會(huì)看得更全面、更透徹。這樣,就會(huì)在已有知識(shí)之間建立起更廣泛的聯(lián)系,而學(xué)習(xí)了新的知識(shí)后,學(xué)生又能從新的高度獲得對(duì)舊知識(shí)更深層次的理解。
3.學(xué)習(xí)是承前啟后、逐步爬坡、不斷豐富知識(shí)鏈的過程。在教學(xué)中,對(duì)任何新知識(shí),都切不可用“空穴來風(fēng)”的形式呈現(xiàn),不然知識(shí)鏈就會(huì)斷裂。
4.知識(shí)鏈既是可將知識(shí)融會(huì)貫通,建立起多向關(guān)聯(lián)的知識(shí)網(wǎng)絡(luò),又是學(xué)生獲取解決問題的能力的源泉。知識(shí)鏈的融會(huì)貫通是一種綜合運(yùn)用所學(xué)知識(shí)解決問題的思維方式和能力。
學(xué)習(xí)的目的是為了用。只有當(dāng)知識(shí)轉(zhuǎn)化成學(xué)生的智慧和能力時(shí),才能真正彰顯知識(shí)的力量或價(jià)值。作為教師,唯有在教學(xué)中不斷研究,搭建起有效的思維平臺(tái),引導(dǎo)學(xué)生將學(xué)習(xí)從堆積“知識(shí)山”轉(zhuǎn)向創(chuàng)造“知識(shí)鏈”,才會(huì)讓我們的學(xué)生擁有更多解決問題的智慧和能力。
(作者單位:江蘇南京十三中科利華分校)