劉輝玲 葉鋒
(1武漢船舶職業技術學院電子系,湖北武漢430051;2江漢大學數學與計算機學院,湖北武漢430056)
Java因其平臺無關性、安全機制、高可靠性、多線程和內嵌網絡支持等特性而成為目前最流行的編程語言之一?!禞ava程序設計》已成為計算機專業教學體系中的一門重要的課程。
在Java教學的過程中,很多Java課教師都會碰到這樣一些問題。第一,Java知識點太多、涉及面太廣,而課時量卻相對較少。第二、對于教材上如對象、繼承、多態和線程等概念,學生能很熟練背誦,卻不能理解。第三、很多學生學完這門課程以后,僅有零散的各知識點,不能把所學知識點付諸實踐應用。因此,如何較合理組織Java教學,使學生熟練掌握Java的基本語法,增強實踐動手能力,更全面地提高Java語言的程序設計能力,是每個Java教師應該思考的問題。
經過幾年的Java教學探索和總結,筆者認為在教學過程中,采用任務驅動、項目教學方式,注重實踐教學,可收到較好的教學效果。
任務驅動教學模式是教師把教學內容設計成一個或多個具體的任務,采取演示或講解等方式,給出完成任務的思路、方法、操作及結果,然后引導學生完成一個個具體的任務并掌握教學內容,達到教學目標。它是一種以學生主動學習,教師加以引導的教學方法,是“教—學—做”一體化的教學模式[1][2][3]。任務驅動教學模式有別于傳統的教學模式。傳統教學模式建立在行為主義學習理論基礎之上,強調“刺激——反應”,而任務驅動教學建立在“建構主義”教學理論上[4]。
《Java程序設計》的教學目的是要求學生熟練掌握Java的語法,運用Java語言開發應用程序的能力。其教學內容涉及Java運行環境、Java基本語法、面向對象的概念、圖形界面、多線程、網絡和數據庫編程等。如果采用傳統的教學模式,學生普遍反映課程內容概念多、抽象而難以理解。
采用任務驅動教學模式進行教學,教師教學和學生學習都圍繞如何完成任務而展開。教師教學思路清晰,學生學習目的明確。在學習過程中,學生不再是被動地接受,而是主動思考如何能將老師講解的內容應用到相關任務中,有助于學生由被動學習轉換為主動學習。在問題的解決過程中,不但能提高學生解決問題的能力,而且能夠培養他們互相協作的能力,培養良好的編程素質。
“任務驅動法”符合Java程序設計課程教學的層次性和實用性,符合由表及里逐層深入的學習途徑,符合探究式教學模式,便于學生循序漸進地學習Java程序設計的知識和技能。在《Java程序設計》課程教學中采用“任務驅動式”教學方法有利于構建教學情景,營造寬松的學習環境,激發學生的學習興趣;有利于學生自主學習,獲得再學習的能力;有利于充分調動學生的學習主動性;有利于學生創新能力創新意識的培養。
任務驅動教學模式的實現可分為提出任務、分析任務、完成任務和總結規律四個步驟[5]。
首先,教師根據教學進度和相關知識點提出任務。教師按課程內容劃分為工作任務單元,確定其能力目標和知識目標,對每個單元設計要精心設計單項能力的訓練任務。這是一個關鍵步驟,因為任務的好壞決定了教學的進展和效果。
教師在提出任務時,需注意以下幾點原則:(一)所提出的任務要圍繞教學知識點展開。(二)所提出的任務難度要適中。如果任務完全超出了學生的能力范圍或者過于復雜,很有可能導致學生望而卻步,對任務失去信心,使教學失敗。(三)所提出的任務要貼近現實生活,來源于學生所熟悉的事物。這樣可引起學生的濃厚興趣和學習熱情,有利于教學的開展。
筆者在Java教學過程中,根據上述原則設計了相應的任務。例如:在講授類和對象的概念時,設計了一個圖形計算任務。該任務要求學生通過設置不同屬性和方法來描述不同的幾何圖形并計算其面積和體積。在講述網絡編程時,設計了一個在線簡易聊天室的任務。該任務要求學生使用控件設計界面,并能夠及時地接收和發送消息。這些任務既覆蓋了教學知識點,又是學生熟悉的例子,把所學知識與實際應用緊密聯系,可激發學生的興趣,從而增強學習的效果。
其次,教師在提出任務之后,要積極引導學生對任務進行分析,得出完成任務的思路、方法和實現步驟。分析任務是任務驅動教學模式的中心環節。分析任務時,需注意以下幾點原則:(一)分析任務時,要從學生的知識背景、結構和思維角度出發。(二)分析過程要互動,要引導學生積極參與。(三)分析任務時,不能脫離教學知識點,要體現出教學知識點在任務中的應用。分析任務這個環節不僅僅是針對于具體的任務,更重要的是培養學生的分析問題的能力。
筆者分析在線簡易聊天室時,首先讓學生查看了常見的聊天工具,明確了發送消息和接收消息是其基本功能;接著向學生講解了Socket編程的基本原理;然后引導學生以面向對象思想分析了整個任務,抽象出相關類;最后講解了實現任務時需要注意的事項。
第三,學生完成任務,邊學邊做。完成任務也是一個非常重要的環節,是對前面的兩個環節的一個檢驗。在完成任務的過程中,學生能夠及時地發現實際應用中會遇到的各種問題,通過教師的指導、學生之間的交流或查閱相關資料予以解決。這樣,不但能提高學生解決問題的能力,而且能夠培養他們互相協作的能力。
最后,總結規律。總結可以從下面三個方面進行:(一)學生對完成的任務進行自我評價。(二)教師對學生的完成任務予以評價,分析其得失。(三)教師總結這一類問題的規律,將實踐與理論結合,使學生對問題的認識達到一個新的高度。
《Java程序設計》是一門實踐性很強的課程,實踐教學是其必不可少的組成部分。通過實踐教學,增強學生動手能力,達到全面提高學生運用Java開發應用程序的能力,也是Java教學目的所在。
受實踐教學的學時限制,筆者將實踐教學過程分為兩個部分。第一部分是與課堂教學相對應的知識點實踐;第二部分是項目實踐。第二部分是第一部分的綜合運用和提高。
對于知識點實踐而言,主要以課堂教學內容為基礎,在教師提供必要的參考資料、實踐工具和實驗方法后,學生查閱參考資料,參照課堂教學已經講授過的類似任務,分析、設計出合乎目標要求的程序,最終達到鞏固學生的知識點、提高學生動手能力的目的。
所謂項目實踐是從企業真實項目中抽取出一部分作為子項目或模擬項目,模擬企業工作模式和工作流程的軟件項目開發過程。對于項目實踐而言,首先,教學內容要以應用能力培養為特色,要突出技術實用性,體現項目先進性,使學生在學習過程中提高實踐編程能力;其次,所選取的項目要盡可能具備可擴展的空間,使學生能夠在項目的逐步擴展過程中學習相關知識,掌握相關技能;第三,與企業項目開發相結合的教學策略,讓學生了解企業工作模式和工作流程的軟件項目開發流程,培養其實際項目開發經驗。
在項目實踐中,首先,教師根據學生的興趣確定若干項目組,每組3-5位學生為宜。其次,每個項目組針對相應項目開發目標,分析并制定開發計劃,按照開發計劃完成項目的開發。整個開發過程中,以學生自主開發為主,教師進行答疑、監控開發過程以及對共性問題進行總結與歸納。最后,教師對學生完成的項目進行驗收與評價。
在2009年的教學過程中,筆者對所教學的兩個班級進行了跟蹤比較。其中一個班級采用傳統的模式,另外一個班級采用任務驅動、項目教學的模式。通過對學生上課情況的觀察以及學習成績的反饋,發現采用任務驅動、項目教學模式的班級中學生的學習興趣有明顯提高,學習能力和成績普遍比采用傳統教學模式的班級有較大提高,該班學生不僅積極完成課內任務,同時也開始主動自學,共同討論和研究一些知識點,學習氣氛濃厚。實踐證明,這些改革措施不僅可以幫助學生對Java編程基礎知識全面學習,同時也能鍛煉其實際動手能力,激發其學習興趣,提高了教學質量。
1 史寶會.“任務驅動”教學法的幾點體會[J].信息教育技術,2005(1):223-240.
2 袁安翠,王公強.Java語言程序設計教學過程探析[J].中國科教創新導刊,2008(32):76.
3 劉新橋,劉長生,藍桂芳.JAVA程序設計課程教學改革的探索與實踐[J].長沙航空職業技術學院學報,2009(2):11-14.
4 劉鳳艷.建構主義論— —教學改革的理論基礎[J].牡丹江師范學院學報(哲學社會科學版),2000(6):83-85.
5 吳愚.任務驅動法在JAVA程序設計課程中的應用[J].電腦知識與技術,2008(5):905-906.