徐華勝
(北侖明港高級(jí)中學(xué),浙江寧波 315800)
隨著新課程改革的深入開(kāi)展,算法與程序設(shè)計(jì)作為信息技術(shù)的一部分,開(kāi)始受到了大家越來(lái)越多的重視??蓪?duì)于高一新生來(lái)說(shuō),算法與程序設(shè)計(jì)給他們的第一印象就是“難”,覺(jué)得這應(yīng)該是一門高深的學(xué)問(wèn),難度很大。如何在有限的課堂40分鐘內(nèi),合理運(yùn)用教材,采取恰當(dāng)?shù)慕虒W(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高算法與程序設(shè)計(jì)的課堂教學(xué)有效性,就成為一個(gè)我們值得探討的問(wèn)題。作為一個(gè)十多年的一線教師,由于本人對(duì)程序有特殊的偏好,在編程教學(xué)中積累了一點(diǎn)心得,具體如下:
對(duì)于初學(xué)者來(lái)說(shuō),興趣與信心是最重要的。由于跟前面的信息技術(shù)基礎(chǔ)比起來(lái),算法與程序設(shè)計(jì)上手比較難,前期涉及到的基礎(chǔ)內(nèi)容又比較枯燥,接觸上機(jī)編程的時(shí)候?qū)W生很容易被其他東西所吸引,不按指定的內(nèi)容操作,這樣會(huì)極大的影響到課堂的教學(xué)效果,甚至于學(xué)生完全沒(méi)有掌握相應(yīng)的知識(shí),教師也教的越來(lái)越乏味。如此循環(huán),程序設(shè)計(jì)也將會(huì)成為放任自流的課,學(xué)生將會(huì)越來(lái)越失去興趣,最終退出并放棄這門課程。因此,我們要依據(jù)教學(xué)內(nèi)容,設(shè)計(jì)一些場(chǎng)景,使問(wèn)題形象化、具體化,給學(xué)生在視覺(jué)上或者心理上造成一定的沖擊,進(jìn)而激發(fā)他們的好奇心,為接下來(lái)的教學(xué)內(nèi)容做好鋪墊工作。
例如,在開(kāi)講for循環(huán)語(yǔ)句第一課時(shí),在引入的環(huán)節(jié),要求學(xué)生使用已經(jīng)掌握的PictureBox控件畫(huà)一個(gè)圓,然后要求畫(huà)圓心相同的20個(gè)、50個(gè)、100個(gè)圓,從而順其自然的引出for循環(huán)語(yǔ)句。在這個(gè)問(wèn)題的導(dǎo)入中,我們使用PictureBox控件呈現(xiàn)的圖形變化來(lái)實(shí)現(xiàn)循環(huán)語(yǔ)句的效果,直觀形象,易于接受,比起我們常用的數(shù)字方式的引入來(lái)的更有吸引力,更有趣味。
在掌握了for語(yǔ)句的基本結(jié)構(gòu)后,我們還可以一例到底,層層遞進(jìn),通過(guò)圓的個(gè)數(shù),半徑的變化,來(lái)體會(huì)for語(yǔ)句中循環(huán)變量初值、終值及步長(zhǎng)的變化。最后可以再次拋出問(wèn)題,通過(guò)圓心的移動(dòng),發(fā)揮學(xué)生想象力,反饋給他們各種不同的圖形,直觀的變化之美,也會(huì)讓學(xué)生對(duì)接下來(lái)的學(xué)習(xí)充滿憧憬。
學(xué)生能夠提出問(wèn)題,是學(xué)生變被動(dòng)學(xué)習(xí)為主觀能動(dòng)的內(nèi)化過(guò)程。教師可以通過(guò)學(xué)生的提問(wèn)找準(zhǔn)教材重難點(diǎn)的切入點(diǎn)。學(xué)生提不出問(wèn)題,是沒(méi)有思考或思考不深入的客觀反應(yīng)。反之,則說(shuō)明學(xué)生對(duì)教材有一定的理解和掌握。所以,在教學(xué)中,我們要精選例題,讓學(xué)生能夠積極思考,多發(fā)現(xiàn)問(wèn)題,多提出疑問(wèn),引導(dǎo)學(xué)生以主人翁的態(tài)度投入到學(xué)習(xí)之中。
例如在講解integer、long所能保存數(shù)據(jù)范圍的不同時(shí),我為學(xué)生設(shè)計(jì)了這樣一個(gè)實(shí)驗(yàn)。
Dim x, y , z as integer;
x = 1
y = 3
z= x + y
print z
這是一個(gè)非常簡(jiǎn)單的程序,程序運(yùn)行完后會(huì)在窗口左上角輸出4。然后我叫大家將x改為1000,將y改成3000,再次運(yùn)行后,發(fā)現(xiàn)輸出的數(shù)為4000了。這個(gè)很簡(jiǎn)單啊,同學(xué)會(huì)都會(huì)感到納悶了,思想上也開(kāi)始放松了。這時(shí)候我叫大家將x改為10000,y改為40000,運(yùn)行后窗口上并沒(méi)出現(xiàn)預(yù)期的數(shù)字,怎么回事,出錯(cuò)了?這時(shí)我讓學(xué)生查看下書(shū)上關(guān)于integer這個(gè)數(shù)據(jù)類型的存儲(chǔ)范圍。終于大家都明白了,原來(lái)是數(shù)值超過(guò)了存儲(chǔ)的范圍,那怎樣進(jìn)行修改可以正確輸出這個(gè)數(shù)值呢?慢慢地引導(dǎo)著學(xué)生思考解決問(wèn)題的方法。
在integer數(shù)據(jù)類型問(wèn)題的解決情況下,我們可以再次改變下程序,如果將x=1改成x="1",y=3改成y="3",程序又會(huì)出現(xiàn)什么情況呢?首先告訴學(xué)生加雙引號(hào)與不加雙引號(hào)的區(qū)別,然后讓學(xué)生對(duì)應(yīng)書(shū)上的數(shù)據(jù)類型表格,試著對(duì)程序進(jìn)行修改。由于基本上都在要求學(xué)生自己動(dòng)手動(dòng)腦,他們?cè)诓僮鬟^(guò)程中探究和解決問(wèn)題的積極性、學(xué)習(xí)的主觀能動(dòng)性都會(huì)得到很大調(diào)動(dòng)。讓學(xué)生一步步的去發(fā)現(xiàn)問(wèn)題,去探索解決問(wèn)題的方法,教師的教學(xué)目的也就達(dá)到了。
在發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的過(guò)程中,還要逐漸鍛煉學(xué)生舉一反三的編程能力。同時(shí),問(wèn)題的設(shè)置也應(yīng)該是一個(gè)逐步上升的過(guò)程,而不是在同一個(gè)層面反復(fù)糾結(jié),低層次的問(wèn)題應(yīng)該是高層次問(wèn)題的基礎(chǔ),要為學(xué)生的自主探索搭建一個(gè)厚實(shí)的底座。作為老師,要注意自己的表情,語(yǔ)氣和手勢(shì),注意傾聽(tīng)學(xué)生,及時(shí)糾正補(bǔ)充。問(wèn)題的提出,要盡量避免使學(xué)生感到山重水盡疑無(wú)路,教師可以引導(dǎo)式的追問(wèn)或再次遞進(jìn)提問(wèn),讓學(xué)生感到柳暗花明又一村。盡量讓每一位學(xué)生都有話說(shuō),有路走,將老師作為一個(gè)交流的對(duì)象。
例如,在教科書(shū)中學(xué)習(xí)for循環(huán)語(yǔ)句的時(shí)候,我們會(huì)看到這樣一個(gè)例子:求1+2+3+…+100的和。
用for語(yǔ)句如下:
s=0
for i=1 to 100 step 1
s=s+i
next i
print s
這個(gè)語(yǔ)句非常簡(jiǎn)單,學(xué)生也很容易理解,特別是對(duì)“step 1”進(jìn)行特別講解后,我就要求同學(xué)們對(duì)原程序做如下幾種變化:
(1)求1到100之間所有偶數(shù)的和,要求i每次加2。
(2)求1到100之間所有偶數(shù)的和,要求i每次加1。
(3)在程序運(yùn)行過(guò)程中任意輸入一個(gè)自然數(shù)n,求1到n之間所有偶數(shù)的和。
(4)難度加深題:查找100-999中滿足如下條件abc=a^3+b^3+c^3的數(shù)(水仙花數(shù))
從上面的幾種變化,我們可以來(lái)分析下,第一題應(yīng)該屬于比較簡(jiǎn)單一類的,只要把階改為2就行了(setp 1改為 step 2),只要模仿下例題就可以解決了,只是對(duì)步長(zhǎng)的功能進(jìn)行了一個(gè)初步了解。第二題需要轉(zhuǎn)變下思維,有一定的難度了,而且并不只一種方法,可以將循環(huán)變量改成1到50,循環(huán)語(yǔ)句變成s=s+2*i,也可以直接在循環(huán)語(yǔ)句s=s+i前加一句i=i+1。不同的方法可以達(dá)到相同的結(jié)果,考察了學(xué)生的應(yīng)變及創(chuàng)新能力。第三題是在第二題的基礎(chǔ)上進(jìn)行一個(gè)變量n的輸入,可以將該題的范圍進(jìn)行適量的延伸,同時(shí)對(duì)n、s的范圍也要注意,在for語(yǔ)句的基礎(chǔ)上還考察了integer類型的范圍??偟膩?lái)說(shuō),前三題的的知識(shí)對(duì)學(xué)生綜合能力要求在逐步提升,由淺入深,具有非常的典型性,進(jìn)行這樣的梯度訓(xùn)練后,學(xué)生們對(duì)for循環(huán)語(yǔ)句就會(huì)有一個(gè)比較好的認(rèn)識(shí)和運(yùn)用了。
總之,不同的學(xué)生有著迥異的知識(shí)背景和學(xué)習(xí)習(xí)慣,同時(shí)老師所授內(nèi)容過(guò)于理論化,這兩點(diǎn)一直都是困擾我們開(kāi)設(shè)程序設(shè)計(jì)課的難點(diǎn)所在。所以,我們老師在進(jìn)行教學(xué)設(shè)計(jì)時(shí)候需要依據(jù)學(xué)生特點(diǎn),將抽象的東西實(shí)體化,精講精練,可以通過(guò)一些問(wèn)題或者任務(wù)來(lái)增強(qiáng)學(xué)生的興趣,鋪設(shè)一些不多的設(shè)問(wèn)來(lái)引導(dǎo)學(xué)生,言簡(jiǎn)意賅的歸納知識(shí)點(diǎn),即不能讓學(xué)生死記硬背程序,也不能讓他們無(wú)從下手,這樣學(xué)生將會(huì)更加樂(lè)于學(xué)習(xí)程序,我們的課堂教學(xué)也會(huì)更加行之有效。
[1]戴禮奎,張海云.課堂教學(xué)中程序設(shè)計(jì)的教學(xué)實(shí)踐[J].中小學(xué)電教(下半月),2017(10):45-46.
[2]陳蘇海.計(jì)算機(jī)公共基礎(chǔ)程序設(shè)計(jì)課程實(shí)驗(yàn)教學(xué)探討[J].課程教育研究,2015(36):136-137.