趙曉雷
(渭南師范學院網(wǎng)絡(luò)安全與信息化學院,陜西渭南714099)
?
項目教學法在Java程序設(shè)計實驗教學中的應(yīng)用研究
趙曉雷
(渭南師范學院網(wǎng)絡(luò)安全與信息化學院,陜西渭南714099)
摘 要:項目教學法以項目為主線、以案例為主導,目的在于把學生的整個活動融于項目的開發(fā)中,發(fā)揮學生的想象力和創(chuàng)造力,從而提高學生解決實際問題的能力。將項目教學法引入Java程序設(shè)計實驗課堂教學,其實施環(huán)節(jié)為項目的選擇、項目具體實施過程中項目的分配、項目小組活動的實施與完成等。項目教學法的實施,不僅能夠使學生對整個軟件的開發(fā)有一個更為直觀和全面的認識,而且有利于培養(yǎng)學生的團隊協(xié)作精神,也有利于教師業(yè)務(wù)能力的展開和業(yè)務(wù)水平的提升。
關(guān)鍵詞:項目教學法;程序設(shè)計;教學過程;教學效果
隨著時代的發(fā)展,當前許多高校已開設(shè)Java程序設(shè)計課程,該課程已成為高校計算機專業(yè)的核心課程之一。在教育部計算機基礎(chǔ)課程教學指導委員會制定的白皮書中,Java課程也被列為核心課程之一。同時,伴隨著Java在Internet中的廣泛應(yīng)用,各企業(yè)對學生的Java編程能力也有越來越高的要求。作為計算機專業(yè)的學生必須要熟練掌握Java語言的編程能力、編程技巧和編程方法。在Java的教學環(huán)節(jié)中,既有課堂的理論教學,又有上機實驗教學。上機實驗教學作為Java編程能力培養(yǎng)的一個重要環(huán)節(jié),不僅能夠培養(yǎng)計算機專業(yè)學生觀察、分析和解決問題的能力,而且對學生的創(chuàng)新意識、思維能力的培養(yǎng)起著至關(guān)重要的作用。然而,Java實踐教學環(huán)節(jié)在大部分高校中經(jīng)常被忽略或者流于形式。因此,深入研究和探討Java程序設(shè)計實驗教學工作的新模式和新方法就顯得尤為重要。
1.項目教學法的含義
項目教學法(Project-based Learning),又稱為基于項目的教學法,指的是師生通過實施一個完整項目的教學過程。在項目教學法中,注重理論與實踐相結(jié)合,其目的是在項目實施過程中,將理論教學與實踐教學有機結(jié)合,在實踐中加強對理論知識的理解與掌握,在理論教學中加大對實踐教學的引導,加強學生的主體地位,從而提高學生的自主學習能力和創(chuàng)新能力,提升教師引領(lǐng)項目的能力,促進教師對項目的駕馭能力。
在項目教學法的實施過程中,從實際項目出發(fā),教師需要將解決的問題以項目的形式發(fā)放給學生,在分發(fā)的同時可以將項目進行分解,并給出一定的示范,將項目以說明書的形式分發(fā)給學生,使每個學生對項目以及進程有一定的了解。項目教學法的實施一般以小組為單位組織教學與項目的展開,教師在這個過程中起到一個引領(lǐng)的作用,從整體上把握項目的展開進度。項目的學習過程通常是每個組的成員根據(jù)分到的子項目來制定小組的項目計劃和搜尋整理相關(guān)的資料,在小組長的協(xié)助下完成子項目的制作并作出有效評價。學生在項目實施過程中,充分理解子項目的含義,掌握相關(guān)子項目所涉及的知識和技能,體會同學之間的互相協(xié)作和團結(jié)精神,在項目活動中培養(yǎng)學生發(fā)現(xiàn)問題、分析問題的能力,提高解決問題的技能。
2.項目教學法的特點
“項目教學法”顯著的特點是“以項目為主線、教師為引導、學生為主體”,創(chuàng)造了學生主動參與、相互協(xié)作、互相探索的新型教學模式。
項目教學法中的項目主要來源于實際生活,項目的主體應(yīng)貼近實際的工作環(huán)境,使學生對項目的內(nèi)容感到熟悉。
項目教學法是一套比較完整的教學體系,要求教師具有一定的應(yīng)變能力,能應(yīng)對項目的變化和學生隨時提出的問題。同時,項目教學法也是一項教學策略,具有一定的復雜度,且在執(zhí)行項目教學法時具有靈活多變性,教師在項目實施教學過程中能夠激發(fā)學生學習的積極性,提高學生的探索能力,提升學生的動手能力。
在項目教學法的實施過程中,學生作為教學的主體,各小組成員需要在學習的過程中認真學習、主動探究、加強合作。在項目的實施過程中,要加強學生的主體地位,使學生認識到自己對整個項目的貢獻以及所要完成的工作,引導他們認真面對不斷出現(xiàn)的新問題并給予解決,從而提高自信心。
項目教學法的目的在于培養(yǎng)學生的觀察能力、分析問題能力、自學能力,從而提高學生的動手設(shè)計能力、研究能力,進一步提升團隊之間的協(xié)作能力。項目教學法的產(chǎn)生并不能完全替代日常教學,它不過是提高教學效果的一種手段,并非日常教學的全部,只有將項目教學法和傳統(tǒng)教學方法相結(jié)合,才能從根本上提高教學質(zhì)量。
現(xiàn)階段Java程序設(shè)計課程的實驗教學環(huán)節(jié)有限,如果所選項目規(guī)模過大,則所涵蓋的知識點就過多,其要求也就較高,在執(zhí)行的過程中難以完成,學生也不易掌握,最終導致學生學習積極性下降;如果項目規(guī)模較小,則所涉及的知識面較窄,最終導致學生的學習缺乏整體性。因此,項目的選擇關(guān)乎整個教學環(huán)節(jié)的效果。項目教學法中項目的選擇,既要以人才培養(yǎng)方向為基礎(chǔ),又要以教學內(nèi)容為依據(jù),在材料的選取上,盡量選擇學生較為熟悉的素材,這樣便于學生較快地適應(yīng)項目?;诖?,Java程序設(shè)計實驗教學課堂項目的選擇可從以下幾個方面入手:首先,項目的選擇要體現(xiàn)出專業(yè)特色,根據(jù)Java程序設(shè)計的教學要求以及師范類學生的特點,選擇與教育教學相關(guān)的項目進行學習。其次,項目的選擇盡可能涵蓋大部分知識點,通過項目的完成來鞏固所學的知識點,并能靈活多變地應(yīng)用。最后,項目所用的技術(shù)難度要適中,過難會挫傷學生學習的積極性,過于簡單則達不到應(yīng)有的目的?;谏鲜隹紤],筆者認為“學生成績管理系統(tǒng)”作為項目教學法中的項目是合適的,該項目既具有一定的代表性,同時對于學生來說,項目的內(nèi)容并不陌生,可以將其貫穿于整個教學內(nèi)容中,讓學生以團隊成員的身份親自經(jīng)歷一個小型軟件的開發(fā)過程,在實踐中靈活運用所學的理論知識,真正做到學以致用,提高自身動手能力。
1.項目成員分組
首先,依據(jù)理論課堂和平時作業(yè)的表現(xiàn)選出編程能力較強、整體設(shè)計思路較好的學生作為組長,組長組織一定數(shù)量的學生作為項目組成員,成員之間相互配合、相互幫助,組長不僅要將教師所教授的項目要點及時向項目組成員傳達,而且能組織項目組成員對遇到的問題進行積極的討論,并將討論結(jié)果反饋給教師。此外,組長還要能夠組織整個小組的活動,帶動小組成員積極參與項目中的各項活動,在教師和學生之間起到很好的紐帶作用。
2.實驗教學理論環(huán)節(jié)
教師要為學生項目的學習營建一個合適的氛圍,激發(fā)學生學習項目的積極性。在項目實施之前,先讓學生體會Java程序設(shè)計所設(shè)計作品的魅力,讓學生對作品的風格、設(shè)計和功能等方面有一個初步的了解,激發(fā)學生的學習興趣。依據(jù)前面所設(shè)計的教學情境,教師應(yīng)對所用的項目展開框架性的分析,讓每組學生明確小組的具體任務(wù),從而引導學生進入具體任務(wù)的設(shè)計中去。
在項目教學中,教師所承擔的角色與日常教學中的角色不同,在項目教學法的實施階段,學生是主體,教師在項目教學中起到一個示范、引導的作用。依據(jù)學生的實際情況,按照Java程序設(shè)計開發(fā)的要求及步驟,教師在項目展開之前,可以給每組學生進行10~20分鐘的教學示范,內(nèi)容應(yīng)圍繞學生成績管理系統(tǒng)的某個子功能模塊展開,簡明扼要地講解程序設(shè)計的相關(guān)思路和模塊中所涉及的知識點,使學生在教師的帶領(lǐng)下,運用所學的知識點去解決實際問題,完成項目的學習與開發(fā),體會項目開發(fā)中遇到的問題與心得。
在項目教學法中,項目“學生成績管理系統(tǒng)”所涉及的知識點較多,涉及的編程能力較強,這就要求教師在教學中,要盡可能將涉及的知識點與內(nèi)容,通過合適的例子講授給學生。在整個項目教學法中,首先,教師應(yīng)該從基礎(chǔ)做起,將面向?qū)ο蟮囊恍└拍钔耆卣故窘o學生,使學生在學習的過程中體會、掌握面向?qū)ο蟪绦蛟O(shè)計的特點;其次,教師應(yīng)該從簡單做起,也就是從界面做起,要求學生具備基本的GUI編程能力,在實際的課堂教學中可以適當?shù)卣{(diào)整教學內(nèi)容;最后,教師應(yīng)將所涉及的重點、難點知識,盡可能多地舉例給予說明,使學生通過例子來掌握用法,能夠做到舉一反三。
在項目教學中,學生不再是單純的受動者,而是知識的學習者、探求者,是知識的主動接受者。學生可以通過教師所講解的實例,利用圖書館、網(wǎng)絡(luò)等相關(guān)資源收集相關(guān)的資料與實例,進行相關(guān)項目的學習與掌握,在這個過程中要體會相關(guān)知識的用法,掌握類似知識的功能和用法。在項目小組中,小組成員之間可以通過探討、分析相關(guān)子項目需要實現(xiàn)的功能,制定每個成員所要承擔的任務(wù),制定小組實施方案以及任務(wù)完成的時間,確定相關(guān)程序的流程和步驟,同時制定的內(nèi)容要得到教師的肯定,要讓學生感受到項目的目標就是將傳統(tǒng)的學生成績管理轉(zhuǎn)化為數(shù)字化的管理,并能夠?qū)崿F(xiàn)學生成績管理的規(guī)范化、系統(tǒng)化、自動化,同時能將子項目的流程圖畫出,確定程序的相關(guān)步驟。
3.項目教學具體實施階段
(1)確定項目。教師依據(jù)Java程序設(shè)計教學大綱的知識點結(jié)合項目的特點,確定所用的項目——學生成績管理系統(tǒng),并分析項目所要實現(xiàn)的預(yù)期功能,并詳細編寫《學生成績管理系統(tǒng)項目(子項目)的任務(wù)書》。
(2)分配項目。分發(fā)《學生成績管理系統(tǒng)項目(子項目)的任務(wù)書》,講解項目的具體要求和實現(xiàn)的具體功能,在具體功能的實現(xiàn)中要強調(diào)所用的技術(shù),同時,針對每個小組實現(xiàn)的任務(wù)確定每個小組的學習任務(wù)和項目要求。在子項目課題的分配上,應(yīng)該突出項目研究與課程實踐相結(jié)合,同時應(yīng)該照顧小組成員的興趣與能力,例如在子課題“登錄界面”中,要照顧那些對界面編程(GUI)感興趣的學生和美工比較好的學生。在小組制作的過程中,除了注意平時學習生活中所接觸的類似課題的登錄界面外,還要突出該項目所面對的對象——學生的特點,在做登錄界面時,在保證界面的友好性外,更為重要的是要為不同的用戶分配不同的權(quán)限,要保證所選擇角色與功能的匹配,要確保界面編程與后臺數(shù)據(jù)庫的正確鏈接。同時,要注重突出研究課題的Java特性,結(jié)合JavaApplet的特性和安全性,將課題的最終展示做成一個JavaApplet的運行方式。
(3)教師參與各項目組擬定的活動與方案。教師參與各項目小組活動,項目小組長組織成員進行討論并規(guī)劃“學生成績管理系統(tǒng)項目(子項目)”的任務(wù),并擬定“學生成績管理系統(tǒng)項目(子項目)”的實施計劃,確定實施步驟和程序,經(jīng)教師和小組組長共同協(xié)商后給出具體任務(wù)的名稱、目標、內(nèi)容、進度計劃表以及小組成員的分工,擬定子項目的實施思路與方案,各小組長填寫一份詳細的“項目活動計劃”,小組成員嚴格按照項目計劃實施項目,組長起到組織活動規(guī)劃、相互協(xié)調(diào)的作用,并督促小組成員按計劃完成。教師參與各小組項目計劃的規(guī)劃與實施,對出現(xiàn)的問題要給予及時的技術(shù)指導并協(xié)調(diào)各個小組子項目的進度,并能及時跟進每個小組的計劃。在計劃的實施過程中,教師可根據(jù)實施進展情況,和小組長協(xié)商及時調(diào)整項目進程的時間,并在“項目活動計劃”中備案并調(diào)整。
(4)項目小組活動的實施。各項目小組長根據(jù)擬定的項目計劃,組織小組成員進行學習、討論,小組長根據(jù)小組成員學習的特點以及任務(wù)規(guī)模的大小,協(xié)調(diào)分工,并給項目小組成員分配任務(wù)。小組內(nèi)成員可以通過上網(wǎng)搜索、圖書館查閱、教師指導等形式自主獲取相關(guān)的資料,并根據(jù)個人任務(wù)進行整理、學習、總結(jié),結(jié)合個人的任務(wù)書來制定相關(guān)的計劃。在項目的執(zhí)行過程中,各小組不斷地發(fā)現(xiàn)問題、提出問題,并通過小組成員之間相互探討、相互協(xié)作,小組之間交流意見等形式來解決問題,最終完成項目的實施。在項目實施過程中,教師應(yīng)對各項目組的活動給予適當指導和及時監(jiān)督,教師根據(jù)各項目組實施計劃定時抽查各小組任務(wù)的執(zhí)行情況,并將執(zhí)行的情況及時反饋給各小組長,就完成進度和各小組成員進行交流,對出現(xiàn)的問題給予答復,協(xié)調(diào)各小組之間的進度,使項目子任務(wù)都能及時完成,小組長應(yīng)該及時掌握各成員的進度,及時和教師進行溝通。
(5)項目的完成。項目組成員根據(jù)各自的項目任務(wù)書,實現(xiàn)各自的功能模塊,項目組各成員在項目組長的帶領(lǐng)下,實現(xiàn)子項目的功能,并預(yù)留向上與向下的實現(xiàn)接口(與上下銜接的功能模塊)。在此過程中,項目組各成員相互協(xié)調(diào),將各自實現(xiàn)的功能模塊組裝在一起,完成特定的子任務(wù)。同時,向下、向上預(yù)留一定的接口處理程序,通過真實的數(shù)據(jù)或上下文傳遞的數(shù)據(jù)進行子任務(wù)測試,小組長起到協(xié)調(diào)的作用,并在小組內(nèi)部起到組織的作用,組織單元內(nèi)部的測試。例如在子任務(wù)數(shù)據(jù)查詢模塊中,小組成員依據(jù)不同的用途編寫不同的查詢模塊,在實現(xiàn)數(shù)據(jù)查詢的功能模塊時可以簡單地組成一個模塊,同時,應(yīng)該向下預(yù)留數(shù)據(jù)查詢接口,將查詢結(jié)果給予正確展示。在小組項目完成后,要進行不同數(shù)據(jù)測試,確保數(shù)據(jù)測試的正確性和完整性,同時,也要針對模塊的接口與其他小組的模塊進行測試,以確保接口的正確性。在子項目完成時,教師根據(jù)分配的任務(wù)書逐個進行子任務(wù)檢查,對出現(xiàn)的問題給予及時指出,并根據(jù)各小組長的反饋意見,及時協(xié)調(diào)小組之間數(shù)據(jù)及功能模塊的實現(xiàn)。
(6)項目答辯與師生評價。在這個階段,通過項目成果匯報、組內(nèi)成員自我評價、小組之間互評、教師點撥、師生共同總結(jié)等形式完成各小組項目的評價,在答辯平臺上充分展示各小組的風采與能力。各小組長相互協(xié)調(diào),將各個功能模塊在組內(nèi)成員的配合下,組裝并完成整個項目的調(diào)試。在此過程中,小組成員與組長均需參與,將整個學生成績管理系統(tǒng)以成果的形式展示給學生,并同時邀請一部分班內(nèi)學生和其他專業(yè)的學生使用這個系統(tǒng),在使用的過程中,指出該系統(tǒng)的優(yōu)缺點。在答辯的過程中,教師和組內(nèi)的成員均可參加,將項目學生成績管理系統(tǒng)以完整的形式展示給學生,通過實現(xiàn)功能的完整,最終由教師給出一個定性的評價,并將各個小組任務(wù)完成的情況作為評價的主要內(nèi)容。在項目的實施過程中,各個小組之間要相互協(xié)調(diào)、相互配合完成整個系統(tǒng)的任務(wù)。在答辯過程中,對項目安排了成果的匯報、評估、總結(jié),這樣各個小組成員不但需要完成項目課題的知識任務(wù),還要學會協(xié)同工作,綜合運用Java語言開發(fā)能力、軟件工程思想和數(shù)據(jù)庫知識組成一個完整的會演文稿。在項目實施過程中,遇到問題相互之間進行探討,發(fā)揮每個人的長處。一組學生匯報時,其余各組學生都能夠認真聆聽并及時發(fā)現(xiàn)問題、提出問題。匯報完成后,小組組長應(yīng)將大家對本組所作的評價進行收集和匯總。教師在此過程中,起到一個組織者的作用,最后對各項目組的完成情況作出合適的評價。
1.提高教師對項目教學法中項目的駕馭能力
項目教學法在Java程序設(shè)計實驗教學的實施過程中,項目的選擇和設(shè)計對整個教學顯得尤為重要。教師在對項目的選擇過程中,不僅要考慮所選項目與教學內(nèi)容的相符性,還要考慮其實用性、難易性,以及學生對該項目的熟悉程度等。在項目的設(shè)計中,教師還要照顧到課程的進度和學生的接受程度等方面。因此,作為項目教學法中的教師,應(yīng)在項目的選擇和設(shè)計上把握好項目的難易度,提高對項目的駕馭能力。在項目的開發(fā)過程中,學生難免會遇到各種困難,教師要給予及時指導,幫助學生了解項目的實質(zhì),明確項目預(yù)期實現(xiàn)的目標,項目中可能用到的技術(shù)與技能,從整體上把握方向,給予學生引領(lǐng)式的指導,使學生最終能夠通過自我構(gòu)建獲取項目相關(guān)的知識,從根本上提升學生分析問題的能力、編寫程序的能力,有利于培養(yǎng)學生的自學能力、創(chuàng)新能力,從而達到項目教學法的效果。
2.學生角色的轉(zhuǎn)變
在傳統(tǒng)的教學中,學生是知識的被動接受者,知識往往是被灌輸?shù)?,而在項目教學法中,學生變成了主動學習者、探究者和協(xié)作者,通過自主學習、主動探究、相互合作等形式掌握知識和技能,在這樣的學習中,學生是快樂的。項目教學法不僅培養(yǎng)了學生的自主學習能力,而且培養(yǎng)了學生的自主創(chuàng)新能力,為今后程序的開發(fā)奠定了堅實的基礎(chǔ)。
3.充分調(diào)動學生學習的積極性
在項目教學法中,項目的選取通常是從實際生活中獲取的項目,是大家比較熟悉的項目,在項目的執(zhí)行過程中,通常是把知識點零散化,在做項目的同時掌握知識點的用法,從現(xiàn)實中總結(jié)知識,比傳統(tǒng)的教學更具有想象力和接受力,使得知識的獲取更具有形象化、主動化、便利化,有利于提高學生學習的自信心和學習興趣,從而調(diào)動學生學習的積極性,提升學生的學習興趣。
項目教學法是將學習的過程融于具體的項目中,在項目實施過程中完成對知識的學習與掌握,學生積極參與項目的執(zhí)行過程,在執(zhí)行過程中,學生是一個主動的學習者、探究者,整個項目的完成,是一個全方位學習的過程,更是一個綜合運用所學知識解決實際問題的過程,也是一個對軟件開發(fā)進行體會的過程。項目教學法在Java程序設(shè)計實驗課堂中的應(yīng)用,使得學生不再是課堂理論的旁聽者,也不再是知識的被動接受者,而是軟件開發(fā)過程中的一個重要角色,是知識的主動探究者。通過項目教學法的實施,不僅能使學生對整個軟件的開發(fā)有一個更為直觀和全面的認識,還有利于培養(yǎng)學生的團隊協(xié)作精神,有利于教師業(yè)務(wù)能力的展開和業(yè)務(wù)水平的提升。在項目教學法的執(zhí)行過程中,有些細節(jié)還有待于提高,如項目的選取、任務(wù)的安排、學生自學能力的提升、課堂知識點的進度等方面。因此,如何使得項目教學法在Java程序設(shè)計實驗課堂上達到最好的效果,也是今后我們努力的方向。
參考文獻:
[1]王進,陳建平.反思性教學在Java程序設(shè)計實驗教學中的應(yīng)用[J].實驗技術(shù)與管理,2011,(6):188-189.
[2]崔澤永.基于Java的實踐教學環(huán)境改進研究[J].實驗室研究與探索,2012,(6):89-91.
[3]李瑞生,王秋云.計算機程序設(shè)計類課程實踐教學的改革與創(chuàng)新[J].實驗技術(shù)與管理,2012,(4):183-185.
[4]張學林,陳齊超.項目教學法在“C語言程序設(shè)計”中的研究與應(yīng)用[J].實驗技術(shù)與管理,2011,(2):164-167.
[5]丁燕華.項目教學法的應(yīng)用研究——以高中《算法與程序設(shè)計》為例[D].上海:華東師范大學碩士學位論文,2009.
[6]楊方琦.項目教學法在“非線性編輯”課程實驗教學中的應(yīng)用[J].實驗室研究與探索,2012,(10):380-382.
[7]王威.項目教學法在《軟件工程》課程中的應(yīng)用研究[J].教育理論與實踐,2011,(9):52-54.
[8]張龍娟.項目教學法在高職電子課程教學中的應(yīng)用研究[D].南京:南京師范大學碩士學位論文,2008.
[9]張?zhí)m芳.基于“項目教學法”的計算機基礎(chǔ)學及其評價[J].西南師范大學學報(自然科學版),2012,37(6):245-248.
[10]李偉波.項目驅(qū)動式的“軟件工程”教學模式研究與實踐[J].中國電力教育,2009,(6):45-46.
[11]任春華.教學改革與研究性學習模式的構(gòu)建——基于我國高校教學模式創(chuàng)新的探討[J].渭南師范學院學報,2015,30(12):34-38.
[12]韓曉蕾.計算機基礎(chǔ)知識中項目教學法的英語研究[J].長春教育學院學報,2015,(21):101-102.
【責任編輯 曹 靜】
【教育教學方法研究】
The Application of Project-based Learning in Java Programming Experiment Teaching
ZHAO Xiao?lei
(School of Network Security and Information,Weinan Normal University,Weinan 714099,China)
Abstract:Project-based Learning is to encourage students’participation in the development of the project,which aims at mo?tivating the imagination and creativity of the students and finally promotes their ability of solving problems.The successful introduc?tion of Project-based Learning to Java programming experiment teaching depends on the choice,the assignment,the implementing and the accomplishment of the project in the process.The implementation of Project-based Learning not only makes the students have an overall understanding of software development but also helps cultivate the team spirit of the students and promote teaching ef?fectiveness.
Key words:Project-based Learning;programming teaching process;teaching effectiveness
作者簡介:趙曉雷(1978—),男,河南洛陽人,渭南師范學院網(wǎng)絡(luò)安全與信息化學院講師,工學碩士,主要從事圖形圖像處理與程序設(shè)計教學研究。
基金項目:陜西省扶持學科數(shù)學學科基金項目:基于小波分析的非線性模型在變型檢測數(shù)據(jù)中的應(yīng)用(14XSD011);渭南師范學院優(yōu)質(zhì)課程建設(shè)成果:Java程序設(shè)計;渭南師范學院科研計劃項目:基于云計算的渭南智能交通研究(15YKS008)
收稿日期:2016-01-19
中圖分類號:G642
文獻標志碼:A
文章編號:1009-5128(2016)06-0032-05