王 玉,王 鵬
(吉林大學(xué) 應(yīng)用技術(shù)學(xué)院,長春 130012)
探索提高高職院校軟件技術(shù)專業(yè)的實踐能力的培養(yǎng)方式具有重要的研究意義和實踐價值。筆者已經(jīng)從事近十年的軟件技術(shù)職業(yè)教育工作,深知工學(xué)結(jié)合的專業(yè)課程建設(shè)與改革對培養(yǎng)學(xué)生動手實踐能力的重要意義。軟件技術(shù)專業(yè)課程教學(xué)強調(diào)培養(yǎng)學(xué)生的實踐動手能力,而以問題為導(dǎo)向的PBL教學(xué)法能夠極大激發(fā)學(xué)生的學(xué)習興趣,帶動學(xué)生自主學(xué)習。尤其是對于軟件技術(shù)專業(yè)的課程來說,大部分的課程都是通過項目化教學(xué)方式進行的,強調(diào)團隊合作,能夠鍛煉學(xué)生的溝通表達能力。因而,對.NET企業(yè)級應(yīng)用開發(fā)系列課程進行以問題為導(dǎo)向的課程建設(shè)與改革具有重要的應(yīng)用價值和實際意義。
為此,筆者基于PBL理念對我院軟件技術(shù)專業(yè)的.NET核心系列課程進行課程建設(shè)與改革,以問題為導(dǎo)向進行課程整體設(shè)計與課程標準設(shè)計。運用PBL模式和項目驅(qū)動模式,在課程內(nèi)容中以真實項目為依據(jù)設(shè)計學(xué)習問題或項目任務(wù),引導(dǎo)學(xué)生帶著問題主動學(xué)習,在應(yīng)用知識解決實際問題或項目任務(wù)的過程中,培養(yǎng)其自主學(xué)習能力及團隊合作能力。
PBL(Problem-Based learning) 即以問題為導(dǎo)向的教學(xué)法[1],目前已成為國際上較流行的一種教學(xué)方法。國內(nèi)眾多學(xué)者對PBL教學(xué)法進行了研究,并將該教學(xué)方法引入到各自的教學(xué)中來。與傳統(tǒng)的以學(xué)科為基礎(chǔ)的教學(xué)法有很大不同,PBL強調(diào)以學(xué)生的主動學(xué)習為主,而不是傳統(tǒng)教學(xué)中的以教師講授為主[3]。從這點來看,PBL教學(xué)法尤其適用于高職學(xué)生教育,對學(xué)生的學(xué)習積極性要求較高,高職學(xué)生對理論學(xué)習的興趣較低,設(shè)法將PBL教學(xué)法引入高職課堂,能夠激發(fā)學(xué)生的學(xué)習主動性,學(xué)生成為課堂的主角,教師成為課堂的引導(dǎo)者,師生之間相互配合,共同完成課程教學(xué)任務(wù)。這樣不僅僅能夠達到教育學(xué)生掌握科學(xué)知識的目的,還能夠鍛煉學(xué)生的自學(xué)能力,而自學(xué)能力又是高等教育中至關(guān)重要的一個環(huán)節(jié)。
基于PBL的課程設(shè)計還要結(jié)合具體的課程特點,不同類型的課程,其課程設(shè)計思路與措施不盡相同[4]。高職教育有其自身的獨特性質(zhì),對于問題的設(shè)計要結(jié)合高職學(xué)生的特點,問題難度要適中,要結(jié)合實際問題,便于學(xué)生的理解和學(xué)習。本文旨在討論如何結(jié)合PBL模式對.NET企業(yè)級應(yīng)用開發(fā)系列課程進行課程設(shè)計與改革,體現(xiàn)出學(xué)生在教學(xué)中的主體體位,進而實現(xiàn)PBL從問題設(shè)計到問題解決的新平臺。
通過對我省軟件行業(yè)及市場分析,結(jié)合我院軟件技術(shù)專業(yè)往屆畢業(yè)生的走訪調(diào)研,我院在軟件技術(shù)專業(yè)2015年修訂的人才培養(yǎng)方案中,將.NET企業(yè)級應(yīng)用開發(fā)系列課程列為我院軟件技術(shù)專業(yè)核心專業(yè)課程。.NET平臺是微軟推出的集成開發(fā)環(huán)境,核心組件包括.net framework以及基本類庫。該平臺上的C#語言支持面向?qū)ο笏枷?,使用靈活,在系統(tǒng)建設(shè)、虛擬現(xiàn)實等領(lǐng)域應(yīng)用廣泛。為此,我院的軟件技術(shù)專業(yè)職業(yè)核心能力包括具有主流軟件(Java和.NET平臺)基本編程的技能和具有開發(fā)基于B/S或C/S架構(gòu)的企業(yè)應(yīng)用軟件的能力。
.NET企業(yè)級應(yīng)用開發(fā)系列課程是高職軟件技術(shù)專業(yè)學(xué)生必須要掌握的專業(yè)核心課程,課程讓學(xué)生體驗團隊合作開發(fā)軟件項目,使學(xué)生全面了解軟件項目實施中的愿景、需求、開發(fā)、測試、用戶體驗和發(fā)布管理的組織管理和運作方式。在教學(xué)實施過程中“教”的方面盡快跟上經(jīng)濟的發(fā)展,縮短職業(yè)教育與職業(yè)需求的差距,以快速、主動的自適應(yīng)變化取代傳統(tǒng)的被動變化的教育方式,真正使高等職業(yè)教育在國民經(jīng)濟發(fā)展中發(fā)揮應(yīng)有的作用。
為了將PBL教學(xué)法引入到.NET系列課程的課堂中,需要對課程的整體設(shè)計進行結(jié)構(gòu)優(yōu)化,通過項目式教學(xué)、案例教學(xué)等方式對課程標準、課程整體設(shè)計、課程實驗教學(xué)等進一步補充與完善。力求在課程教學(xué)中通過問題引入、分析問題、探討解決方案、團隊合作解決問題的方式,鍛煉學(xué)生利用所學(xué)知識解決實際問題的能力。項目教學(xué)法在.NET企業(yè)級應(yīng)用開發(fā)系列課程中尤為適用,而項目的設(shè)計就可以結(jié)合生活中的實際問題,比如開發(fā)聊天系統(tǒng)、計算器、備忘錄等,學(xué)生對問題較為熟悉,但未曾從開發(fā)者的角度出發(fā)看待過這樣的問題,學(xué)生初次解決此類問題時會覺得既熟悉又陌生,甚至不知道該如何入手解決這樣的問題,極大地激發(fā)了學(xué)生的學(xué)習興趣。通過分組的形式,小組成員共同分析問題,研究制定解決方案,在這個過程中又鍛煉了學(xué)生的溝通表達能力與團隊合作能力。而解決問題的具體方法又都回歸到了課堂知識的學(xué)習和理解上來,學(xué)生就會自覺地進行學(xué)習,通過網(wǎng)絡(luò)、課本和老師尋求解決方法,進而達到學(xué)習知識和技術(shù)的目的。學(xué)生在整個過程中也會體會到學(xué)習的快樂,增強學(xué)生的自信心。
我院軟件技術(shù)專業(yè)課程設(shè)置以Java和.NET為技術(shù)主線開展,而.NET企業(yè)級應(yīng)用開發(fā)又包括C#程序設(shè)計、動態(tài)網(wǎng)站開發(fā)asp.net、.NET企業(yè)級應(yīng)用開發(fā)等系列課程,同時單開企業(yè)級項目開發(fā)實訓(xùn)、中小型Web項目開發(fā)實訓(xùn)等實踐課程。該系列課程通過基于PBL模式的課程建設(shè)與改革后,課程教學(xué)模式采用“教師課前提出問題—學(xué)生查找資料并動手實踐—分組討論—教師總結(jié)”的方式進行。.NET技術(shù)由微軟公司提供技術(shù)支持,這方面的網(wǎng)絡(luò)資源十分豐富,學(xué)生完全可以利用課余時間進行自主學(xué)習,教師設(shè)計出帶有趣味性的問題,學(xué)生帶著問題去查閱文獻和資料,會有很大的收獲。
以.NET企業(yè)級應(yīng)用開發(fā)這樣的專業(yè)核心課程為例,筆者制定了完備的課程標準與課程整體設(shè)計、實驗項目卡等教學(xué)資源。同時,利用吉林大學(xué)課程中心網(wǎng)站(cc.jlu.edu.cn)構(gòu)建本門課程的課程網(wǎng)站,提供網(wǎng)上課件下載、作業(yè)提交、分組討論等功能。通過前期所開設(shè)的基礎(chǔ)課程,學(xué)生在進行該門課程之前已經(jīng)具備了基本的C#編程能力,對Web系統(tǒng)的基本組成、工作原理以及與傳統(tǒng)的C/S軟件架構(gòu)的區(qū)別也都基本熟悉。通過.NET企業(yè)級應(yīng)用開發(fā)課程,學(xué)生能夠通過具體的項目開發(fā)整合所學(xué)知識,真正地鍛煉通過所學(xué)知識解決實際問題的能力。
對于問題設(shè)計,筆者在教學(xué)中引入了與學(xué)生密切相關(guān)的網(wǎng)上考試系統(tǒng)。在這個問題中,學(xué)生既是用戶又是開發(fā)人員,一方面要考慮什么樣的功能適用于學(xué)生,另一方面還要考慮通過哪些技術(shù)可以實現(xiàn)這些功能。教師在這個問題又扮演著“導(dǎo)演”的角色,教師也是這個問題的主要用戶,對學(xué)生給出的需求有一票否決權(quán)。因此學(xué)生要學(xué)會與教師(客戶)溝通,充分了解實際需求。項目開發(fā)完成以后,教師和學(xué)生又都成為了測試人員,可以對該問題的解決方案作出評價,這里包括教師的評價和分組之間的互評。通過項目開發(fā),每個學(xué)生都通過解決實際問題學(xué)會了發(fā)現(xiàn)問題、分析問題、解決問題的方法。
基于對課程內(nèi)在邏輯的分析,使用自頂向下的設(shè)計,較好地實現(xiàn)從問題到教學(xué)目標的映射。該門課程包括3個項目,共計60學(xué)時,其中圍繞如何開發(fā)網(wǎng)上在線考試系統(tǒng),可將該門課程的教學(xué)內(nèi)容分為需求分析、系統(tǒng)總體設(shè)計、后臺與前臺功能實現(xiàn)及系統(tǒng)測試與發(fā)布等4個階段。
第1個階段,網(wǎng)上考試系統(tǒng)需求分析。網(wǎng)上考試系統(tǒng)共包含3個角色,分別是學(xué)生、教師和管理員,由于學(xué)生對于考試非常熟悉,所以這樣的系統(tǒng)對于學(xué)生來說較為適合。在該階段,需要強調(diào)學(xué)生的自主學(xué)習,或者稱為獨立學(xué)習。學(xué)生通過教材閱讀、互聯(lián)網(wǎng)資料查找、學(xué)院教師與教務(wù)管理人員的直接溝通等方式獨立進行該階段的學(xué)習任務(wù)。有條件的學(xué)生可以通過多媒體、互聯(lián)網(wǎng)等途徑學(xué)習,充分利用自己手中的教育資源。該階段可以以項目策劃書的方式作為成果進行驗收。
第2個階段,網(wǎng)上考試系統(tǒng)總體設(shè)計。根據(jù)前一階段的需求分析和設(shè)計方案,擬采用分組學(xué)習,又稱為合作探究的方式。以小組為單位,由組長負責。小組成員之間互相交流,共同研討。該階段通常包括系統(tǒng)概要設(shè)計、詳細設(shè)計和數(shù)據(jù)庫設(shè)計等內(nèi)容。該階段可以以項目總體設(shè)計書、系統(tǒng)功能模塊圖、系統(tǒng)用例圖等作為成果進行驗收。
第3個階段,系統(tǒng)后臺與前臺功能實現(xiàn)。各小組分工明確,通力配合,按照總體設(shè)計思路進行系統(tǒng)各功能模塊的編碼實現(xiàn)。在這個過程中,各小組都會遇到各種各樣的實際問題,各小組可以通過討論的方式解決問題。在該階段,教師的輔助作用得以體現(xiàn),教師應(yīng)進行重難點講解,同時整理并匯總各小組提出的問題,選擇學(xué)生疑問較多的三到五個問題,作為本節(jié)課講解的重點內(nèi)容。該階段可以以程序代、系統(tǒng)功能展示等作為成果進行驗收。
第4個階段,系統(tǒng)測試與發(fā)布。該階段的工作可通過“小組互測”的方式進行,在一個相對獨立的環(huán)境下運行系統(tǒng)單元,觀測和記錄運行結(jié)果,并對結(jié)果進行獨立評價。小組成員對其他組員給出的測試結(jié)果進行驗證和修改,組員共同實施系統(tǒng)部署與發(fā)布。本階段最主要的工作就是進行項目總結(jié)與資料整理,可以通過項目總結(jié)報告的形式進行驗收。
通過開發(fā)“信息發(fā)布系統(tǒng)”,學(xué)生可以達到以下的學(xué)習目標及能力:①學(xué)生可以進一步熟練使用標準控件和驗證控件進行頁面的設(shè)計與制作;②進一步理解ASP.NET的頁面代碼模型以及Web站點的類型,動態(tài)網(wǎng)站開發(fā)asp.net課程中對頁面代碼模型的原理進行過介紹,但難于理解,學(xué)生通過具體的項目開發(fā),能夠真正理解該原理的作用;③進一步掌握ADO.NET模型,不僅僅是掌握Connection對象、Command對象等基本概念,更應(yīng)該理解離線模式數(shù)據(jù)訪問與連線模式數(shù)據(jù)訪問的特點和應(yīng)用場景。應(yīng)該不只局限于追求功能上的實現(xiàn),也應(yīng)該同時考慮系統(tǒng)性能、優(yōu)化問題以及安全問題;④理解Session模型,課上對該模型的講解較為難于理解,而在該項目的開發(fā)中,管理員角色需要在不同的系統(tǒng)功能頁面之間切換,管理員信息的存儲正是通過Session模型實現(xiàn)的,這對學(xué)生理解該模型已經(jīng)何時使用該模型具有重要作用。
通過“網(wǎng)上選課系統(tǒng)”,學(xué)生在前一個系統(tǒng)開發(fā)的基礎(chǔ)上,重點可以掌握ASP.NET的三層架構(gòu)設(shè)計原理及方法。對三層架構(gòu)的理解,需要具體項目的支持,學(xué)生只有在開發(fā)多個項目案例之后,才會對三層架構(gòu)的巨大作用有所理解,而課上的時間有限,先讓學(xué)生實現(xiàn)一個不采用三層架構(gòu)的系統(tǒng),然后再讓學(xué)生修改這個系統(tǒng),用三層架構(gòu)來實現(xiàn),從而讓學(xué)生能夠比較出來該模型的優(yōu)勢。另外,學(xué)生可以進一步熟練使用網(wǎng)站導(dǎo)航等服務(wù)器控件,同時理解ASP.NET標準服務(wù)器控件、HTML控件和HTML服務(wù)器控件之間的區(qū)別和聯(lián)系。
最后,通過“網(wǎng)上考試系統(tǒng)”,學(xué)生學(xué)習可以進入到能力進階,在掌握基本知識的前提下,進一步了解Ajax技術(shù)、三個系統(tǒng)的整合方法、系統(tǒng)的部署與維護等等。從軟件項目管理的角度對系統(tǒng)進行自我評價。在整個學(xué)習過程中,學(xué)生既是用戶,又是程序員、測試員和項目經(jīng)理,對學(xué)生的能力和素質(zhì)要求極高,可以真正鍛煉和考察學(xué)生的綜合素質(zhì)。
計算機行業(yè)發(fā)展迅速,隨之而來對計算機教育教學(xué)的發(fā)展提出了更高的要求,這不僅僅體現(xiàn)在對學(xué)生的學(xué)習能力、溝通能力和綜合能力要求上,也體現(xiàn)在對教師對課程的設(shè)計、教學(xué)內(nèi)容的調(diào)整、教學(xué)方法的改革上。另外,計算機教學(xué)與其他學(xué)科的教學(xué)還有一個特殊的要求,現(xiàn)代高速發(fā)展的信息社會對計算機專業(yè)學(xué)生的自學(xué)能力要求極高,教師在教學(xué)過程中應(yīng)該切實提高學(xué)生的自學(xué)能力。
筆者以吉林大學(xué)2017年度本科教學(xué)改革研究項目為依托,主要研究如何將PBL教學(xué)法應(yīng)用到.NET企業(yè)級應(yīng)用開發(fā)系列課程的教學(xué)過程中,以及如何針對高職教育教學(xué)的特點,對PBL教學(xué)法進行適當?shù)母母镆云谶_到更好的教學(xué)效果。通過前期項目組所做的具體工作,PBL教學(xué)法能夠激發(fā)學(xué)生的學(xué)習興趣,提升學(xué)習主動性,為軟件技術(shù)專業(yè)以能力為本位的教育思想提供了一條值得推廣的經(jīng)驗途徑。
軟件開發(fā)具有非常大的可操作性,建設(shè)以問題為導(dǎo)向的軟件技術(shù)專業(yè)核心課程,就是從被動式的教與學(xué)轉(zhuǎn)化為團隊協(xié)作式的學(xué)習,教師轉(zhuǎn)變?yōu)椤皩?dǎo)師”,對學(xué)生予以引導(dǎo)和指導(dǎo);同時,引用真實的軟件項目案例,強化學(xué)生的動手實踐環(huán)節(jié),培養(yǎng)學(xué)生的動手能力,為學(xué)生進入工作崗位做好準備,從而實現(xiàn)真正意義上的職業(yè)能力的培養(yǎng)。