摘要:在《Java程序設計》課程教學中,以激發學生學習興趣為前提,提高學生的自主學習能力為目標,引導學生積極主動參與學習,成為真正的學習主體,最終使學生將知識轉化為能力是現代高教改革的主流。那么,與該理念相適應的教學方法就顯得特別重要。將任務驅動法應用于該課程可以很好地調動學生的學習積極性,實踐表明學生的程序設計能力得到極大的提高。
關鍵詞:任務驅動法; 建構主義學習理論; 程序設計; 教學任務
中圖分類號:G424文獻標識碼:A文章編號:1009-3044(2008)05-10ppp-0c
1 引言
學好《JAVA程序設計》這門課程對于學生就業是非常重要的。而計算機知識本身在不斷地更新和變化,這對教學目標提出了更高的要求。授人 “魚”,不如授人“漁”,不但要讓學生學會知識本身,而且更重要的是培養學生學會學習[1]。傳統教學方法不能適應這樣的要求,筆者認為“任務驅動法”是一種能夠很好的適應新的教學目標的教學手段。
2 “任務驅動法”的特點
“任務驅動法”是由教師根據當前教學的知識點設計并提出“任務”,針對提出的任務,采取演示或講解等方式,給出完成任務的思路、方法、操作及結果,然后引導學生邊學邊練,完成相應的教學任務的教學方法[2]。
傳統的教學方法是建立在行為主義學習理論基礎之上,強調“刺激——反應”,沒有完全將人的學習行為和動物分開。任務驅動法是在“建構主義” [3]教學理論上發展而來的。它既能發揮教師主導作用,又能體現學生認知的主體作用,形成鮮明的“雙主模式”。其特點是改造傳統的教學活動過程,而在整個教學過程中,讓學生有更多的主動思考與探索[3]。
3 《Java程序設計》課程的特點適合采用任務驅動法
《Java程序設計》課程是一門實踐性很強,要求學生大量實驗上機操作的學科。它的教學目的更重要在于讓學生學會一門能夠在未來的工作中派得上用場的手藝,同時培養對軟件開發工作的感覺?!叭蝿镇寗臃ā狈螶ava程序設計課程教學的層次性和實用性,符合由表及里逐層深入的學習途徑,符合探究式教學模式,便于學生循序漸進地學習Java程序設計的知識和技能。在《Java程序設計》課程教學中采用“任務驅動式”教學方法有利于構建教學情景,營造寬松的學習環境,激發學生的學習興趣;有利于學生自主學習,獲得再學習的能力;有利于充分調動學生的學習主動性;有利于學生創新能力創新意識的培養。
4 “任務驅動法”的操作步驟
傳統的教學通常采用三步法,即:提出概念——解釋概念——舉例說明。而任務驅動法則采用的是四步法,即:提出任務——分析任務——完成任務——總結規律。
首先,教師要以知識點為依據,學生知識背景和實際接受能力為前提,設計出合理的任務。要求任務能夠達到:a、能夠覆蓋相關知識點;b、具有一定趣味性,學生也只會對自己感興趣的東西投入更多的學習熱情。c、方便教師講解,也能夠使學生通過適當的指導順利完成任務。如前所述,設計一個好任務是“任務驅動法”實施的前提,任務設計得是否合理,能否貼近學生生活使學生產生興趣,直接關系到后續教學過程。比如,筆者在講授Java的Applet程序設計相關章節的時候就設計了一個貪食蛇游戲的任務,該任務要求學生使用規定的控件完成輸入輸出操作和展示界面效果,覆蓋了教學大綱要求的知識點,同時該任務有較強的趣味性,能夠激發學生的學習熱情,愿意自己花時間認真去做。實踐證明該任務的設計是成功的,學生完成了該任務之后感覺對Java的Applet開發掌握較好。
然后,教師在提出任務之后,引導學生分析任務,分析出完成任務的思路、完成任務的方法以及具體操作步驟。分析任務處于整個教學的中心環節,根據具體任務的不同,可采取多媒體演示、講解、學生自己摸索等多種分析方式。如果任務比較復雜,可以將任務劃分為若干個子任務,再完成相應的子任務,達到完成任務的目的。教師應該在這一過程中處于中心,發揮主導作用。比如:在貪食蛇的任務中,筆者首先向學生講解Applet的整個生命流程,以及各個重要接口的意義和作用,然后再引導學生以面向對象的設計思路分析整個任務,提取出相關的類。剛開始學生對該任務整體把握不好,根據這一情況,筆者將任務分解為后臺數據操作任務和前臺界面展示任務兩個子任務交給兩個組的學生分析解決。經過劃分,子任務達到了學生能夠接受的程度,使得該任務順利進行。
接下來,教師就根據“教學任務”的內容,讓學生及時練習,邊學邊做。根據學生的掌握程度和教學任務的難易程度選擇多種方式讓學生靈活完成。
(1)如果任務難度較大但實際工作量較小,可以在課堂上或者實驗課中讓學生照著老師的示范一步一步完成。比如,在講解Java多線程操作的時候,筆者設計了一個要求使用多線程完成的打字練習程序(不要求界面,僅僅完成功能)。該任務工作量相對較小,但涉及到多線程操作,難度相對較大。這樣就必須教師做好示范,學生才能正確理解,并照著一步一步做下去。
(2)如果任務難度并不高但實際工作量卻相對較大,那么就需要學生查閱相關資料在課后完成,在這一過程中教師要將課后監督和輔導的工作落實。
還需要注意的是,這一過程一定要突出學生的主體地位才能起到好的效果,否則學生很可能會僅僅為完成任務而學習。一定要在教師的引導下,充分發揮學生的學習主動性和創造性,讓學生親身感受認知的過程,并培養、提高學生解決實際問題的能力和創新意識[4]。
最后,學生完成任務后,教師要根據學生的完成情況給出一個評價,并總結規律,突出重點,將實踐上升到理論,使學生對問題的認識達到一個新的高度。
5 應該注意的問題
雖然任務驅動法有許多優點,但并不能解決所有問題。在教學過程中應該對Java程序設計課程的內容進行深刻細致的分析。經過一段時間的教學實踐,筆者認為對于操作技能要求較高,特別是Java類庫、AWT、Applet等內容的學習采用任務驅動法,可以達到很好的教學效果。但對于面向對象設計思想這一塊兒概念性基礎性較強的部分,則不宜采用該方法。
使用任務驅動法必須首先了解學生的知識背景和實際接受能力。這一步也是任務驅動法能成功應用的必要條件。只有了解了學生相關的情況,才能有針對性的設計出合理的任務,否則就可能出現這樣的情況:學生還沒有系統學習過計算機網絡課程,而教師要求學生使用Java完成一個網絡聊天室應用程序。這樣的任務設計超出了學生的接受能力,教學效果也就可想而知了。
采用任務驅動法進行Java教學時,最好能夠在交互式多媒體教室中進行,使任務驅動法的實施能夠順利展開[5],僅僅使用黑板講解任務是抽象的,容易讓學生產生厭倦情緒,只有當學生看到了實際可以運行的應用程序,才能有所觸動。
總之,在Java程序設計課程的教學中,根據教學內容的需要,運用“任務驅動法”,有利于改變學生獲取知識的方法,讓學生在探索中學習,最終使學生由被動接受知識轉變為主動獲取知識,進而培養學生善于鉆研和勇于創新的精神以及實際的軟件開發能力。任務驅動法在Java程序設計課程教學中是一種值得推廣的好方法。
參考文獻:
[1]潘洪軍.高校計算機專業課程結構體系構建的思考[J]. 現代教育科學,2005,195(4):116-118.
[2]史寶會.“任務驅動”教學法的幾點體會[J]. 信息教育技術,2005:223-240.
[3]劉鳳艷.建構主義論——教學改革的理論基礎[J]. 牡丹江師范學院學報(哲學社會科學版),2006.6:83-85.
[4]楊起帆.計算機專業應用型創新人才的\"211\"培養模式[J]. 高教探索,2006,1:65-67.
[5]甘建侯.網絡與課堂教學相整合的計算機專業教改研究[J]. 計算機教育,2006,2:31-33.
收稿日期:2007-12-27
作者簡介:吳愚(1981-),男,重慶萬州人,助教,碩士,主要研究方向:并行與分布式處理。