摘 要:目前,開放源代碼的LAMP組合已經超過了很多同類的開發軟件,越來越多的用戶和開發人員選擇LAMP開發Web系統。LAMP中的P就指PHP。因此很多高校都開設了PHP相關課程。我院開設的《PHP網站編程技術》是網絡工程和網絡安全專業的重要課程,這門課程實踐性很強,因此采取理論加實踐的綜合教學模式。本文簡單介紹了PHP網絡編程技術,以及對這門課程實踐教學存在的問題進行了分析,提出了PHP網絡編程技術實踐教學改革措施,為往后《PHP網站編程技術》課程的提升提供重要幫助。
關鍵詞:PHP網站編程技術 實踐教學 改革
引言
PHP網絡編程技術始創于1994年Rasmus Lerdorf為了維護個人網頁而編寫的簡單程序技術,后來他個人發現用混合的語言比原來的編寫程序更加簡單,于是重新探索,將不同種程序語言綜合起來,發現可以制作簡單的動態網頁,這也是PHP網站編程技術的早期運用。經過程序師多年的探索,現如今已經運用該項技術開發了大量的應用網站已經軟件。
PHP網絡編程技術是一種在語法上吸收了C語言、 Java和Perl的優勢,進行動態網頁編程的技術。由于PHP混合了多種語法優勢,所以,它的執行速度比CGI或者Perl更快。PHP編程出來的動態頁面跟用其他的編程出來的相比較,在執行命令上PHP是將程序直接嵌入到HTML的文檔中去進行執行,就效率而言,它能夠比完全生成HTML標記的CGI還高很多。除此之外, PHP還能夠對編譯后代碼進行編程,并且編程后的譯文具有加密和優化代碼的功能。
目前,軟件學院主要有軟件工程和網絡工程兩個大方向。軟件工程又分為幾個專業,這些學生主要學習軟件開發、游戲開發、嵌入式開發等。網絡工程的學生以前主要學習網絡搭建、服務器配置等內容。為了給網絡專業的學生提供更多的就業出路,我們院在前幾年率先開設了《PHP網站編程技術》這門課程。《PHP網站編程技術》這門課一共48個課時,其中理論課時和實驗課時各占24個,除此之外還有一周的課程設計,是一門實踐性很強的課,因此實踐教學非常重要。
一、《PHP網站編程技術》實踐教學現狀
《PHP網站編程技術》是一門綜合性很強的學科,不僅要求學生掌握網絡基礎知識、頁面設計、PHP編程技術,還要求具有一定的MySQL數據庫知識和Linux操作系統知識。因此,如果單獨的理論灌輸而缺乏實戰經驗的話,學生永遠都是一知半解。而對于傳統的PHP網站編程技術實踐教學的設計上往往忽視了培養學生實際的實踐能力,只是為了考察或測試學生對某個知識點掌握情況,而沒有把這個知識點真正運用到項目中,所以最終真正搭建一個完整的Web系統的學生很少。例如:我們之前這門課有10個實驗: PHP基礎、PHP表達式、PHP流程控制、PHP數組、PHP數據采集、PHP函數、基于Mysql的PHP管理系統數據庫、PHP會話控制、字符串處理、 PHP綜合應用。除了最后一個實驗,每個實驗只考察到一兩個知識點,而且很多實驗例如表達式和函數沒有很具體的項目背景。這些學生即便是做出來了,也沒任何成就感。
二、《PHP網站編程技術》實驗教學改革
(一)實驗內容改革
實驗是實踐類課程的重要環節,從學時分配上我們也看到了這一點,實驗內容安排的是否恰當直接影響了學生的學習興趣和學習效果,因此實踐改革的第一步就是實驗的改革。具體方法是:改變傳統的“知識點”式的實驗內容,采用“項目式”的實驗模式。項目主要來自老師的累積。
具體的做法是將一個項目抽離成10個實驗,逐步完成一個完整的項目。下面以“新聞發布系統”為例,講解一個實驗的安排。第一個實驗是“網站開發流程”。通過帶了幾年的畢業設計發現,很多同學在這方面很欠缺。通過這個實驗讓學生了解如何進行需求分析,系統設計等。因為網絡專業的學生沒有學習過軟件工程這門課,很多同學對網站開發流程一無所知,所以先從宏觀讓學生有所認識。這個實驗最終讓學生學會畫用例圖、功能模塊圖、數據流圖、數據字典、E-R圖。雖然學生還沒學MySQL數據庫,但是他們之前有學過數據庫原理這門課,因此數據字典、E-R圖等內容他們接觸過,但可能不知道是干什么用的,通過這個實驗就讓學生體會到了知識的具體實踐。接下來,講到PHP數據的提交和收集時,我們讓學生做新聞發布系統的注冊頁面和登錄頁面,讓學生體會到$_GET和$_POST這兩個內置數組如何使用。講到MySQL數據庫時,我們讓學生把第一個試驗中數據庫設計的結果實施到MySQL中。講PHP如何訪問MySQL時,我們讓學生把注冊用戶的信息添加到數據庫中,以及讓學生把新聞內容分頁顯示出來。講到cookie和session時,我們讓學生把注冊頁面進行修改和完善,讓網站記住學生的登錄信息。講到MVC的時候,我們讓學生用框架的方式重寫新聞發布系統。這樣下來,我們通過不停的補充和完善一個項目,不僅使學生掌握了知識點,而且體會到了具體的應用,學生看到一步步完整的網站,學習興趣也會提高。
授課時我發現,有一些學生會自學這門課程,所以一個班學生的水平并不一樣,為了解決這個問題,采取的方法是同一個實驗分為必做部分和選作部分。必做部分是對基本知識點的考察,選作部分屬于知識點的擴展。這樣,水平相對好點的學生不會覺得沒事可做,而且給這些學生提供了充分發揮能力的空間。
(二)實驗考核改革
《PHP網站編程技術》成績有三部分組成:平時成績、實驗成績和課程設計成績。其中平時成績主要為出勤率。以往的實驗成績主要看學生的實驗實驗報告。實驗報告并不能很好的展現實驗的過程,也不能實現和學生的互動。為此我們采取了以下的方法:將實驗成績分為兩部分,第一部分主要取決于課堂上實驗過程中,老師對每個學生實驗進度的檢查以及其他交流情況;第二部分,讓學生把實驗的結果提交的專門的實驗系統中,該系統不僅可以看到實驗報告冊,還可以看到學生完成的具體項目內容、代碼,老師根據代碼運行情況打分。這樣不僅可以督促學生完成實驗,而且能真實反映學生的掌握情況。
三、《PHP網站編程技術》課程設計教學改革
(一)課程設計內容改革
課程設計同樣也是是工程類本科教學的重要環節,課程設計教學中必須緊緊的圍繞培養目標的要求。充分調動師生的積極性,尤其是教學改革的主力軍學生的主觀能動性,使他們積極投身于課程設計教學的改革,參與課程設計教學改革的全過程。獨立自主的完成課程設計任務,可以使學生的理論知識得到深化,實踐能力受到培養。同時學生的思維創新能力、項目設計、評價能力都得到了訓練。
課程設計是實驗的升華,如果說實驗是在老師的指導下分解項目的,課程設計就要靠學生自己來分析和解決問題。因此,它不僅鍛煉了學生的創造力、分析力、還有解決問題的能力以及團隊合作的能力。
在以往的課程設計中,我們更多的是讓學生自己出題目獨立完成。這樣做雖然可以鍛煉學生獨立思考的能力,但往往導致學生做出來的項目太簡單,不符合實際。因此我們提出了一種新的課程設計模式,也就是將企業中網站開發的真實組織結構還原于課程設計中,鍛煉學生的團隊合作意識的同時讓學生了解企業的軟件開發模型。
課程設計由6人一組,學生自由組合,每組按照自己的方式組織開發團隊,整個團隊有以下幾種分工:產品管理:1個人,前期負責和客戶交流,了解客戶的期望,以進行需求分析,后期負責向客戶展示產品,獲取客戶的意見,除此之外,還要負責整個項目的推進及協調;前臺開發:2個人,負責網站美工,網頁布局等內容,初步布局后由產品管理交給客戶提出修改意見;后臺開發:2個人根據產品管理提供的需求分析進行具體動態頁面功能的實現和數據庫的部署,此過程必須嚴格按照需求分析進行,并且是反復修改;測試:一個人,負責所有頁面功能數據的測試,把測試結果返回給開發人員。在整個過程中,教師可以扮演客戶的角色,針對要開發的項目回答學生的調研問題,并提出功能和界面設計的要求。
最后,必須要求學生提交完整的開發文檔。實際上,一個成功完善的網站項目,最終產出的不只是可交付的實際網站,還包括產品開發過程中的文檔。文檔是產品的重要組成部分,而且以后能得到一定的復用,一位著名的軟件工程專家曾說過:只要提供完美的構架、需求與設計文檔,在沒有源代碼的情況下,可以重新開發出一款與原來一樣的產品。這句話道出了文檔的重要性。因此我們要求學生在完成網站的同時完成相關的文檔。文檔主要包括包括需求分析說明、代碼文檔、軟件功能說明等。需求分析說明中要包含用例圖、數據流圖、數組字典、E-R圖等,代碼文檔中要詳細說明定義了哪些類,哪些函數等,以及都有哪些功能。軟件功能說明書要寫明網站的功能模塊圖,以及流程圖。
(二)課程設計考核改革
在課程設計的考核中切記考核的形式和內容大于考核的結果。考核的目的不是給學生一個成績,而更多的是了解學生的掌握情況,優點以及存在的不足,以便及時給出意見。為此我們要采用多方位、多角度、綜合性的考核模式。在這種考核模式中我們對學生及項目的評估主要看以下幾個方面:第一,需求分析階段和老師的交流情況;第二,項目演示過程中,功能的完整度;第三,整個項目的難易度;第四,網站的布局安排;第五,文檔的完整度。最終給出學生優、良、中、差、不及格五個等級的成績。
四、結束語
《PHP網站編程技術》作為一門實踐性較強的課程,在教學的方法上應有別于一般的基礎理論課程.提升學生的主動性,通過對教學內容及實驗內容的合理安排對學生進行正確引導并提高學生實際動手能力是其中的關鍵.我們對該課程的改革力求提高學生分析和解決問題的能力,通過教學實踐的探索,這種教學方法極大地提高了學生學習的積極性,取得了良好的教學效果。
參考文獻
[1] 汪建偉.基于項目推動的《PHP網站編程技術》實踐教學改革[J].現代教育改革信息息,2013,12(17):137-228.
[2] 嚴榮麗.淺談《PHP網站編程技術》實踐教學改革[J].網絡編程技術,2014,10(26):45-46.
[3] 許蜀玲.基于項目推動的《PHP網站編程技術》實踐教學改革[J].網站編程管理,2016,12(17):237-238.
[4] 楊武.《網頁制作》教學改革的思考與實踐[J].高校網絡改革,2016,12(17):237-238.
[5] 周華強.《網頁設計與制作》課程教學改革研究與實踐[J].山西煤炭管理干部學院學報,2012,10(26):45-46.
作者簡介
姜彬彬,女,漢族,1982年3月生,河南南陽人,計算機工程碩士,講師,研究方向:網絡及網絡安全。