楊兆華
教材分析
本節(jié)課所學(xué)的內(nèi)容是教育科學(xué)出版社《信息技術(shù)基礎(chǔ)》第三章第二節(jié),本節(jié)內(nèi)容比較簡(jiǎn)潔,是對(duì)上一節(jié)內(nèi)容的承接,主要是通過對(duì)整個(gè)程序設(shè)計(jì)過程的體驗(yàn)讓學(xué)生了解用計(jì)算機(jī)進(jìn)行信息編程加工的內(nèi)在機(jī)制,知道利用計(jì)算機(jī)解決問題的方法。
學(xué)情分析
高一學(xué)生具有一定的邏輯思維和概括能力,參與實(shí)踐活動(dòng)意識(shí)強(qiáng)烈,喜歡探求新知識(shí),但程序設(shè)計(jì)接觸得不多,算法是其較難理解和掌握的內(nèi)容,尤其是對(duì)普通高中學(xué)生來(lái)說,其學(xué)業(yè)負(fù)擔(dān)較重,用計(jì)算機(jī)來(lái)分析、解決問題的能力幾乎為零,所以要注重循序漸進(jìn),絕不能一蹴而就。本節(jié)課在學(xué)生已有的計(jì)算機(jī)知識(shí)基礎(chǔ)上給他們講解程序設(shè)計(jì)中的算法以及簡(jiǎn)單的VB編程,以激發(fā)他們的興趣,不宜深入。有些學(xué)生將選修《算法與程序設(shè)計(jì)》,那時(shí)將繼續(xù)深入學(xué)習(xí)這方面的內(nèi)容,因此在這里只向?qū)W生簡(jiǎn)單介紹編程,讓其感受編程的魅力。
教學(xué)目標(biāo)
1.培養(yǎng)學(xué)生的信息意識(shí),從生活中的事例(病毒復(fù)制數(shù)量問題)入手,引導(dǎo)學(xué)生根據(jù)解決問題的需要,尋求恰當(dāng)?shù)姆绞教幚硇畔ⅰ?/p>
2.培養(yǎng)學(xué)生的計(jì)算思維,通過病毒復(fù)制數(shù)量問題,在分析、解決問題的過程中產(chǎn)生思維活動(dòng),形成解決問題的方案,并能遷移到與之相關(guān)的其他問題解決中。
3.通過一些疫情與編程的案例的學(xué)習(xí)(隔離的必要性),培養(yǎng)學(xué)生的數(shù)字化學(xué)習(xí)與創(chuàng)新意識(shí),助力網(wǎng)絡(luò)環(huán)境下學(xué)習(xí)能力的提高。
教學(xué)重點(diǎn)與難點(diǎn)
教學(xué)重點(diǎn):體驗(yàn)通過編程實(shí)現(xiàn)計(jì)算機(jī)加工信息的整個(gè)過程,知道利用計(jì)算機(jī)解決問題的步驟和基本思想方法,從而了解計(jì)算機(jī)信息編程加工的內(nèi)在機(jī)制。
教學(xué)難點(diǎn):對(duì)算法設(shè)計(jì)的理解及程序代碼的初步認(rèn)識(shí)。
教學(xué)策略
本節(jié)課以“病毒在第N個(gè)復(fù)制周期時(shí)的數(shù)量計(jì)算”為主線,設(shè)計(jì)了“情境導(dǎo)入→提出問題1,分析設(shè)計(jì)算法→編程實(shí)現(xiàn),調(diào)試運(yùn)行→拓展問題2、問題3,分析修改程序,調(diào)試運(yùn)行→教師小結(jié),布置作業(yè)”等環(huán)節(jié),通過新知探究,將實(shí)踐體驗(yàn)、課堂演示、合作探究等多種教法相結(jié)合,使學(xué)生掌握信息編程加工的整個(gè)過程。本節(jié)課的設(shè)計(jì)重在使學(xué)生對(duì)信息的編程加工有一個(gè)清晰系統(tǒng)的認(rèn)識(shí),學(xué)生能夠真正理解信息編程加工的全過程。
教學(xué)過程
1.情境導(dǎo)入
教師播放短視頻“程序員用計(jì)算機(jī)仿真程序告訴我們,疫情不控制將會(huì)快速傳播……”,展示小動(dòng)畫程序“建立隔離區(qū),控制人員流動(dòng)”——疫情很快會(huì)被控制,甚至被消滅。
師:同學(xué)們好,新冠病毒肆虐神州大地,為了避免疫情的蔓延,我們都在家里進(jìn)行自我隔離,疫情影響著我們的生活和學(xué)習(xí)節(jié)奏,對(duì)我們的學(xué)習(xí)和能力的培養(yǎng)提出了新的挑戰(zhàn)。從視頻中我們就能看到程序員們利用算法編寫仿真程序告訴我們疫情期間隔離與不隔離的區(qū)別,大家肯定有疑問:這些程序到底是怎么編寫出來(lái)的?
設(shè)計(jì)意圖:程序員們通過他們的專業(yè)特長(zhǎng),對(duì)信息進(jìn)行編程加工,為疫情的防控做出了貢獻(xiàn)。通過生活中的熱點(diǎn)事件,激發(fā)學(xué)生的好奇心與積極性,引出算法的概念(課件展示介紹算法,并強(qiáng)調(diào)算法在生活中的重要性)。
2.任務(wù)1:分析問題,設(shè)計(jì)算法
教師提出問題1:某病毒傳染性很強(qiáng),它可以自行復(fù)制,在活體中的復(fù)制呈現(xiàn)高速遞增趨勢(shì)。假如現(xiàn)在有x個(gè)病毒,復(fù)制能力為2,下一個(gè)復(fù)制周期將會(huì)增加2x個(gè)一模一樣的病毒。你作為實(shí)驗(yàn)分析檢驗(yàn)員,需要統(tǒng)計(jì)出在復(fù)制到第N個(gè)周期時(shí),一共有多少個(gè)病毒單體?;铙w被傳染時(shí)只有一個(gè)病毒,這算作第一個(gè)周期。
教師給學(xué)生時(shí)間思考問題。
師:N=1時(shí)有多少個(gè)病毒活體?
生:第1個(gè)周期,剛傳染,只有1個(gè)病毒活體。
師:N=2時(shí)有多少個(gè)病毒活體?
生:第2個(gè)周期,有1個(gè)病毒復(fù)制的2個(gè)活體+原來(lái)的1個(gè)病毒。
師:N=3、4、5、6……?
師生共同小結(jié),得出通項(xiàng)公式:N不等于1時(shí),S(N)=S(N-1)+S(N-1)*2。
根據(jù)小結(jié)得出算法描述、算法流程圖(課件展示類比,穿插講述流程圖中的圖形符號(hào)),引導(dǎo)學(xué)生發(fā)現(xiàn)用流程圖表示可以使算法更加直觀、準(zhǔn)確。
設(shè)計(jì)意圖:提出問題,確定要解決的問題,做出需求分析,就是要明確設(shè)計(jì)解決問題的算法,再通過本節(jié)課后續(xù)編寫程序來(lái)實(shí)現(xiàn),將解決問題的過程用計(jì)算機(jī)語(yǔ)言表述出來(lái),從而賦予計(jì)算機(jī)解決問題的能力。
3.任務(wù)2:編程實(shí)現(xiàn),調(diào)試運(yùn)行
教師課件展示介紹什么是計(jì)算機(jī)編程語(yǔ)言,指出本節(jié)課主要學(xué)習(xí)的語(yǔ)言——Visual Basic 6.0。
教師演示如何打開Visual Basic 6.0,建立標(biāo)準(zhǔn)EXE文件,用類比常用軟件的方法介紹VB 6.0的界面,消除學(xué)生對(duì)軟件的陌生感,啟發(fā)學(xué)生用已有的知識(shí)來(lái)學(xué)習(xí)新的知識(shí),介紹窗體、控件以及控件部分屬性如Command button控件(執(zhí)行命令的控件)屬性caption(名稱)。
教師演示程序后設(shè)計(jì)界面并輸入代碼,界面很簡(jiǎn)單,就是添加一個(gè)按鈕,改屬性caption為“計(jì)算”;雙擊“計(jì)算”按鈕,進(jìn)入到編輯代碼對(duì)話框,因?yàn)楸竟?jié)課主要是體驗(yàn)程序,所以通過課件展示代碼,學(xué)生只需要輸入就可以了;教師操作演示為“計(jì)算”添加代碼;代碼完成后,點(diǎn)擊“啟動(dòng)”“運(yùn)行”,如果有錯(cuò)誤,則根據(jù)提示修改代碼來(lái)解決;調(diào)試運(yùn)行成功后,要保存自己的作品,講解如何生成可執(zhí)行的EXE文件——選擇“文件”菜單中的“生成工程文件.EXE”。
學(xué)生合作學(xué)習(xí),根據(jù)演示模仿完成在程序的窗體中添加命令按鈕,錄入按鈕代碼,這部分內(nèi)容學(xué)生很陌生,所以主要是以模仿體驗(yàn)為主,讓學(xué)生分組體驗(yàn)程序的魅力。這部分是本節(jié)課的重點(diǎn),由于學(xué)生的基礎(chǔ)不一樣,采取臨桌分組體驗(yàn)、小組互助的方式,爭(zhēng)取每位學(xué)生都能有所收獲。學(xué)生完成編寫后嘗試調(diào)試運(yùn)行,在運(yùn)行過程中,遇到問題,學(xué)生可以討論、主動(dòng)思考,嘗試?yán)斫獠?duì)有錯(cuò)誤的地方進(jìn)行修改,也可以小組互助,求助教師。
教師在大部分學(xué)生都體驗(yàn)完成之后,展示一兩位學(xué)生的完成情況,然后提出問題:“大家根據(jù)代碼解決了問題,那么每一行的代碼是什么意思呢?”
教師帶領(lǐng)學(xué)生一起來(lái)觀察這些代碼(如下頁(yè)圖1),主要以理解為主。
通過對(duì)For……Next語(yǔ)句的講解,使學(xué)生認(rèn)識(shí)到用N周期病毒的復(fù)制、循環(huán)的累加計(jì)算,得出病毒數(shù)量越來(lái)越龐大,病毒的復(fù)制能力很可怕,一定要做好防護(hù)。
設(shè)計(jì)意圖:介紹計(jì)算機(jī)編程語(yǔ)言,在本過程中要強(qiáng)調(diào)編程語(yǔ)言有很多種,可以通過不同的語(yǔ)言來(lái)實(shí)現(xiàn)(避免學(xué)生建立“編程加工就是學(xué)習(xí)VB的片面觀念”),接著再選擇VB介紹并引導(dǎo)學(xué)生親身體驗(yàn)將設(shè)計(jì)的算法轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的代碼,學(xué)習(xí)掌握怎么用編程代碼來(lái)將算法程序化,理解計(jì)算機(jī)解決問題的過程,體驗(yàn)信息編程加工的魅力。
4.任務(wù)3:拓展探究,提高創(chuàng)新
學(xué)生的層次不一,對(duì)于還未完成問題1的編程加工的學(xué)生,教師及小組給予指導(dǎo)幫助;對(duì)于學(xué)有余力的小組和學(xué)生,應(yīng)創(chuàng)設(shè)挑戰(zhàn)問題,并鼓勵(lì)他們完成。
拓展問題2:某地區(qū)暴發(fā)的流感病毒在人體細(xì)胞內(nèi)一個(gè)小時(shí)可以復(fù)制出300多萬(wàn)個(gè)病毒,如何驗(yàn)證結(jié)果?(15分鐘一個(gè)周期,一周期復(fù)制150個(gè)病毒粒子)程序怎么修改?
師:任務(wù)1中的問題,病毒一個(gè)周期復(fù)制2個(gè),現(xiàn)在呢?需要修改哪個(gè)地方?
生:一個(gè)周期復(fù)制150個(gè),把a(bǔ)=S*2修改成a=S*150。
師:任務(wù)1中的問題,周期是任意的N,不固定,而現(xiàn)在呢?怎么去驗(yàn)證一個(gè)小時(shí)300多萬(wàn)個(gè)病毒活體?
生:15分鐘一個(gè)周期,一個(gè)小時(shí)就是4個(gè)周期,調(diào)試運(yùn)行,輸入4……
拓展問題3:某新型冠狀病毒在人體細(xì)胞內(nèi)一個(gè)小時(shí)可以復(fù)制出多少個(gè)病毒?(10分鐘一個(gè)周期,一周期復(fù)制20個(gè)病毒粒子)程序怎么修改?
師:由于不同病毒復(fù)制周期、病毒復(fù)制粒子可能不一樣,如何修改程序能夠使用戶可以不受程序代碼的束縛,可以輸入病毒的復(fù)制周期、復(fù)制粒子,就能得出結(jié)果呢?[提示將病毒復(fù)制粒子參照病毒的復(fù)制周期的代碼進(jìn)行修改(如圖2),這對(duì)首次接觸信息的編程加工的學(xué)生有一定的難度,所以在這里是師生一起分析并得出具體的添加部分]
學(xué)生根據(jù)提示去修改代碼,調(diào)試運(yùn)行,驗(yàn)證得出結(jié)果,提高認(rèn)識(shí),理解程序經(jīng)過修改后,會(huì)變得具有通用性,不受代碼的束縛。
教師巡視,給學(xué)生做個(gè)別指導(dǎo),適時(shí)展示學(xué)生完成的作品并解釋修改部分。
設(shè)計(jì)意圖:在大部分學(xué)生已經(jīng)理解代碼的基礎(chǔ)上,安排兩個(gè)有遞進(jìn)梯度的拓展問題,通過實(shí)踐可以引導(dǎo)學(xué)生加深對(duì)代碼的進(jìn)一步理解,還可以讓學(xué)生體驗(yàn)如何使程序具有通用性,即使不懂編程的用戶也可以直接運(yùn)行使用。當(dāng)然,這肯定需要教師從旁引導(dǎo),幫助他們分析問題、設(shè)計(jì)算法、體驗(yàn)編程并解決問題。用上述兩個(gè)拓展問題也有另一個(gè)作用,即引導(dǎo)學(xué)生認(rèn)識(shí)傳染性病毒的復(fù)制有多么可怕,一個(gè)人一旦被傳染后所攜帶的病毒數(shù)量是多么的龐大,可以對(duì)比來(lái)看(正常感冒時(shí)打一個(gè)噴嚏噴出的病菌可高達(dá)8500萬(wàn)個(gè)),引導(dǎo)學(xué)生要加強(qiáng)自身鍛煉,提高自身免疫能力,加強(qiáng)自我保護(hù)。
5.小結(jié)并布置課后作業(yè)
師:通過今天的操作,我們對(duì)信息的編程加工有了一定的體驗(yàn)和認(rèn)識(shí),請(qǐng)大家根據(jù)自己的實(shí)際操作來(lái)總結(jié)一下信息編程加工的一般過程。我們這節(jié)課主要是通過針對(duì)問題1進(jìn)行分析,得出解決問題的通項(xiàng)公式,然后確立算法,編寫與調(diào)試程序,最后解決問題。這是一個(gè)綜合運(yùn)用知識(shí)的過程,需要我們認(rèn)真細(xì)致地去體驗(yàn)完成,這是我們本節(jié)課的重點(diǎn)。程序代碼的理解及拓展問題的解決,也需要多思考、多實(shí)踐。
教師總結(jié):今天我們初步認(rèn)識(shí)了算法和程序代碼,初步了解了信息編程加工的一般步驟,感受了利用計(jì)算機(jī)編程解決問題的獨(dú)特魅力。其實(shí),在使用計(jì)算機(jī)進(jìn)行信息加工時(shí),“編程加工”是無(wú)處不在的,例如,我們面前的計(jì)算機(jī)的操作系統(tǒng)以及計(jì)算機(jī)里面的應(yīng)用軟件的功能都是由編程實(shí)現(xiàn)的。隨著社會(huì)的發(fā)展與進(jìn)步,目前,計(jì)算機(jī)的運(yùn)算速度已經(jīng)從最初的每秒五千次提高到了幾十萬(wàn)億次,計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言也從最初晦澀難懂的機(jī)器語(yǔ)言發(fā)展到比較接近自然語(yǔ)言的高級(jí)語(yǔ)言,人們也開始探討自動(dòng)化程序設(shè)計(jì),所有這些都極大地促進(jìn)了信息編程加工的應(yīng)用與發(fā)展。相信通過今天以及今后進(jìn)一步的學(xué)習(xí),有的同學(xué)會(huì)對(duì)信息的編程加工產(chǎn)生濃厚的興趣,并成為未來(lái)的“IT精英”,用程序編制自己的夢(mèng)想,用程序繪制繽紛的世界。
教師布置課后作業(yè)。
教學(xué)反思
本節(jié)課在教學(xué)過程中,從學(xué)生的認(rèn)知特點(diǎn)和實(shí)際能力出發(fā),從身邊事例——疫情與編程開始,引出算法,并說明算法的重要性;接著通過問題1的需求分析,分析算法,體驗(yàn)算法,進(jìn)而通過認(rèn)識(shí)代碼、體驗(yàn)代碼、理解代碼、修改代碼的循序漸進(jìn)的過程,使學(xué)生在實(shí)踐中體會(huì)信息編程加工的一般步驟。本節(jié)課的教學(xué)比較成功的地方有以下幾點(diǎn):第一,以學(xué)生為本、教師為輔,充分發(fā)揮學(xué)生的學(xué)習(xí)自主性。第二,通過學(xué)生身邊事例體驗(yàn)算法,激發(fā)了學(xué)生學(xué)習(xí)的積極性與探索性。第三,在學(xué)生熟悉了算法及程序代碼的基礎(chǔ)上,引導(dǎo)學(xué)生去解決拓展問題2、問題3,使問題難度降低,從而讓學(xué)生容易接受知識(shí)。第四,通過學(xué)生認(rèn)識(shí)代碼—體驗(yàn)代碼—理解代碼—修改代碼的過程,讓學(xué)生感覺自己好像在同計(jì)算機(jī)對(duì)話,同時(shí)也使學(xué)生感受到用編程解決問題的高效與樂趣。
點(diǎn)? 評(píng)
本節(jié)課結(jié)合當(dāng)前新冠疫情拉開序幕,全社會(huì)都在關(guān)注疫情,防治疫情擴(kuò)散是當(dāng)前最主要的任務(wù)。如果不加以控制會(huì)產(chǎn)生什么后果?擴(kuò)散情況如何?這些問題的提出快速激發(fā)了學(xué)生的興趣。本節(jié)課以“‘建立隔離區(qū),控制人員流動(dòng)——疫情很快會(huì)被控制,甚至被消滅”這一主題引發(fā)學(xué)生興趣,促發(fā)學(xué)生各種討論,推動(dòng)課程內(nèi)容一步步深入。從本質(zhì)上來(lái)看本節(jié)課是老課程向“新課改教學(xué)”轉(zhuǎn)變的一個(gè)方向,是走向項(xiàng)目教學(xué)的一個(gè)思路體現(xiàn)。
本節(jié)課以一個(gè)簡(jiǎn)單實(shí)例,讓學(xué)生從簡(jiǎn)單的病毒復(fù)制入手,去討論,去思考,形成數(shù)學(xué)思維流程,解決問題,形成基本構(gòu)架。通過數(shù)學(xué)模型進(jìn)一步形成問題流程圖,再到形成正確算法,有利于學(xué)生思維建構(gòu),形成高階思維,引發(fā)學(xué)生進(jìn)一步討論如何去實(shí)現(xiàn)這個(gè)算法。算法是程序設(shè)計(jì)的基石,是正確編程的第一步,通過算法逐步引出本節(jié)課的編程語(yǔ)言VB,以案例為導(dǎo)向,讓學(xué)生掌握VB基礎(chǔ)知識(shí)與命令,讓數(shù)學(xué)模型支撐算法,流程圖與編程思路形成合力,最終由VB語(yǔ)言形成本案例,讓學(xué)生充分體驗(yàn)程序設(shè)計(jì)帶來(lái)的“大思維”,并對(duì)其產(chǎn)生深厚的興趣。疫情防控是全社會(huì)的一件大事,如果不加以控制會(huì)產(chǎn)生嚴(yán)重的后果(如某地區(qū)暴發(fā)的流感病毒在人體細(xì)胞內(nèi)一個(gè)小時(shí)可以復(fù)制出300多萬(wàn)個(gè)病毒),學(xué)生的思維因此再次被激發(fā),引發(fā)再探究、再實(shí)踐,讓學(xué)生自我梳理思路、形成算法,通過小組討論是否合理,形成最佳算法。學(xué)生在嘗試中遇到程序出錯(cuò),引出更多的討論,經(jīng)歷分析問題—算法設(shè)計(jì)—編寫代碼—測(cè)試—排錯(cuò)的基本流程,加深了對(duì)程序設(shè)計(jì)思想的理解,進(jìn)一步培養(yǎng)了計(jì)算思維。
本節(jié)課充分發(fā)揮了學(xué)生的主體性,體現(xiàn)了學(xué)科核心素養(yǎng),讓高階思維真正發(fā)生。江蘇省將于2020年下半年步入新課改,新課程的開展需要我們信息技術(shù)教師進(jìn)一步學(xué)習(xí)并做好相關(guān)的準(zhǔn)備工作。新課改思維的引入、項(xiàng)目教學(xué)的融入,需要我們信息技術(shù)教師進(jìn)一步去探索、去實(shí)踐,在教學(xué)過程中需要教師更為專業(yè)的編程能力及教學(xué)方法,從而實(shí)現(xiàn)立德樹人的育人目標(biāo)。
(點(diǎn)評(píng)人:江蘇省蘇州市吳江區(qū)教育局教研室信息技術(shù)教研員 顧建榮)