摘要:ASP.NET是一門綜合性比較強(qiáng)的實(shí)踐課程。以學(xué)好WEB編程基礎(chǔ)和提高項(xiàng)目實(shí)踐能力為教學(xué)目的,在教學(xué)內(nèi)容、教學(xué)方法以及考核方式方面提出改革的實(shí)施細(xì)節(jié),通過教學(xué)改革提高了學(xué)生的學(xué)習(xí)能力和實(shí)踐能力,達(dá)到了良好的教學(xué)效果。
關(guān)鍵詞:ASP.NET;WEB;教學(xué)改革
作者簡介:高建清(1979-),男,福建漳州人,福建江夏學(xué)院電子信息科學(xué)學(xué)院,講師。(福建 福州 350108)
基金項(xiàng)目:本文系福建省教育廳科技項(xiàng)目(項(xiàng)目編號:JA11269)的研究成果。
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2013)19-0084-02
隨著B/S架構(gòu)在軟件開發(fā)中的興起,WEB技術(shù)得到了更廣泛的應(yīng)用。WEB編程技術(shù)也成為了軟件開發(fā)人員必須掌握的一種職業(yè)技能。目前主要采用的WEB開發(fā)技術(shù)有ASP.NET、JSP以及PHP等。JSP和PHP雖然有跨平臺的優(yōu)勢,但是配置繁瑣,編寫代碼量比較大,而ASP.NET具有可視化的開發(fā)工具,入門容易,適合中小型的項(xiàng)目開發(fā),因此被廣泛地引入課堂進(jìn)行教學(xué)。[1]
ASP.NET課程的教學(xué)目的主要是讓學(xué)生掌握好WEB編程基礎(chǔ),同時在學(xué)習(xí)完課程后能夠具備一定的WEB項(xiàng)目開發(fā)能力。課堂的學(xué)習(xí)時間畢竟有限,WEB技術(shù)的發(fā)展又非常迅速,通過加強(qiáng)基礎(chǔ)訓(xùn)練來提高學(xué)生的學(xué)習(xí)能力是教學(xué)過程中一個很重要的環(huán)節(jié)。然而作為實(shí)踐性很強(qiáng)的課程,又不能只停留在基礎(chǔ)知識上,必須引入實(shí)際案例,通過項(xiàng)目實(shí)踐學(xué)會對基礎(chǔ)知識的靈活應(yīng)用。本文提出的教學(xué)改革方案正是以提高學(xué)生的學(xué)習(xí)能力和實(shí)踐能力為出發(fā)點(diǎn),合理安排教學(xué)內(nèi)容,既要學(xué)好基礎(chǔ)知識,又要進(jìn)行適當(dāng)?shù)捻?xiàng)目實(shí)踐。
一、ASP.NET課程特點(diǎn)
ASP.NET課程綜合性比較強(qiáng),學(xué)生必須有具備一定的程序設(shè)計(C#或者VB.NET)、網(wǎng)頁設(shè)計(HTML、CSS以及JavaScript)和數(shù)據(jù)庫系統(tǒng)方面的基礎(chǔ)知識。因?yàn)檎n程涉及的內(nèi)容比較廣,受到教學(xué)課時的限制,需要綜合考慮知識點(diǎn)的重要性以及前后引用關(guān)系,對教學(xué)內(nèi)容進(jìn)行篩選。
開發(fā)環(huán)境一般選擇Visual Studio 2005或者更高的版本,數(shù)據(jù)庫系統(tǒng)以SQL Server和Access為主。雖然開發(fā)環(huán)境是可視化的,而且提供了很多服務(wù)器控件,可以直接進(jìn)行拖放、雙擊等操作,但是必須與傳統(tǒng)的可視化編程區(qū)別開來,在WEB界面設(shè)計方面還要結(jié)合編寫HTML和CSS來實(shí)現(xiàn)。在服務(wù)器端代碼編寫方面,又要注意與早期的ASP技術(shù)的區(qū)別,盡量把界面設(shè)計和服務(wù)端代碼分離。[2]
ASP.NET課程的教學(xué)應(yīng)該充分了解ASP.NET技術(shù)的新特點(diǎn),注重對學(xué)生的WEB編程基礎(chǔ)和思維的培養(yǎng),而不能只側(cè)重讓學(xué)生跟著做項(xiàng)目。
二、教學(xué)內(nèi)容改革
本文的ASP.NET課程的改革思路是按照循序漸進(jìn)的方式進(jìn)行教學(xué),學(xué)生首先學(xué)習(xí)基礎(chǔ)知識,之后再引入項(xiàng)目,由易到難,逐步提高開發(fā)能力。
教學(xué)內(nèi)容的選取要考慮ASP.NET技術(shù)的新特點(diǎn),以學(xué)習(xí)WEB編程基礎(chǔ)和培養(yǎng)學(xué)生的學(xué)習(xí)能力為主。目前這門課程的教材普遍存在使用的開發(fā)環(huán)境版本比較低、技術(shù)比較陳舊、學(xué)習(xí)案例過于簡單等問題,而一些非教材類的書籍能夠跟上技術(shù)的發(fā)展,但是又不適合課堂教學(xué)。所以不能使用單一的教材,應(yīng)該引入一些流行的技術(shù),可以采用電子教案授課,并提供一些相關(guān)的學(xué)習(xí)資料給學(xué)生。
其中,以下幾個方面的內(nèi)容要作為教學(xué)重點(diǎn)。
1.鞏固HTML語言基礎(chǔ)
HTML是WEB頁面的基礎(chǔ),頁面內(nèi)容如何組織最終都由HTML來實(shí)現(xiàn)。ASP.NET服務(wù)器控件在運(yùn)行后也是用HMTL代碼來顯示的,只不過是由服務(wù)器在運(yùn)行時做了轉(zhuǎn)換。如果是采用JSP或者PHP技術(shù),那么就要自己去控制HTML的輸出。最基本的HTML標(biāo)記包括文本與圖像顯示、超鏈接、列表以及表格,掌握了這些HTML標(biāo)記就可以更加靈活地控制WEB頁面的顯示效果。
2.WEB頁面之間傳遞參數(shù)和共享數(shù)據(jù)的方法
WEB頁面之間傳遞參數(shù)和共享數(shù)據(jù),初學(xué)者很容易跟WinForm窗體編程混淆。不同頁面之間的數(shù)據(jù)傳遞跟不同窗體之間的數(shù)據(jù)傳遞差別很大,不能直接互相引用。QueryString和Session兩個對象在WEB開發(fā)中使用很頻繁,必須要理解它們的用法。QueryString方式是在鏈接的時候帶上1個或者1個以上的參數(shù),實(shí)現(xiàn)頁面之間傳遞一些比較簡單的參數(shù),比如傳遞編號參數(shù)。參數(shù)按照一定的格式直接放在鏈接地址里面,接收頁面要先獲取參數(shù)后才能使用。Session對象是存放在服務(wù)器內(nèi)存里面的,在頁面之間可以互相引用,實(shí)現(xiàn)數(shù)據(jù)共享,常應(yīng)用在登錄驗(yàn)證模塊,但是不宜創(chuàng)建太多,否則會影響服務(wù)器的運(yùn)行速度。
3.WEB頁面的布局
很多教材中的例子在頁面布局方面使用Table的方法,看起來比較直觀,學(xué)生也容易掌握。但是使用Table方法,在設(shè)計環(huán)境中的顯示跟在瀏覽器的效果差別很大,而且不能精確控制,會產(chǎn)生越調(diào)整越混亂的現(xiàn)象。而目前WEB2.0一般采用DIV+CSS的方式,代碼更加簡潔,位置與大小都能得到很好的控制,對搜索引擎也更加友好。所以在這方面要搜集一些DIV+CSS的資料和范例,把比較流行的布局方法加入到課程中。
4.SQL方式訪問數(shù)據(jù)庫
數(shù)據(jù)庫的操作主要包括記錄的顯示、查詢、插入、更新、刪除等,雖然ASP.NET提供了很多數(shù)據(jù)控件,在不用編寫代碼的情況下就能夠?qū)崿F(xiàn)這些功能,比如GridView、DataList以及FormView等,但是也存在模式固定、功能較為單一、難以擴(kuò)充等問題,有些地方使用數(shù)據(jù)控件不好實(shí)現(xiàn)。比如使用FormView實(shí)現(xiàn)記錄的插入或者更新,雖然不用寫代碼就能實(shí)現(xiàn),但是FormView是一個容器類控件,不能直接訪問容器里面的控件。要獲取FormView里面某個控件的屬性就必須先查找控件,然后再引用。因此,掌握使用純代碼方式去訪問數(shù)據(jù)庫,有時候反而更加方便,而且功能也容易擴(kuò)充。
三、教學(xué)方法與實(shí)踐改革
1.教學(xué)環(huán)節(jié)
教學(xué)方法可以采用傳統(tǒng)的教學(xué)方法與實(shí)踐特點(diǎn)相結(jié)合的方式進(jìn)行。
(1)激發(fā)學(xué)習(xí)興趣。在第一堂課上,演示一些項(xiàng)目實(shí)例或者優(yōu)秀的畢業(yè)設(shè)計作品給學(xué)生看,再適當(dāng)介紹一些企業(yè)在招聘WEB程序員方面的要求,讓學(xué)生有更明確的課程學(xué)習(xí)目的,激發(fā)他們的學(xué)生興趣。例子的選取方面也應(yīng)注重實(shí)用性與趣味性,比如介紹Application和Session對象時可以用一個簡單的聊天室的例子。
(2)啟發(fā)式教學(xué)。教學(xué)方法采用啟發(fā)式教學(xué)是比較適合的。在介紹知識點(diǎn)之前,先列舉和展示一些常見的應(yīng)用,使學(xué)生有直觀的體會,然后再一步一步實(shí)現(xiàn)這些功能。避免直接打開源代碼來講解或者使用復(fù)制代碼的方式,盡量一邊以問題方式提出要實(shí)現(xiàn)的功能,一邊手工輸入代碼來實(shí)現(xiàn)。演示過程中,應(yīng)該適當(dāng)出現(xiàn)一些錯誤,當(dāng)場進(jìn)行調(diào)試改正,這樣學(xué)生會有更深刻的印象,也能提高學(xué)生分析問題和解決問題的能力。
(3)與學(xué)生交流。與學(xué)生交流可以及時發(fā)現(xiàn)教學(xué)中存在的問題,了解學(xué)生對知識的掌握情況。對于學(xué)生沒有掌握好的內(nèi)容,如果不是個別現(xiàn)象,必須在課堂上把知識點(diǎn)再講清楚,避免學(xué)生累積的問題越來越多,最后會對學(xué)習(xí)失去信心。通過交流也可以增進(jìn)師生的感情,提高學(xué)生學(xué)習(xí)興趣,更有利于教學(xué)的開展,形成良性互動。
2.實(shí)踐環(huán)節(jié)
(1)基礎(chǔ)實(shí)驗(yàn)。實(shí)踐課的學(xué)習(xí)不能只講授理論知識,還需要配套實(shí)驗(yàn)題目讓學(xué)生動手操作。實(shí)驗(yàn)題目的設(shè)計要涵蓋知識點(diǎn),又要有一定的提高,重點(diǎn)培養(yǎng)學(xué)習(xí)能力。如果只是按照講課的例子,學(xué)生跟著做一遍,不利于提高學(xué)生的知識應(yīng)用能力。同時對于學(xué)生提交的作業(yè)要能及時批改,發(fā)現(xiàn)存在的問題,并在課堂上進(jìn)行講評。
在項(xiàng)目驅(qū)動教學(xué)法中是將項(xiàng)目的各個模塊分散到每個知識點(diǎn)中,最后完成整個項(xiàng)目。[3]但是實(shí)驗(yàn)題目采用這種方式會讓學(xué)生覺得有難度,而且一個項(xiàng)目中的模塊也不一定能夠很好地覆蓋知識點(diǎn),缺乏多樣性。
(2)項(xiàng)目實(shí)踐。在學(xué)生完成配套實(shí)驗(yàn)題目之后,要開始進(jìn)行實(shí)際項(xiàng)目的綜合訓(xùn)練,提高實(shí)踐能力。作為學(xué)習(xí)的項(xiàng)目不能過于龐大和復(fù)雜,通常選擇比較常見的、開發(fā)難度較低的,實(shí)現(xiàn)其中的基本功能即可,關(guān)鍵在于學(xué)習(xí)項(xiàng)目的開發(fā)過程。例如,采用新聞發(fā)布系統(tǒng)、成績管理系統(tǒng)以及圖書管理系統(tǒng)等。
項(xiàng)目的學(xué)習(xí)要包括需求分析、數(shù)據(jù)庫設(shè)計、網(wǎng)站總體規(guī)劃、界面方案設(shè)計、代碼編寫以及網(wǎng)站發(fā)布等主要過程。每個環(huán)節(jié)都要給出實(shí)例,學(xué)生以實(shí)例為參考進(jìn)行擴(kuò)充和完善,可以按照分組或者獨(dú)立完成形式完成整個項(xiàng)目的開發(fā),最后把項(xiàng)目以作品形式提交。
四、考核方式改革
課程的考試不宜采用傳統(tǒng)理論課程的筆試方式,應(yīng)該選擇在機(jī)房進(jìn)行上機(jī)考試的方式,考試內(nèi)容以基礎(chǔ)知識為主,著重考查學(xué)生對知識的應(yīng)用能力。在上機(jī)考試過程中,對于是否采用閉卷方式的問題,從實(shí)踐來看,閉卷考試的形式更適合,學(xué)生對主要知識點(diǎn)的掌握更加牢固。最后學(xué)生的考核成績由平時實(shí)驗(yàn)成績、項(xiàng)目作品得分以及上機(jī)考試成績構(gòu)成。平時的實(shí)驗(yàn)評分促進(jìn)學(xué)生更好地掌握基礎(chǔ)知識,項(xiàng)目作品考核促進(jìn)學(xué)生提高動手實(shí)踐能力,但是這兩項(xiàng)考核學(xué)生都可以在課外時間完成,很難避免個別學(xué)生有抄襲的行為,所以最后通過上機(jī)考試方式提高考核的公正性。
五、教學(xué)效果
通過ASP.NET課程的教學(xué)改革使學(xué)生既掌握了扎實(shí)的基礎(chǔ)知識,又具備了一定的項(xiàng)目開發(fā)能力,學(xué)生對本課程的教學(xué)都比較滿意。無論從學(xué)生的畢業(yè)設(shè)計作品,還是從學(xué)生最后走上工作崗位后的工作和學(xué)習(xí)能力來看,本課程的教學(xué)改革都達(dá)到了良好的效果。
參考文獻(xiàn):
[1]陳長喜.ASP.NET程序設(shè)計基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2011.
[2]張景峰.ASP程序設(shè)計教程[M].北京:北京交通大學(xué)出版社,2005.
[3]田洪云.基于項(xiàng)目驅(qū)動的Asp.net程序設(shè)計課程教學(xué)方法的探討[J].福建電腦,2012,(3).
(責(zé)任編輯:劉輝)