摘 要:目前,我國(guó)中小學(xué)信息技術(shù)課堂教學(xué)是在不同的探索中,筆者就“用窮舉法解決問題”在課堂教學(xué)中的設(shè)計(jì)進(jìn)行了探討。我在教學(xué)中采用了以學(xué)生的學(xué)習(xí)和發(fā)展為中心,基于建構(gòu)主義理論的任務(wù)驅(qū)動(dòng)、情境教學(xué)、游戲教學(xué)等教學(xué)方法,突出自主、合作、探究等學(xué)習(xí)方法;強(qiáng)調(diào)信息技術(shù)與生活實(shí)際的聯(lián)系,培養(yǎng)學(xué)生的邏輯思維能力、解決問題的能力以及創(chuàng)新意識(shí)等;設(shè)置多元化的評(píng)價(jià)方式,讓學(xué)生掌握學(xué)習(xí)內(nèi)容的同時(shí),形成交流與評(píng)價(jià)的能力。
關(guān)鍵詞:情境教學(xué) 窮舉法 多元化評(píng)價(jià)
高中信息技術(shù)選修課《算法與程序設(shè)計(jì)》部分,對(duì)于我們學(xué)校的學(xué)生來說,是一個(gè)十分難學(xué)的部分,既要學(xué)生學(xué)習(xí)基本的程序結(jié)構(gòu),又需要在基本的程序結(jié)構(gòu)的基礎(chǔ)上運(yùn)用算法解決實(shí)際問題,學(xué)生普遍感到很難學(xué),對(duì)程序設(shè)計(jì)這門課提不起興趣。為了激發(fā)學(xué)生的學(xué)習(xí)熱情,我盡可能地將現(xiàn)實(shí)生活的情景帶入課堂教學(xué)中,而“窮舉法”能解決實(shí)際生活中好多問題,學(xué)生通過與生活中的實(shí)際例子相結(jié)合,認(rèn)識(shí)到算法在實(shí)際生活中的用途,加強(qiáng)了學(xué)生對(duì)《算法與程序設(shè)計(jì)》這門功課的興趣。
一、學(xué)情分析
學(xué)生在本節(jié)課前學(xué)習(xí)高中信息技術(shù)新課程的《算法與程序設(shè)計(jì)》模塊已經(jīng)有一段時(shí)間了,學(xué)生對(duì)算法和程序設(shè)計(jì)有了一定的認(rèn)識(shí),他們已經(jīng)具備了一定的邏輯思維、分析問題、表達(dá)思想等能力,為本節(jié)內(nèi)容的學(xué)習(xí)提供了良好的基礎(chǔ),但是在面對(duì)實(shí)際問題時(shí)如何設(shè)計(jì)算法并且用程序?qū)崿F(xiàn)算法來解決問題上,尤其是對(duì)于無法用解析法解決或者是用解析法解決比較困難的問題如何設(shè)計(jì)算法還是沒有什么思路。
“百錢買百雞”問題的數(shù)學(xué)模型是解不定方程,學(xué)生在初中的數(shù)學(xué)課上學(xué)過。本次課在原有知識(shí)的基礎(chǔ)上,通過對(duì)實(shí)際問題的分析找到合適的數(shù)學(xué)模型,使學(xué)生基本理解和掌握窮舉法解題的思路。
二、教材分析
窮舉法是算法中比較常見,日常運(yùn)用很多的一種,在課本和江蘇會(huì)考考試中都作為一個(gè)重要的部分出現(xiàn)。經(jīng)典問題有雞兔同籠、百雞百錢等。課本在介紹窮舉法時(shí)用的例子是一個(gè)相對(duì)復(fù)雜的演講比賽分組的問題,我感覺這樣的一個(gè)引入部分不適合我們的學(xué)生,一是學(xué)生不是很感興趣,二是比較復(fù)雜,不利于剛剛接觸用計(jì)算機(jī)解題的學(xué)生,所以我在實(shí)際教學(xué)中選取一個(gè)破解密碼的例子引入,以編寫程序破解密碼作為本次教學(xué)的主題,這樣既能提高學(xué)生學(xué)習(xí)的興趣,又能使學(xué)生容易掌握知識(shí),還可以培養(yǎng)學(xué)生通過建立數(shù)學(xué)模型和設(shè)計(jì)程序解決實(shí)際問題的習(xí)慣。
三、教學(xué)策略
教學(xué)理念與方法:以培養(yǎng)學(xué)生的信息素養(yǎng)為前提,遵循“學(xué)生是學(xué)習(xí)的主體,教師是學(xué)習(xí)的指導(dǎo)者”的新課程教學(xué)理念,根據(jù)本節(jié)課中各個(gè)知識(shí)點(diǎn)的聯(lián)系,采用了“主題任務(wù)”的教學(xué)模式,通過任務(wù)驅(qū)動(dòng)法,利用多媒體教學(xué)系統(tǒng)和自制的PowerPoint課件,使學(xué)生在任務(wù)中學(xué)習(xí),在實(shí)踐中探究,在探究中總結(jié)歸納知識(shí)和方法,加強(qiáng)知識(shí)的實(shí)際應(yīng)用。
四、教學(xué)目標(biāo)
1.知識(shí)與技能
(1)了解非解析法解題的基本思路。
(2)理解和掌握窮舉法解題的思路。
2.過程與方法
經(jīng)歷分析問題、建立數(shù)學(xué)模型、編寫和調(diào)試程序,得到最終結(jié)果的過程,理解和掌握用窮舉法解題的基本思路與過程。
3.情感態(tài)度與價(jià)值觀
(1)通過小組討論與探究活動(dòng),提高團(tuán)隊(duì)合作能力,促進(jìn)探究的熱情。
(2)通過結(jié)合學(xué)習(xí)生活的實(shí)際例子,進(jìn)一步提高利用信息技術(shù)解決學(xué)習(xí)、生活問題的能力。
五、教學(xué)重點(diǎn)與難點(diǎn)分析
1.教學(xué)重點(diǎn)
(1)建立正確的數(shù)學(xué)模型,確定窮舉方案。
(2)根據(jù)命題確定變量的取值范圍。
(3)正確表達(dá)“符合條件”的判斷。
2.教學(xué)難點(diǎn)
(1)恰當(dāng)安排窮舉的方式,使得算法的效率更高。
(2)如何評(píng)價(jià)各種窮舉策略的優(yōu)劣。
六、教具準(zhǔn)備
多媒體網(wǎng)絡(luò)教室、教學(xué)視頻素材、密碼破解演示程序、PowerPoint教學(xué)課件
七、教學(xué)過程
1.情境導(dǎo)入(5分鐘)
通過多媒體教學(xué)網(wǎng)絡(luò)播放一段視頻剪輯片段:前一斷時(shí)間上映的一部電影《達(dá)芬奇的密碼》,里面的密碼破譯專家千方百計(jì)破解密碼。
教師講解:在電影里,我們經(jīng)常看到這樣的鏡頭,這似乎距離我們很遙遠(yuǎn)。然而現(xiàn)實(shí)生活中,我們是否遇到這樣的事情?
提問:自己的密碼(比如QQ密碼等)被別人盜過嗎?
2.講授新知(12分鐘)
任務(wù)設(shè)置一: 給學(xué)生一個(gè)密碼破解程序(2位自然數(shù)密碼),讓學(xué)生體會(huì)一下,如果你是黑客,你如何破解別人的密碼。由于時(shí)間關(guān)系,教師可以提示密碼的大概范圍。利用教學(xué)網(wǎng)絡(luò)發(fā)送“2位自然數(shù)密碼破解程序”。
請(qǐng)破解出的學(xué)生介紹經(jīng)驗(yàn)(也就是一個(gè)一個(gè)去嘗試)。
這種在一定集合范圍內(nèi),通過循環(huán)不遺漏也不重復(fù)地列舉出該問題所有可能的解,并在列舉過程中檢驗(yàn)每個(gè)可能的解,這種算法稱為窮舉法。
教師提問:如果密碼為5位數(shù),我們還能用剛才的方法去破解嗎?
教師引導(dǎo)學(xué)生進(jìn)一步討論:當(dāng)密碼位數(shù)為1時(shí),密碼可能的范圍為0~9,密碼可能個(gè)數(shù)為10,真正的密碼個(gè)數(shù)只有1個(gè);如果密碼為5位數(shù),密碼可能的范圍為00000~99999,密碼可能個(gè)數(shù)為105,而真正的密碼只有1個(gè)。假設(shè)每試一個(gè)密碼的時(shí)間為1秒,真正的密碼正好是99999。如果人工去試,從第一個(gè)密碼00000開始試,到找出真正的密碼所需要的時(shí)間為105秒,大約需要1天多的時(shí)間。由于計(jì)算機(jī)的運(yùn)算速度非常快,如果讓計(jì)算機(jī)完成這個(gè)工作,很快就能完成,只需要幾秒鐘。
學(xué)生在教師機(jī)上,嘗試破解5位自然數(shù)密碼。
3.發(fā)掘規(guī)律(3分鐘)
(1)通過演示文稿介紹用窮舉算法解決問題,通常可以從兩個(gè)方面進(jìn)行分析:①確定范圍:問題所涉及的情況有哪些,情況的種數(shù)可不可以確定。②驗(yàn)證條件:分析出來的這些情況,需要滿足什么條件,才成為問題的答案。
(2)歸納總結(jié)窮舉法的基本思路及窮舉策略。
4.任務(wù)引領(lǐng)、小組探究(13分鐘)
布置探究任務(wù)二:講述神童張邱建巧妙解決“百錢買百雞”問題的故事,課本《算法與程序設(shè)計(jì)》(教育科學(xué)出版社)49頁(yè),并讓學(xué)生討論如果自己是張邱建將如何解題。
(1)布置每位同學(xué)先獨(dú)立解決問題,然后全體學(xué)生以四人為一組,進(jìn)行協(xié)作探究。
(2)巡視學(xué)生學(xué)習(xí)情況,指導(dǎo)和幫助學(xué)生自主、協(xié)作學(xué)習(xí)。
(3)調(diào)控課堂氣氛。
(4)參與到小組學(xué)習(xí)中,與學(xué)生一起探討。任務(wù)設(shè)置三:剛才我們探討的是兩個(gè)生活中的問題,下面我們來看一個(gè)數(shù)學(xué)問題,找出所有的“水仙花數(shù)”。什么是水仙花數(shù)呢?所謂“水仙花數(shù)”是指一個(gè)三位正整數(shù),其各位數(shù)字立方和等于該數(shù)本身。
5.交流評(píng)價(jià)(7分鐘)
(1)引導(dǎo)全體學(xué)生開展組間互評(píng)。
(2)根據(jù)完成任務(wù)的實(shí)際情況,選擇有代表性的兩三名學(xué)生上臺(tái)展示作品并自評(píng)。
(3)對(duì)學(xué)生作品中的閃光點(diǎn)和有待改進(jìn)的地方進(jìn)行點(diǎn)評(píng)。
6.歸納總結(jié)、布置練習(xí)(5分鐘)
(1)通過演示文稿總結(jié)本節(jié)知識(shí)內(nèi)容。
(2)歸納同學(xué)們?cè)诮鉀Q問題過程中所遇到的難題。
(3)略述窮舉法的局限性。
(4)布置課外作業(yè)。
窮舉法是非解析法解題的基本方法,但是很多問題的規(guī)模很大、窮舉法雖然在理論上可以找到解,但是需要的運(yùn)算時(shí)間太長(zhǎng)(以深藍(lán)的棋譜數(shù)據(jù)為例)。所以要研究如何縮小窮舉的規(guī)模。查看有關(guān)國(guó)際象棋程序發(fā)展的網(wǎng)頁(yè)以及其他有關(guān)網(wǎng)頁(yè)、理解優(yōu)化算法的必要性。
八、教學(xué)反思
由電影視頻設(shè)置情景,破解密碼的小游戲開頭,學(xué)生立即投入進(jìn)來,迅速接受窮舉法的概念和要點(diǎn)。布置任務(wù):“水仙花”和“百錢買百雞”問題,學(xué)生掌握的都較好。但是也有一定的問題,由于學(xué)生的兩極分化比較明顯,我?guī)У陌嗉?jí)既有理科的實(shí)驗(yàn)班,又有學(xué)政史的平衡班,學(xué)政史平衡班的學(xué)生感覺拿到題目,盡管已經(jīng)知道算法思想,依然無法下手。怎樣將這些班的學(xué)生也能在課堂上編出一段程序來,也就是,怎樣將題目設(shè)置的階梯性更強(qiáng)些,基礎(chǔ)題再基礎(chǔ)些,這需要在以后備課時(shí)多加注意。
參考文獻(xiàn):
肖川.《新課程與學(xué)習(xí)方式變革》.
作者單位:江蘇省新沂市第一中學(xué)