閻江平
[摘要]程序設計類課程在職業學校計算機類專業教學中一直是一個難點,針對學生對程序“聽得懂、編不出”的現象,分析其成因,從教學的目標定位,教學方法改革出發進行探索,提出 “螺旋式”教學法?!奥菪健苯虒W法的設計原理是:既有重復的可訓練的任務,又可以改變條件或結果,成為新的難度遞增的任務,其特點是:知識的學習和能力的提高是螺旋式上升的。
[關鍵詞]程序設計 教學方法 “螺旋式”教學法
一、研究背景
程序設計是“從問題到程序”的思維和實現過程,既要求掌握嚴格的科學方法,又要求謹慎靈活的呈現能力。若要很好地完成程序設計任務,編程者不但需要充分發揮聰明才智,還要有細致認真、一絲不茍的工作態度。這些特性要求學習者必須具備較高的智商和情商。而如今的職業學校學生,因為不會學而學不好,因為學不好而不想學,。而傳統的教學模式,最終會導致學生對課程產生厭倦,這種情緒不利于學生學習興趣的培養以及學生思維能力、創新能力、獨立分析問題和解決問題能力的提高。
如何讓職業學校計算機專業的學生走出程序設計課程的困境,我們設計了一種新的教學方法:“螺旋式”教學法。
二、研究價值
目前對五年制大專生的教學方法討論很多,且大多為基于項目式教學法,案例教學法等,并且相關教材與資料卻沒有跟上,尤其對應五年制大專生的程序設計語言課程方面的教法改革更是基本空白。程序設計語言又是計算機行業深化應用的根本,目前針對本科院校學生的教學模式、教學方法的研究很多,但大多不適合職校生,故急需相對職校生程序設計類課程學習的教學方法研究、改革。本是在項目式教學的基礎上進一步深化,針對職校生的學習特點及程序設計語言課程特點,通過“螺”式教學幫助學生掌握知識,通過“旋”式教學鞏固知識的理解并能自主應用,從而達到學生對程序設計語言能學以致用的境界。
中國(尤其是無錫)目前的軟件外包產業的發展方興未艾,對軟件人才的需求缺口相當大,其中有高級的軟件規劃、軟件設計的人才,更有很大一部分人才需求是代碼的實現人員,而這一層次正是五年制大專生所能適應的層次,但目前五年制大專生的水平較難達到社會的實際要求。社會有人才需求的缺口,學生有就業的困難,如何解決這個矛盾,勢必需要提高學生的軟件代碼編寫能力,而提高學生這一能力的最有效的途徑則是學生對軟件課程的學習過程。
三、程序設計課程教學現狀分析
目前多數五年制大專學校在程序設計課程教學方法方面存在較多缺陷,究其原因:
1.雖然學校引入了項目教學,但項目更趨向于任務。
2.對學生學習后的知識鞏固階段重視不夠,一般對前期教中復,識的擴展;
3.傳統教學方法不能夠完全激發學生的興趣,沒有激發學生學習的自主性。
為此,為五年制大專學校學生尋求一個好的軟件課程的學習方法,勢必會對五年制大專生就業與社會對軟件人才的需求這一矛盾提供一個很好的解決方法。
四、“螺旋式”教學法的主要思想
“螺旋式”教學法將要學習的知識點設計成為一個特殊的微型項目,這個微型項目包含若干個可以用相同方案解決但又不同的問題,老師示范第一個問題的解決方案,并在解決過程中分析解決問題需要些什么知識,傳授要學習的知識點,編程解決問題。程序設計類課程的特點決定了在學習過程中模仿的重要性,學生在了解并觀察了老師的解決方案后,模仿老師的解決方案編程解決該項目中其他相似的問題。在模仿過程中,老師給予相應的指導,加強學生對知識點的理解和運用,同時充分調動學生的主觀能動性,強調訓練學生自己解決問題的能力,這個能力的轉移過程稱之為“螺”,即在重復解決相似性問題過程中鍛練學生基本問題的解決能力,特別適合五年制大專學校學生綜合素質較低的現狀。
在“螺”的過程完成后,學生已基本掌握要學習的知識點。此時,老師對這個微型項目做出適當的改變,比如改變部分條件,或改變要實現的結果,在進行適當的提示之后,要求學生參考之前模仿完成的程序,根據條件的改變,編程解決這個問題。這個過程稱之為“旋”,即在“螺”的基礎之上,對同一問題做出適當改變,提高解決問題的難度,學生運用在“螺”的階段學習的知識,解決已經發生變化的問題,實現能力的提升。
在這樣一個個微型項目的實現過程中,學生的應用能力“螺旋式”式上升,最終能獨立解決問題。
“螺旋式”教學法的一個關鍵問題是要根據教學內容,設計出適合的微型項目,在微型項目中體現出“螺旋式”教學法的理念:既有重復的可訓練的任務,又可以改變條件或結果,成為新的難度遞增的任務。
五、在程序設計課程類中的應用及特點
教學過程:“基本示范(螺)”-“相似性模仿(螺)”-“ 相似性模仿(螺)”-“差異性模仿(旋)”- “差異性的相似性模仿(螺)”……。
典型案例分析:
設計項目:用順序比較法編寫程序從鍵盤輸入任意自然數如:7、36、5、3、89、21、76、……。使其按從小到大(或從大到?。┑捻樞蚺帕?。
任務目標:完成任意自然數的排序。
教學過程:
老師首先指導學生完成基本的比較大小的過程,教學重點在比較的兩個數的交換過程,即if(a>b) {t=a;a=b;b=t;},接著進一步分析下一步與誰比較?曰:順序比較,比較完成一趟即排好一個數。老師分析要解決的問題,總結出需要用到的兩個主要知識點:1.兩兩比較后交換;2.一趟完成一個數的排序。
老師解決方案完成示范后,要求學生模仿老師的編程方法,完成任意三個數的排遣序。學生經過“一螺”、 “二螺”、后,應該對這兩個知識點和此類問題的解決方法有了非常清楚的認識,且能充分發揮學生的主觀能動性,
學生基本能力具備后,在老師指點下完成和老師演示問題類似但又有差異的任務。比如老師現在改變微型項目的要求:冒泡排序法。這個過程就是“旋”,是能力提升的鍛煉過程。
通過實踐可以看出教學特點表現在:
1.教學方法在宏觀課程上采用微項目拓展,微觀課堂上采用微項目遞進,使學生的能力逐步提高。
2.淡化理論教學與實踐教學的界限,以項目為主線,逐步提高學生自主式探究的學習能力,為今后分析問題、解決問題打下堅實基礎。
六、結論
“螺旋式”教學法有效地將理論教學與實踐教學有機地結合起來,使學生通過“螺旋式”的微項目編程,掌握了編程知識,培養了編程的實踐能力及分析問題、解決問題的能力,充分發揮了學生的創造潛能,引領來越多的初學者走入程序設計的殿堂。
[參考文獻]
[1]何林錦;翟云波;李彩亭;路培;項目式實驗教學模式及其可行性評價方法[J],實驗室研究與探索,2010年02期
[2]戈素貞;教學設計研究與教學方法探討[J],紹興文理學院學報,2007年03期
(作者單位:江蘇省無錫立信中等專業學校)