摘要:《Java語言程序設計》課程是一門計算機程序設計類的核心基礎課程,使用任務驅動法進行教學符合高職高專學生的學習特點,可以提高學生的積極性和學習效果,并能較好地達到學習目標。為課程設計五個項目,每個項目包含若干個任務,每次教學為完成一個任務,對每個任務的完成情況進行考核評價,獲得良好的教學效果。
關鍵詞:任務驅動法;Java語言;教學方法
中圖分類號:G712 文獻標志碼:A 文章編號:1674-9324(2013)31-0107-02
一、研究對象分析
Java語言作為當前程序設計的主流語言之一,作為一個軟件開發人員對Java語言的熟練使用是必備技能之一,因此也是軟件技術專業學生必須熟練掌握的核心語言之一。《Java語言程序設計》這門課程是學習Java語言的入門課程,通過該課程的學習使學生掌握Java語言的基本語法及建立面向對象的程序設計思想,并能夠完成Java應用程序的開發。該課程是Java語言學習的基礎,較好地掌握該課程的知識點和技能點,能夠為今后學習Java程序的高級開發奠定良好的基礎。現在教育界普遍認為,高職高專的學生不適合傳統的對知識點逐一講解的教學方法,這種教學方法讓他們感覺很枯燥,不能激發他們的學習欲望和學習激情。勉強學習,也不能將知識點與實際相結合,最終變成“讀死書”,學習效果差,不能達到高職高專培養學生實踐動手能力的目的。特別是計算機類的編程課程除了需要實際動手操作之外,更需要邏輯思維能力,傳統教學方法的教學效果特別差。學生更多地只學會課堂的程序編寫,不能使用程序解決實際的問題,不符合企業的用人需要。因此需要對現有的教學方法進行改進,找到適合高職高專的學生的教學方式,以提高教學效果,達到專業培養目標。
二、教學方法適應性分析
任務驅動法是一種以學生為中心,以完成工作任務為中心的理實一體教學方法,易于激發學生學習和掌握技能并獲得解決實際問題能力的欲望,提高學習效果。根據高職高專學生的學習特點和培養目標定位,更適合于通過實際操作理解抽象知識,達到形象到抽象的思維的學習方式。因此任務驅動法被普遍認為是比較適合于高職高專學生的一種教學方法。在《Java語言程序設計》課程中使用任務驅動法,通過完成特定的任務掌握相應的技能點,掌握程序開發的方法,建立程序設計的思想,使學生能夠提高學習興趣,主動學習;使學生能夠理解面向對象的程序設計方式;使學生具備分析問題、解決問題的能力。最終使學生達到能夠實際開發Java應用程序的培養目標。
三、具體實施
1.任務設計。(1)企業調研,獲得典型工作技能。高職高專的軟件技術專業是培養能夠在企事單位和軟件開發企業從事具體編程和應用程序的高等技術應用型專門人才,強調的是能夠完成用人單位相關崗位的具體業務操作,因此首先應對相關企業實際工作崗位進行調研,獲得每個崗位的典型工作任務,分析任務中所包含的典型專業技能。(2)分析典型工作技能,獲得必備技能點。根據企業調研中得到的典型工作技能,找出屬于本課程培養內容應包含的專業技能點,并對它們進行分類歸納。與傳統課程中的知識點相比,實際工作技能在某些地方需要相對深入掌握,某些地方相對要求較低。根據實際需求調整,一定不能墨守成規。對一些不常用的知識或技術大膽舍棄。并且不試圖覆蓋所有的學科體系知識點,可以留出部分引導一些學有余力的學生自學。(3)設計任務,重組知識體系。根據調研結果,設計五個與實際相關的小項目,其中包含這些學生需要掌握的技能點。《Java語言程序設計》這門課程是程序設計的入門級課程,學生接觸程序設計時間不長,重點在于培養學生的程序設計思想和應用程序設計能力。因此,項目設計不宜過于復雜,難度也不宜較高。過于理論化、脫離實際的問題,不能激發學生的學習興趣,也不適宜。每個項目有若干個任務。每次教學均圍繞著這個任務分析思考并完成該任務。這五個項目都是具有實用性并且具備形象載體的小型應用程序。學生在完成多個任務之后獲得一個最終的成果,可以使學生獲得成就感,從而更樂于去學習,更愿意主動學習。這些項目中包含的技能點,打破按照知識體系結構授課的方式,不按照傳統的知識體系結構逐章節逐個知識點進行講授,而是根據任務的需要去學習知識點和技能點。學生通過完成任務了解技能點,同時也知道如何使用。先形象、后抽象的模式,更適合高職高專學生的學習特點,消除了傳統教學方式中“讀死書”的弊端。在項目設計的知識點和技能點采用“重復加深”的方式,即重要的知識點和技能點不止在項目中出現一次,而是多次出現,并逐漸加深難度,使學生能夠更好地掌握這些重點的知識點和技能點。對一些學習難點尤其有效。傳統的教學方式一次性對學習難點講通講透,這是違反學習規律的。學生對知識點的理解應該是逐漸深入的,一次使用便能掌握的就不能稱為難點。使用“重復加深”的方式,可以在重復中鞏固學生的掌握,逐漸加深又可以逐步提高學生的認識。
2.教學實施。(1)提出任務,分析任務。在教學中采用任務驅動法的第一步,是提出任務,對任務進行分析,并且要促使學生主動去思考,調動學生討論,使學生學會分析問題。(2)解決問題,學習技能點。學習本課程的學生接觸程序設計時間不長,對于程序設計的思路和方法沒有更多的認識。根據該階段的學生的特點和知識儲備,適合于先模仿后拓展的模式。根據對任務的分析,教師介紹相關的知識點和技能點,或由學生自學,帶領學生解決問題,共同完成任務。(3)模仿演練,歸納吸收。學生根據之前的學習,獨立完成任務的程序編寫。從“想”、“看”,過渡到“做”。通過自己動手,真正掌握這些技能點。在學生獨立完成的過程中,可能發生各種問題,教師引導學生思考,分析問題,并幫助學生解決問題。當學生練習結束之后,教師總結學生在“做”的過程中發生的普遍性的問題。學生總結本任務中所學習到的技能點及其應用。通過這樣的方式,鞏固學生掌握任務中包含的技能。(4)擴展思考,靈活應用。教師提出新問題,拓展前期知識,促使學生思考、分析,并獨立解決。學生動手解決問題,讓學生能夠完全地將課堂所學轉化為所得并能學會靈活應用技能點。
3.考核評價。對學生學習情況的考核采用過程性評價和終結性評價相結合的方式。對學生完成每個任務的過程進行評價是根據完成每個任務的完成過程及結果,進行評分,包括出勤情況、參與情況、最終結果等。積極參與分析問題,提出有價值的解決方案給予相應加分,鼓勵學生主動思考,參與到教學中,使“教”與“學”雙方都積極互動。每完成一個項目,進行相應項目的展示及答辯,由學生和教師共同評分。使同學之間產生比較,相互學習,相互切磋,共同提高。軟件開發注重團隊合作。但是對于剛開始學習程序設計的學生來說,前期應更注重于自身的能力水平的提高。使用前三個項目學生獨立完成,后兩個項目分成小組共同完成。通過后兩個項目培養學生的團隊合作精神,相互協作,相互幫助。后兩個項目的考核增加對小組成員之間的相互評價及組長的評價。期末仍保留原始知識點考試方式,所占比例不超過總成績的30%。促使學生回顧本課程的所學,增強記憶,鞏固加深。
使用任務驅動法提高學生的學習積極性和主動性,引導并促使學生逐步學習和掌握Java語言開發應用程序的方法,也使學生學會分析問題、解決問題,建立面向對象的編程思想和掌握程序設計的方法。通過以上步驟的教學實施,使學生具備獨立編寫Java應用程序的能力,達到課程教學的目標,獲得良好的學習效果。