卜囡
摘 要:《算法描述與設計》是高中一年級數學里面的課程,這門課程是高中學習中的重點和難點。筆者根據教學目標,對學情、教材進行了分析,然后對這個模塊的教學進行了設計,最后根據教學效果展開了評析。
關鍵詞:數學方法 教學難點 基本結構
中圖分類號:G632 文獻標識碼:A 文章編號:1674-2117(2014)16-0-01
1 學情分析
高一年級學生經過9年的數學課程學習,具備了一定的基于數學方法的解題能力,有了一定的算法基礎,但缺乏對算法的較系統的概念認知,對算法沒有較深入的理解。針對教材提出的教學目標,本模塊教學的難點在于:①如何使學生對有一定了解的算法學習產生興趣,為后續學習做好鋪墊;②如何讓學生進一步了解算法的多樣性,培養其思考問題的習慣,并能對算法做出簡單的評價;③如何使學生知曉本學科的基本結構及各子模塊之間的相互關系。
2 教材分析
(1)教材通過“實踐”活動,請學生回憶數學課中學過的算法,并談談自己對算法的理解。在對普通高中階段的課程進行整體規劃時,《數學3(必修)》為《算法與程序設計(選修)》模塊的先行課,但實際的教學實施過程是《算法與程序設計(選修)》在先,《數學3(必修)》在后。基于教學實際,不能從“實踐”活動引入課題,且“實踐”活動的內容也不能抓住學生的思維,引起學生進行深入思考。
(2)教材通過“算法是程序設計的靈魂”、“算法+數據結構=程序”來說明算法在計算機程序設計中的重要作用,但是對于剛剛知曉了“算法是解決問題的方法和步驟”的學生來講,并不能單單只從這些文字性的說明就能理解個中緣由。
(3)鞏固練習中所給出的“實踐”活動有:求解水仙花數、凱撒密文的加密原理、桌面小時鐘問題。水仙花數問題在程序結構上屬于循環結構,且基于學生現有的算法水平不能進行多樣化的設計,只能在算法描述方法上起到一定的鞏固作用。凱撒加密原理需要給學生補充ASCII碼的知識內容,且學生不了解“字符”數據類型的相關知識,用自然語言對“PROGRAM”字符串進行密文轉換難度太大,實踐活動的目標很難達成。桌面小時鐘程序給出的是分支結構的流程圖,程序實現時僅用了一條簡單的時鐘狀態轉換語句,且程序代碼由多個子過程組成,對于教學難點的突破沒有幫助,且易使學生在學習伊始就感受到阻力。
3 教學設計
3.1 教學目標
3.1.1 知識與技能目標:(1)理解什么是算法,體會算法的多樣性;(2)能夠對設計的算法做出簡單的評價。
3.1.2 方法與過程目標:通過了解常用的算法描述方法,讓學生學會用自然語言、流程圖來描述算法,幫助學生建立算法思維模式。
3.1.3 情感態度與價值觀目標:(1)提高學生學習興趣,提高求知欲;(2)培養學生樂于發現、積極思考的學習態度;(3)培養學生獨立思考的習慣,養成嚴謹的的思維習慣。
3.2 教學過程
3.2.1 實踐活動——為培養算法思維創設環境
活動內容:求1+2+3+……+99+100的和活動1:請嘗試用多種方法求解活動結果:高斯法、公式法、累加法、奇偶相加等活動目標:點題、引出概念——讓學生明確學習任務學習內容:算法是解決問題的方法和步驟活動2:用文字形式表述解題步驟(分組活動)活動結果:
學習內容:
(1)自然語言描述方法;(2)對自然語言描述方法的優缺點形成清晰的認知。
活動結果:流程圖描述方法直觀清晰、通俗易懂。
活動目標:
(1)熟悉流程圖的圖例符號;(2)在熟悉問題算法的情形下學習流程圖描述,用心體會流程圖描述方法的優缺點;(3)掌握用流程圖描述算法的方法。
3.2.2 小結——算法描述方法
(1)簡介“偽代碼描述方法”,引出計算機程序設計語言;(2)介紹課程體系結構,提升學生算法學習的認知水平,為學習興趣的保持提供支撐;(3)對三種常用的算法描述方法進行小結,幫助學生梳理學習內容。
3.2.3 練習——強化知識點,提升教學目標達成效果
活動內容:求解100以內的完美數,要求設計算法并繪制流程圖
活動結果:如何高效地解決問題是算法設計的核心。
活動目標:
(1)將學生的注意力由“描述方法”帶回“算法思維”,將算法思維的學習引向深入。(2)強化對流程圖圖例符號的記憶,熟練掌握用流程圖描述算法。
4 教學設計評析
4.1 小問題可以做大文章
(1)“求1+2+3+……+99+100的和”這個問題,對高一年級的學生來說再熟悉不過。剛看到題目時,很多學生就脫口說出答案“5050”,這使教學很自然地過渡到問題的求解方法,為后面引出課題做好伏筆。
(2)“用文字表述解題步驟”的活動,讓學生在學習自然語言描述方法的同時,發現這一描述方法的不足,為后續學習流程圖描述方法做好鋪墊。使用自然語言描述算法時,不能只留停在方法上,需要進一步理清解題步驟,學生被引入算法學習的第二個環節。這一環節,讓學生在了解算法多樣性的基礎上,將認知水平發展到“算法思想是否可以改進”。
(3)“發現”一個小問題可以使用多種求解方法,進而“接受”算法的概念。“發現”自然語言描述方法存在不足,進而“接受”流程圖描述方法。(4) 選取學生熟悉的小問題進行實踐活動,更利于凸顯學習內容——算法的描述與設計。以一個簡單易行的小問題為主線,使各個概念及知識點有序展開。與此同時,小問題的多種解決方案突出了算法設計的重要性,將學生的學習從了解提高到理解的層次。
4.2 強化環節有針對性,鞏固的同時做提升
學生通過實踐活動完成了算法學習的第一環節——熟悉概念,且通過算法描述方法的學習對算法思想有了一定的認識,具備了進入第二環節的學習條件。算法學習的第二環節,要使學生在鞏固之前學習的同時有所深入,將學生對算法的認識從“具有多樣性”的初級水平提升到“完美”級別,讓學生認識到“如何高效的解決問題是算法研究的核心”。
綜上所述,“求1+2+3+……+99+100的和”這一問題的設計幫助學生完成了教學重點的學習,“求解100以內的完美數”在強化學習的同時讓學生的認識水平達到了新的高度,在鞏固重點的同時有效地完成了教學難點的突破。
(徐州市王杰中學,江蘇 徐州 221004)