李永明(江蘇省無錫立信職教中心校 江蘇 無錫 214121)
程序設計課程“螺旋式”教學法探索與實踐
李永明
(江蘇省無錫立信職教中心校 江蘇 無錫 214121)
計算機程序設計類課程是職業(yè)學校計算機專業(yè)的必修課程,學習難度大,而職業(yè)學校學生的學習能力又普遍較低,這就形成了一個矛盾,傳統(tǒng)教學方法很難解決這個矛盾。針對這個矛盾設計的“螺旋式”教學法,采用微型教學項目,在模仿與層層遞進的實踐中,讓學生掌握知識,鍛煉應用能力,是一種非常有效的教學方法。
職業(yè)學校;計算機專業(yè);程序設計課程;螺旋式教學法
程序設計類課程是職業(yè)學校計算機專業(yè)和其他相關專業(yè)學生的必修課程,對鍛煉學生抽象思維能力具有不可或缺的作用。程序設計是“從問題到程序”的思維和實現過程,既要求掌握嚴格的科學方法,又要求有謹慎靈活的呈現能力。要很好地完成程序設計任務,編程者需要充分發(fā)揮聰明才智,還要有細致認真、一絲不茍的工作態(tài)度,這些特性要求學習者必須具備較高的智商和情商。而如今的職業(yè)學校學生在智商方面與普通高中學生相比有較大的差距,在態(tài)度方面缺乏刻苦學習的精神。在這種現實情況下,如何使職業(yè)學校計算機專業(yè)的學生學好程序設計課程,就成為一個值得研究的課題。
在程序設計類課程教學中,多數教師采用的是傳統(tǒng)的教學模式,即以編程語言的語法教學為主線,教師順序講授編程語言的指令及各種語法格式,再舉例說明使用方法。
在進行具體的編程和上機調試時,學生往往會出現無從下手或錯誤百出而不會修改等情況。有些學生對照著書本能做,脫離書本什么也不會。長此以往,會使學生認為程序設計課程十分深奧、可望而不可及,最終會導致學生對課程產生厭倦。即使學習完課程,學生的程序設計思路也非常狹窄,不利于學生學習興趣的培養(yǎng)及思維能力、創(chuàng)新能力、獨立分析問題和解決問題能力的提高。
近年來,部分教師開始嘗試在程序設計課程中運用項目式教學法,發(fā)揮學生的主觀能動性,鍛煉學生的動手能力。但項目式教學法對學生綜合素質提出了更高的要求,如果學生本身能力有限,項目式教學法就不能充分發(fā)揮其優(yōu)勢,反而會使學生無所適從。中職學校學生的基礎決定了項目式教學法運用于中職教學很難取得較好的效果。
程序設計類課程由于其自身的特殊性,語法規(guī)則繁多,課程內容枯燥,不容易激發(fā)學生的學習熱情,另外,語法規(guī)則難記易忘,也增加了學習難度。學習這類課程的一般方法是對需要掌握的語法規(guī)則熟悉、熟記和熟練應用。要進行程序設計,不僅需要強記語法規(guī)則,還需要轉化思維,使用程序設計的思想思考問題、解決問題。如果不能轉換思維方式,實際動手編程時將不知如何下手,學習的語法規(guī)則都將會成為紙上談兵。
學習程序設計在掌握了基本的語法規(guī)則后,解決問題的具體算法是千變萬化的,沒有一種固定模式。有的學生照搬基礎文化科目的學習方式,對教師課堂上講授的內容和教材中的例程、習題都認真對待,在考試中也能取得不錯的成績。但任何一本教材都不可能包含程序設計的全部知識,若只滿足于對教材所羅列知識的熟悉、掌握,當面對新的問題時,往往會束手無策。在學習程序設計課程,尤其是上機實驗時,要善于主動發(fā)現問題和解決問題。例如,對已經完成的某個程序,若改變初始條件,程序要作哪些調整;將程序的某條語句修改或刪除后,會產生什么后果;對某類特定問題,可否采用不同的算法予以解決,等等。也就是說,學習編程不應當是對知識簡單地重復和掌握,而應當是對知識主動地探求和積累。這樣才會逐步領會程序設計的精髓之處。
程序設計類課程本身的這些特點使得學生對程序設計類課程普遍存在認識誤區(qū),認為程序設計是一項莫測高深的技術。如果學生不準備把軟件開發(fā)作為將來謀生的手段,缺乏學習動力,遇到困難很容易知難而退。
知識的學習和能力的提高是螺旋上升的。
(一)“螺旋式”教學法的主要思想
傳統(tǒng)教學方式的教學過程是講授知識點,然后告訴學生這個知識點能干什么,能解決什么問題。
而“螺旋式”教學法是將要學習的知識點設計成一個特殊的微型項目,這個微型項目包括若干個可以用相同方案解決但又不同的問題,教師示范第一個問題的解決方案,并在解決問題過程中分析解決問題需要用到哪些知識,傳授要學習的知識點,并編程解決問題。程序設計類課程的特點決定了在學習過程中模仿的重要性。學生在了解并觀察了教師的解決方案后,可以模仿教師的解決方案編程解決該項目中其他相似的問題。在模仿過程中,教師應給予相應的指導,加強學生對知識點的理解和運用,同時充分調動學生的主觀能動性,訓練學生自己解決問題的能力。這個過程可稱之為“螺”,即在重復解決相似性問題的過程中鍛煉學生基本問題的解決能力,特別適合中職學校學生綜合素質較低的現狀。
在“螺”的過程完成后,學生已基本掌握了要學習的知識點。此時,教師可對這個微型項目做出適當的改變,比如改變部分條件,或改變要實現的結果,在進行適當的提示之后,要求學生參考之前模仿完成的程序,根據條件的改變,編程解決新的問題。這個過程可稱之為“旋”,即在“螺”的基礎之上,對同一問題做出適當改變,提高解決問題的難度,使學生運用在“螺”階段學習的知識,解決已經發(fā)生變化的問題,實現能力提升。
在這樣一個個微型項目的實現過程中,學生的應用能力會“螺旋式”上升,最終能獨立解決問題?!奥菪健苯虒W法的一個關鍵問題是要根據教學內容設計出適合的微型項目,在微型項目中體現“螺旋式”教學法的理念:既有重復的可訓練的任務,又可以改變條件或結果,成為新的難度遞增任務。
(二)“螺旋式”教學法設計案例
在 《動態(tài)網頁制作》課程中學習VBScript腳本程序設計,其中學習“動態(tài)改變網頁元素”的章節(jié)時,主要的知識點是:(1)事件:OnMouseOver;(2)文檔對象模型:InnerText。
圖1 網頁原始靜態(tài)頁面圖
圖2 鼠標指向“毛絨玩具”時網頁的變化圖
1.設計項目。喜羊羊玩具公司網站主頁上陳列了公司主要經營的四種產品:毛絨玩具、拼圖玩具、交通玩具、卡通玩偶。當用戶瀏覽主頁時,鼠標指針指向頁面左側列表中的玩具種類時,在頁面右側會顯示與玩具種類相關的圖片和說明文字。
2.任務目標。完成動態(tài)網頁設計。
3.教學過程。教師首先指導學生完成基本的靜態(tài)網頁設計,教學重點在VBS腳本程序設計,即當鼠標指針指向玩具列表時,能在頁面上動態(tài)顯示相關聯的圖片和文字說明。教師分析解決問題需要用到的兩個主要知識點:事件和文檔對象模型,然后簡要說明OnMouseOver事件和InnerText的作用、使用方法。
在知識準備完成后,教師示范解決方法,運用學習的兩個知識點編程實現:當鼠標指向“毛絨玩具”時,在頁面右側顯示“毛絨玩具”的圖片和文字說明。
教師完成解決方案示范后,要求學生模仿教師的編程方法,完成當鼠標指向“拼圖玩具”、“交通玩具”、“卡通玩偶”時,在頁面右側相應位置出現該類玩具的圖片和文字說明的任務。與教師演示的例子完全類似,相當于練習三次。這里不需要學生重復做教師已經演示過的“毛絨玩具”,這樣學生聽和做都是新鮮的內容,不易產生疲憊感。學生經過“一螺”、“二螺”、“三螺”后,應該對這兩個知識點和此類問題的解決方法有非常清楚的認識,且能充分發(fā)揮主觀能動性,強化了學生動手能力的訓練?!奥荨钡倪^程主要訓練學生的基礎應用能力,在此過程中,教師可以給予較多的指導。
學生具備了基本能力后,可在教師指點下完成與教師演示問題類似但又有所差別的任務。比如,教師可改變微型項目的要求:當用戶瀏覽主頁時,鼠標指針單擊頁面左側列表中的玩具種類,在頁面右側顯示與玩具種類相關的圖片和說明文字。注意區(qū)別:原來的要求是“鼠標指向”,現在的要求是“鼠標單擊”。要求學生在原來編程的基礎上實現這個新的要求,這時要用到一個新的事件:OnMouseClick,教師可以提示學生,但要求學生獨立完成。這個過程就是“旋”,是能力提升的鍛煉過程。
這樣的一個微型項目完成后,學生就完成了一次“螺旋”,編程能力就向上邁了一個臺階。
“螺旋式”教學法在程序設計課程教學實踐活動中經過較長時期的應用后,對比傳統(tǒng)教學方式,教學效果和教學效率都得到大幅提高,這種教學方法特別適合生源基礎較差的職業(yè)學校,也特別適合程序設計這類課程,學生很喜歡這種教學模式。實踐證明,學生如果對所學的內容產生了濃厚的興趣,就會由被動變?yōu)橹鲃?,由強迫學變?yōu)樽杂X學,注意力會變得集中和持久,觀察力會變得敏銳,想象力會變得豐富,創(chuàng)造思維會更加活躍。在教學過程中,教師可以根據教學內容,選擇優(yōu)秀的軟件、課件加以配合,激發(fā)學生的興趣,使其實現自主學習。
程序設計課程的特點決定了教師應該留給學生更多的思維空間,不需要面面俱到,包辦代替學生所要做的一切,應把更多的時間交給學生,讓學生在實踐中親身體驗創(chuàng)新和自學的樂趣,這樣更有利于拓展學生的思維,培養(yǎng)學生的創(chuàng)新能力和學習能力。
[1]何定華,朱雄軍.項目式教學法在《Delphi程序設計》教學中的實施[J].信息與電腦(理論版),2010,(2).
[2]何林錦,翟云波,李彩亭,路培.項目式實驗教學模式及其可行性評價方法[J].實驗室研究與探索,2010,(2).
[3]何克抗.建構主義的教學模式、教學方法與教學設計[J].北京師范大學學報,1997,15(5):74-81.
[4]戈素貞.教學設計研究與教學方法探討[J].紹興文理學院學報,2007,(3).
[5]楊靜,王浩,方寶富,姚宏亮.程序設計課程教學改革探討[J].吉林大學學報,2005,(S2).
G712
A
1672-5727(2011)09-0072-03
李永明(1973—),男,江蘇無錫人,碩士,江蘇省無錫立信職教中心校講師,網絡工程師,研究方向為計算機網絡技術。