陸聲鏈 李幗 王繼杰
【摘 要】采用項目化教學法對《PHP Web開發(fā)》課程進行了初步教學改革實踐,以項目任務實踐為導向,加深學生對課程知識在真實場景應用的認識,切實提高學生的主動學習和實操能力。同時在課堂教學和實踐中更多地融入軟件項目系統(tǒng)分析、代碼測試、項目文檔編寫、團隊協(xié)作等軟件項目實施能力的鍛煉,提高學生的綜合職業(yè)能力和就業(yè)競爭力。
【關(guān)鍵詞】綜合能力培養(yǎng);Web應用開發(fā);教學改革;項目化教學
中圖分類號: G642;G434 文獻標識碼: A 文章編號: 2095-2457(2018)16-0112-003
DOI:10.19694/j.cnki.issn2095-2457.2018.16.051
【Abstract】Project-oriented teaching was used in the course of “PHP Web development”.to improve the comprehensive occupation ability of computer major students.This teaching method guided by project task practice,with the purpose to improve students understanding to the application of curriculum knowledge in real scenes,and improve students initiative learning and practical ability.At the same time,software project system analysis,code testing,project document writing,team collaboration and other software project implementation ability exercise were also included in the course to improve the students comprehensive professional ability and employment competitiveness.
【Key words】Training of comprehensive ability;Web application development;Teaching reform;Project-oriented teaching
1 課程教學現(xiàn)狀及存在問題
《PHP Web開發(fā)》是我校近年來開設(shè)的Web技術(shù)課程之一,教學方式仍然采用課件講解+操作演示+學生練習+老師課后點評的傳統(tǒng)教學模式。這種教學模式以編程語言的語法教學為主線,雖然也有實踐環(huán)節(jié),但實踐過程不夠系統(tǒng)化,難以把重點放在解決問題的方法和思路上,更缺乏項目分析、系統(tǒng)設(shè)計、代碼測試、文檔編寫等軟件項目綜合實施能力的鍛煉,學生絕大部分時間都在學習這門編程語言的理論知識和技術(shù)要點,而對這些技術(shù)在實際項目中如何應用缺乏直觀的認識。結(jié)果是學完課程后學生往往只停留在了解這門編程語言知識點的水平上,而缺乏將這些知識應用到具體應用需求的能力,更缺乏對實際完整軟件項目的分析與操控能力,距離培養(yǎng)學生精通動態(tài)網(wǎng)站建設(shè)開發(fā)綜合實踐能力的預期教學目標還存在較大差距。一個很令人痛心和深思的問題是,很多學生在學校參加多門Web技術(shù)相關(guān)課程后,還需要參加學費不菲的社會培訓,以便能完成必須的畢業(yè)設(shè)計或更有信心參加企業(yè)招聘。這個問題已引起不少高校老師的關(guān)注[1]。
2 教學改革的思路
Web應用項目的開發(fā)是一項設(shè)計十分復雜的工作,不僅涉及HTML、CSS、JavaScript等常規(guī)的網(wǎng)頁設(shè)計知識,以及數(shù)據(jù)庫設(shè)計、SQL數(shù)據(jù)庫操作、Web服務器配置等技術(shù),還需要具有一定的軟件項目文檔編寫能力。一個成功的軟件項目,除了編寫代碼,深入的需求調(diào)研、詳盡的系統(tǒng)設(shè)計、細致的系統(tǒng)測試、完善的項目文檔記錄、良好的團隊協(xié)作等缺一不可。雖然在高校計算機專業(yè)的教學內(nèi)容中,除了大量編程語言外,往往還有專門的軟件工程方面的課程。但很多時候,這兩方面的課程培養(yǎng)是分開的,講授編程語言的課程主要講語言本身,而軟件工程的課程則側(cè)重介紹軟件工程的各種概念或案例。學生在學習某種編程語言時,很難得到比較系統(tǒng)的軟件項目實施過程訓練,導致學生普遍存在系統(tǒng)分析能力欠缺、溝通表達能力不足、團隊合作意識不強、文檔素養(yǎng)低等問題[2]。
為了更好地培養(yǎng)學生的Web應用項目開發(fā)綜合能力,我們在《《PHP Web開發(fā)》課程中采用了項目化教學法。項目化教學法是一種理論與實踐相結(jié)合的教學方法[3],旨在通過老師引導學生動手實施一個完整的工程項目,達到不僅向?qū)W生傳授專業(yè)知識,同時也能夠挖掘?qū)W生的內(nèi)在學習潛能、調(diào)動學習熱情的目的。在本課程教學中,將以一個真實的Web應用為主線,把項目分解為一個個更小、更明確的階段任務,將課程所要講授的知識點融入任務中,使得學生不覺得是在枯燥地學習知識,而是在解決現(xiàn)實需求。
同時,由于現(xiàn)實的軟件項目開發(fā)是一項復雜的系統(tǒng)工程,因此我們在該課程的教學改革中,還將鍛煉學生在需求調(diào)研和分析、系統(tǒng)設(shè)計、軟件測試、系統(tǒng)部署等方面的能力和意識,培養(yǎng)學生的綜合職業(yè)能力。通過把理論教學與實踐教學完美的結(jié)合在一起,提高學生的學習熱情、動手實踐能力和研究分析與解決問題的能力、團隊協(xié)作能力、交流能力、職業(yè)素養(yǎng)與創(chuàng)新能力等,使學生掌握了Web應用開發(fā)的流程與步驟,積累一定的項目開發(fā)的經(jīng)驗,為今后就業(yè)或創(chuàng)業(yè)打下良好的技能與實踐基礎(chǔ)。
3 教學改革實踐
3.1 教學內(nèi)容組織
一個Web應用項目從功能上劃分一般都包括信息展示、數(shù)據(jù)維護、用戶登錄等功能模塊,總會涉及到文字、圖片等信息的網(wǎng)頁展示技術(shù),數(shù)據(jù)維護方面主要就是數(shù)據(jù)庫的增、刪、改等操作,以及文件上傳技術(shù);而信息錄入、用戶登錄等頁面操作更多地涉及網(wǎng)頁表單、會話管理層面的技術(shù)。因此,本課程在知識點的內(nèi)容設(shè)置上,將會以頁面信息展示技術(shù)和數(shù)據(jù)庫操作技術(shù)兩個方向為主線。其中頁面信息展示技術(shù)既包括HTML、CSS和JavaScript等傳統(tǒng)靜態(tài)網(wǎng)頁設(shè)計技術(shù),同時也包括HTML5、AJAX、JQuery等時下流行的網(wǎng)頁交互技術(shù)。數(shù)據(jù)庫操作技術(shù)方面,將以MySQL數(shù)據(jù)庫的SQL操作為主,重點訓練學生在SQL查詢、數(shù)據(jù)更新、統(tǒng)計等高頻數(shù)據(jù)管理操作方面的能力。而對于項目需求分析、項目文檔編寫、團隊協(xié)作等方面的綜合能力培養(yǎng)方面的內(nèi)容,則放在課程設(shè)計實踐環(huán)節(jié),通過提供示例文檔資料、組織學生討論等方式進行。
3.2 教學方法
在本課程中,我們通過兩個項目應用項目化教學法:課堂訓練項目和課程設(shè)計項目。課堂鍛煉項目由老師主導,學生跟著老師進行實踐;課程設(shè)計項目則由學生自選并通過小組的方式進行開發(fā)實現(xiàn)。課堂訓練項目是本課程的主體部分,事先由任課教師精心選擇合適的選題,進行系統(tǒng)設(shè)計,劃分為功能和實現(xiàn)難度適中的模塊,并用該課程對應的Web技術(shù)進行編程實現(xiàn),其目的是將本課程所需要講授的知識點都分解和融入項目的各個任務模塊中。同時,還學生提供免費的學習資源,傳授查閱資料的方法,使學生掌握技術(shù)應用的關(guān)鍵點。學生在老師的全程引導和幫助下,一步步實現(xiàn)該軟件項目各個模塊功能的開發(fā)。從而使得學生通過現(xiàn)實的例子,理解并掌握該門編程語言中各個對象、組件等知識點的具體應用。通過這種任務驅(qū)動、老師引導、學生跟做的方式,激發(fā)學生的學習興趣,培養(yǎng)其的自學能力。
而對于項目需求調(diào)研、系統(tǒng)分析、代碼測試、文檔編寫、團隊協(xié)作等方面的能力培養(yǎng),則放在課程設(shè)計項目環(huán)節(jié)進行。課程設(shè)計項目主要由學生通過分組,以小組為單位獨立完成整個項目的需求調(diào)研、設(shè)計和編碼。老師則事先提供必要的軟件項目實施過程指導,以及編碼規(guī)范、軟件項目文檔范例等方面的資料。
3.3 教學過程實施
本課程的授課時間大約為18周,前12-13周用于課堂訓練項目,接著用4周時間進行課程設(shè)計項目的開發(fā)實踐,最后1-2周進行課程考核和總結(jié)。在課堂訓練項目教學環(huán)節(jié),因為真正的課堂教學時間有限,為了讓學生在課堂中得到更多的鍛煉,我們會事先將每個任務的編程操作過程錄制成視頻,放在網(wǎng)上供學生隨時觀看,老師盡量不占用課堂時間進行演示。為了及時掌握學生的真實學習情況,還要求學生每次課都提交本次課對應的項目任務的代碼,并在下次課針對普通存在的問題進行講評。課程設(shè)計項目由學生自由進行分組,每個小組4-5名學生,并推選出組長1名,負責項目進度的推進以及與其他小組、老師的聯(lián)系。
3.4 考核方式
為了更好地鍛煉學生的綜合能力,課程的考核主要采取“平時成績+課程設(shè)計項目答辯成績”的評分方式。其中平時成績占30%,課程設(shè)計項目答辯占70%。平時成績主要通過學生平時提交的課堂作業(yè)進行評定。課程設(shè)計項目成績則通過現(xiàn)場答辯來進行,答辯時邀請3位老師作為評委,每個小組答辯時間為10分鐘,其中6分鐘用于演示系統(tǒng),4分鐘用于回答問題。答辯前各個小組需要提交項目需求說明書、系統(tǒng)詳細設(shè)計報告、用戶使用手冊、小組成員分工說明書等必要的文檔資料。答辯老師通過小組的現(xiàn)場演示情況和文檔資料,以小組為單位進行評分,小組評分的考核依據(jù)如表2所示。最后任課老師根據(jù)小組成員的具體分工,為每個小組成員打分。
4 綜合能力培養(yǎng)
4.1 軟件項目的系統(tǒng)分析能力
在課程設(shè)計項目鍛煉環(huán)節(jié),要求學生通過查詢文獻、實地調(diào)查等形式,切實開展需求調(diào)研,并通過小組討論,進行必要的需求分析、系統(tǒng)設(shè)計,使得所開發(fā)的項目的需求、系統(tǒng)構(gòu)架、技術(shù)選擇等具有一定的合理性、先進性,避免閉門造車。
4.2 文檔撰寫
同樣是在課程設(shè)計項目環(huán)節(jié),要求各個小組必須撰寫和提交項目需求說明書、系統(tǒng)詳細設(shè)計報告、用戶使用手冊、系統(tǒng)實施總結(jié)報告等一系列文檔資料,并選取這些相關(guān)文檔的范例供學生參考。
4.3 高質(zhì)量編碼和良好編程習慣
良好的編程習慣是高質(zhì)量編碼的保障,為此,我們在課程教學中,設(shè)置了編碼規(guī)范的課程,并通過提供規(guī)范編碼和不規(guī)范編碼的一些示例代碼段,培養(yǎng)學生養(yǎng)成良好的編碼習慣。同時,在課程考核標準中,代碼的質(zhì)量也是評分的標準之一。
4.4 團隊協(xié)作
我們通過在課程設(shè)計項目環(huán)節(jié)引入小組合作實施來培養(yǎng)學生的團隊協(xié)作意識,在實施中,老師引導小組成員發(fā)揮各自的能力和性格優(yōu)勢,合理分工和協(xié)作,爭取學生在項目的功能實現(xiàn)、界面效果、文檔編寫、小組答辯等方面都能夠兼顧,爭取各個成員都能發(fā)揮自己的作用。
5 總結(jié)與展望
通過在《PHP Web開發(fā)》課程中采用項目化教學法,我們發(fā)現(xiàn)學生的學習主動性和積極性有了較大的提高,這種以項目任務為驅(qū)動、以學生動手探索為主、老師引導為輔的教學方式,不僅鍛煉了學生的動手編程能力,同時通過在課程實踐中加入需求調(diào)研、系統(tǒng)設(shè)計、軟件測試等項目實施能力的鍛煉,對提高學生的專業(yè)綜合素質(zhì)起到了良好的推動作用,我們會在以后的教學實踐中進一步完善和推廣。
【參考文獻】
[1]趙玲玲,孫巧云,邵秀鳳.PHP程序設(shè)計課程教學改革研究[J].教育教學論壇,2016,46:85-86.
[2]伍春香,劉斌,李小紅.基于能力培養(yǎng)的軟件工程教學實踐[J].計算機教育,2017,08:38-41.
[3]錢存陽.項目化教學培養(yǎng)大學生系統(tǒng)實踐能力[J].高等工程教育研究,2015,2:187-192.