李振環(huán)
初步掌握計(jì)算機(jī)進(jìn)行信息處理的幾種基本方法,認(rèn)識(shí)其工作過(guò)程與基本特征,這是算法與程序教學(xué)最基本的要求,也是最初的教學(xué)內(nèi)容。本節(jié)課以前學(xué)生主要學(xué)習(xí)的是辦公軟件,是用現(xiàn)有軟件來(lái)處理相應(yīng)的信息。本節(jié)課是讓學(xué)生體驗(yàn)用自己編寫(xiě)的程序來(lái)解決實(shí)際問(wèn)題,使其進(jìn)一步了解計(jì)算機(jī)程序的特征與功能,體驗(yàn)分析問(wèn)題、解決問(wèn)題的基本過(guò)程與方法,進(jìn)而提升學(xué)生自主處理信息的能力,也拉近了學(xué)習(xí)與技術(shù)的距離。
高一的學(xué)生已經(jīng)具備了一定的計(jì)算機(jī)使用能力,但大多數(shù)是使用常用軟件處理信息。對(duì)于計(jì)算機(jī)程序的了解只限于能舉例說(shuō)明,對(duì)它的本質(zhì)知之甚少,他們以前可能很少或者根本沒(méi)有接觸過(guò)計(jì)算機(jī)編程,因此,程序和編程對(duì)學(xué)生來(lái)說(shuō),有一定的神秘感。另外,學(xué)生現(xiàn)階段已經(jīng)具備了一定的邏輯思維、分析問(wèn)題、表達(dá)思想的能力,也掌握了相關(guān)的數(shù)學(xué)知識(shí)。
本節(jié)課的教學(xué)設(shè)計(jì),旨在營(yíng)造和諧的生活化計(jì)算機(jī)程序體驗(yàn)課,通過(guò)一系列的情境創(chuàng)設(shè)和學(xué)生探究、推導(dǎo)、體驗(yàn)等學(xué)習(xí)活動(dòng),力求讓學(xué)生體會(huì)到計(jì)算機(jī)程序在生活中起的作用,自己動(dòng)手編制計(jì)算機(jī)程序解決身邊的具體問(wèn)題,進(jìn)而了解利用計(jì)算機(jī)程序的特征與功能,明確解決問(wèn)題的過(guò)程,有意愿把這樣的方法融入到現(xiàn)實(shí)生活中去。其中,本節(jié)課重在利用數(shù)學(xué)的“推導(dǎo)”思維引導(dǎo)學(xué)生進(jìn)行算法與程序的設(shè)計(jì),更有利于培養(yǎng)其計(jì)算思維。
● 情境導(dǎo)入,引起對(duì)程序功能的思考
學(xué)生思考下列兩個(gè)函數(shù)的二次函數(shù)圖象,嘗試根據(jù)數(shù)學(xué)知識(shí)手繪函數(shù)圖象。
Y=-3x2+5x+9
Y=2x2+4x+9
教師用VB程序繪制二次函數(shù)圖象。
師:說(shuō)一說(shuō)在手繪與程序繪制過(guò)程中有哪些不同的感受?
設(shè)計(jì)意圖:比較手繪和程序繪圖象,讓學(xué)生感受程序的效率。初步感受編程解決問(wèn)題,以及和生活的聯(lián)系。
● 自主學(xué)習(xí),感受程序的基本特征與功能
師:自主學(xué)習(xí)教材相關(guān)內(nèi)容,并回答下面問(wèn)題。①舉例說(shuō)明,計(jì)算機(jī)程序有哪些特點(diǎn)、用途,與硬件的關(guān)系是什么?②計(jì)算機(jī)語(yǔ)言有哪些,發(fā)展過(guò)程與特點(diǎn)是怎樣的?
設(shè)計(jì)意圖:先由學(xué)生自學(xué)理論知識(shí),并設(shè)置問(wèn)題幫助學(xué)生更好地理解程序的特征與功能,從計(jì)算語(yǔ)言發(fā)展歷程理解程序越來(lái)越方便的特點(diǎn),在掌握程序知識(shí)的同時(shí)提高編程的自信心。
學(xué)生進(jìn)行活動(dòng),自主學(xué)習(xí)并思考問(wèn)題。學(xué)生通過(guò)對(duì)實(shí)例的探索,研究如何繪制同心圓,體驗(yàn)編制計(jì)算機(jī)程序解決問(wèn)題的全過(guò)程。
(1)分析、提出問(wèn)題:同心圓的特點(diǎn)是什么?(圓心相同,半徑不同。)
(2)設(shè)計(jì)算法:調(diào)用Circle函數(shù),并講解Circle函數(shù)中參數(shù)的意義。
Circle (4000, 4000), 1000, vbred
圓心坐標(biāo) 半徑 顏色
算法為:①確定圓心;②確定半徑;③確定圓的顏色。
設(shè)計(jì)意圖:學(xué)生未接觸過(guò)VB,所以選取了代碼簡(jiǎn)單易懂的同心圓,只需一個(gè)Circle函數(shù)即可。圓心坐標(biāo)相同,半徑大小不同,其實(shí)就是確定Circle函數(shù)的三個(gè)參數(shù)。
(3)開(kāi)始編寫(xiě)程序,向?qū)W生提示基本過(guò)程。
①添加按鈕控件作為執(zhí)行按鈕。
②雙擊按鈕進(jìn)入代碼編輯窗口。
③編寫(xiě)代碼(如下)。
Private Sub Command1_Click()
Circle (4000, 4000), 1000, vbred
Circle (4000, 4000), 1500, vbred
End Sub
第一句、最后一句程序自動(dòng)添加是按鈕的單擊事件,可以理解為程序的開(kāi)始和結(jié)束。寫(xiě)兩個(gè)語(yǔ)句,即調(diào)用兩次Circle函數(shù),畫(huà)兩個(gè)圓,通過(guò)改變參數(shù)的值來(lái)畫(huà)不同的圓。
(4)調(diào)試運(yùn)行:運(yùn)行程序,主要是VB軟件的使用。
(5)檢測(cè)結(jié)果:測(cè)試的結(jié)果運(yùn)行即可得,如果得到的結(jié)果是同心圓說(shuō)明結(jié)果正確,否則需要檢查錯(cuò)誤的地方并且改正,再次運(yùn)行檢測(cè)。
設(shè)計(jì)意圖:學(xué)生經(jīng)歷了利用計(jì)算機(jī)程序語(yǔ)言解決實(shí)際問(wèn)題的基本過(guò)程,對(duì)編程有了一個(gè)全面的了解,初步了解了VB程序軟件和基本使用方法,解密了編程的神秘感,拉近了信息技術(shù)與生活實(shí)際的距離。
● 小組合作,在“推導(dǎo)”數(shù)學(xué)關(guān)系中深化計(jì)算思維
由于學(xué)生從未接觸過(guò)VB,如果采用與數(shù)學(xué)結(jié)合的方法讓其理解、體驗(yàn)算法的設(shè)計(jì),學(xué)生能更容易地完成程序,也可以更有思維深度地去化解程序中命令參數(shù)的應(yīng)用難點(diǎn)。本環(huán)節(jié)采用的方法就是數(shù)學(xué)推導(dǎo)法,也就是根據(jù)基本的算法與程序,推導(dǎo)出更復(fù)雜、更有趣味的圖形算法與程序,提高編程時(shí)運(yùn)用參數(shù)的能力。
設(shè)計(jì)系列任務(wù),筆者倡導(dǎo)學(xué)生通過(guò)小組合作完成任務(wù),以更直觀清晰的實(shí)例探索推導(dǎo)程序的特點(diǎn)與功能。
小組任務(wù)一:按照編程的基本過(guò)程,自主完成以下圖形(如下頁(yè)圖1)。
設(shè)計(jì)意圖:同心圓是圓心坐標(biāo)不變,半徑變。任務(wù)一是不變半徑、變圓心的橫縱坐標(biāo)。是對(duì)Circle函數(shù)的遷移與運(yùn)用,也是對(duì)編程過(guò)程的體驗(yàn);為任務(wù)二做過(guò)渡,讓圖形更豐富,讓算法與程序設(shè)計(jì)更有挑戰(zhàn)性。體現(xiàn)用推導(dǎo)方式理解程序中參數(shù)變化對(duì)算法設(shè)計(jì)的影響,以及體現(xiàn)程序的功能。
小組任務(wù)二:合作完成以下圖形,看看哪個(gè)小組做得快(如圖2)。
小組活動(dòng):學(xué)生分為8個(gè)小組,1、8組做圖A,2、7做圖B,3、5做圖C,4、6做圖D,其中核心的工作是分工進(jìn)行數(shù)學(xué)推導(dǎo),計(jì)算各圓的半徑和圓心。
設(shè)計(jì)意圖:在學(xué)習(xí)過(guò)程中,學(xué)生發(fā)現(xiàn)知識(shí)的規(guī)律,增強(qiáng)推導(dǎo)問(wèn)題的能力以及邏輯思維的嚴(yán)密性、條理性;懂得知識(shí)的遷移學(xué)習(xí);體會(huì)程序畫(huà)圖的準(zhǔn)確性和美感,感受算法與程序設(shè)計(jì)的功能;增強(qiáng)在推導(dǎo)思維與計(jì)算思維形成中的小組合作能力和團(tuán)隊(duì)意識(shí)。
小組作品展示:展示自己小組的作品并相互評(píng)價(jià)。
設(shè)計(jì)意圖:讓學(xué)生能夠感受到成功的喜悅。
小組任務(wù)拓展:自由發(fā)揮,繪制出自己的創(chuàng)意圖形。
設(shè)計(jì)意圖:讓學(xué)生充分發(fā)展個(gè)性,既加強(qiáng)對(duì)知識(shí)的應(yīng)用也增強(qiáng)應(yīng)用的靈活性,鍛煉了學(xué)生的想象力。
小組作品展示:展示自己小組的作品、各個(gè)小組相互評(píng)價(jià)。
設(shè)計(jì)意圖:學(xué)生能夠展示自己的個(gè)性設(shè)計(jì)。
● 課堂小結(jié),梳理計(jì)算用程序解決問(wèn)題的基本過(guò)程
師:本節(jié)課大家對(duì)算法與程序的關(guān)系、程序的功能方面有何收獲和感受?
學(xué)生活動(dòng):針對(duì)自己設(shè)計(jì)程序的過(guò)程與最終作品,回答問(wèn)題,并談感受。
設(shè)計(jì)意圖:利用對(duì)算法與程序設(shè)計(jì)基本知識(shí)的總結(jié),幫助學(xué)生明確算法與程序的概念,便于學(xué)生理解記憶;了解學(xué)生的編程感悟,便于下節(jié)課深化推進(jìn)具體的算法教學(xué)。
● 教學(xué)反思,思維的突破與理解程序本質(zhì)的現(xiàn)實(shí)差距
縱觀整個(gè)教學(xué)過(guò)程,筆者認(rèn)為本課存在以下一些優(yōu)點(diǎn)與不足。
在整個(gè)教學(xué)過(guò)程中,用問(wèn)題引領(lǐng)學(xué)生主動(dòng)思考,自主學(xué)習(xí)和任務(wù)驅(qū)動(dòng)都體現(xiàn)了以學(xué)生為主體——學(xué)生思考,學(xué)生實(shí)踐。對(duì)學(xué)生的評(píng)價(jià)采用學(xué)生互評(píng)的方式,總結(jié)也由學(xué)生來(lái)回答,都充分體現(xiàn)了學(xué)生的主體地位;實(shí)例貼近學(xué)生生活,以數(shù)學(xué)為實(shí)例進(jìn)行推導(dǎo),貼近學(xué)生的學(xué)習(xí)實(shí)踐,能夠讓學(xué)生更容易地理解計(jì)算機(jī)程序,也鍛煉了他們分析問(wèn)題的邏輯性、條理性;小組合作加強(qiáng)了學(xué)生的合作能力和團(tuán)隊(duì)意識(shí),也提高了任務(wù)完成的效率,讓學(xué)生體會(huì)到合作的重要性;采用拓展任務(wù),充分發(fā)揮了學(xué)生的個(gè)性。
總體的困惑是:學(xué)生對(duì)計(jì)算機(jī)程序的本質(zhì)在理解上有一定的困難,本節(jié)課因時(shí)間有限也不能夠深入探究計(jì)算機(jī)程序,怎樣形象地說(shuō)明程序的本質(zhì)及其運(yùn)行原理還有待思考和完善。另外,學(xué)生的編程基礎(chǔ)基本為零,所以在代碼的編寫(xiě)和VB程序的使用中教師需要明確講解和演示,但是演示過(guò)后仍有許多學(xué)生對(duì)VB的使用還是掌握得不夠好,影響了課堂教學(xué)的推進(jìn)。