王芳

摘 要:從綱要出發,通過具體的教學實例闡述如何優化教學方法,引導學生在程序設計變式練習中領會具有廣泛遷移意義的知識,培養學生多樣思維。
關鍵詞:程序設計教學方法;多樣思維;一題多解
在程序設計教學中對認知結構的整體建構要始終放在教學的首要地位,程序設計模塊不是孤立的,知識的習得不僅依賴于原有的信息技術知識,而且依賴于其他方面的知識與經驗,它們共同構成學習“程序設計”的知識與能力準備。
一、一題多解,明白算法的多樣性
在數學學習中,通常要求一個問題使用多種解法,這是鍛煉數學思維、衡量數學能力和素質的一個重要標志。同樣在程序教學中,這種方法也可以促成學生對程序設計的深刻理解,同時對于培養學生的創新思維、效率思維、計算思維等都大有裨益。一題多解可以培養學生從不同角度、不同側面去分析問題和解決問題,不僅可以激發學生的學習興趣、拓寬解題思路,還可以豐富教學內容,同時也使授課變得生動、有趣。這類題目以啟發式為主,學生在輕松的學習氛圍中培養自己的多種思維能力。
二、范例拓展法,推進思維的寬度
范例拓展法的顯著表現是教師的教和學生的學,都是圍繞實例來完成,使學生通過積極主動地運用學習資源,進行自主探索和互相協作學習,在完成教師教的實例同時,遷移算法完成拓展實例。它有利于培養學生的自主學習能力和獨立分析問題、解決問題的能力,它尤其適合程序設計教學。
例如:求1+2+3+4+5+…+99的和,并打印。
拓展:求S=1+(1+2)+(1+2+3)+…+(1+2+3+…+20)的值。(求和的拓展)
拓展:費波拉契數列,第三項是前二項之和,1、1、2、3、5、…,打印前30項。(求和的拓展)
拓展:求1×2×3×4×5…×9的乘積(通過求和拓展到求積)
拓展:求S=1×2+3×4+5×6+…+99×100的值。(求和、求乘積的組合拓展)
范例拓展法在程序設計課程的教學過程中發揮著越來越重要的作用,一方面,教師通過舉例把知識點講解得更清楚,還可以進一步延伸新的實例,對后續的課程講解做好鋪墊,打好基礎;另一方面,學生在范例的驅動下思考和學習,能夠幫助他們理解所學知識的邏輯關系和整體結構。
三、問題逐層遞進,推進思維的深度
學生有兩個發展水平,一是現有發展水平,另一個是最近發展區。最近發展區是指學生僅靠自己的獨立活動不能解決的問題,但經教師啟發、幫助可以達到的發展水平。不同思維層次之間是相互關聯的,前一層次的學習是后一層次的基礎,后一層次的學習是前一層次的發展,所以教師預設的教學過程要關注學生思維的遞進關系,程序設計中的問題要有層次性,既要適合學生現有的思維水平,又要考慮為下一個思維階段的發展奠定基礎。
例如:從交換兩個變量的值到求最大數再到數值的排序。
1.理解交換兩個變量值的含義
SWAP(A,B)
2.求10個數中的最大數。模擬查找的過程,假設將第一個數設為最大數,每次用第一個數與后面的數比較,若小于后面的數則交換兩個數,否則不交換,重復,一直到與最后一個數比較完為止。
MAX=A(1)
RORJ=2 TO 10