楊菲
摘要:在當(dāng)前職業(yè)教育改革的背景下,為了提高職業(yè)教育課堂教學(xué)的質(zhì)量,同時也為了提升學(xué)生的IT職業(yè)素養(yǎng),很多職業(yè)院校進(jìn)行了項(xiàng)目教學(xué)的嘗試和研究。該文詳細(xì)介紹了基于PHP程序設(shè)計(jì)課程的項(xiàng)目課程的開發(fā)過程。
關(guān)鍵詞:項(xiàng)目課程;PHP程序設(shè)計(jì);項(xiàng)目教學(xué);高職
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)26-0132-02
當(dāng)前,為了提高高職高專課堂教學(xué)的質(zhì)量,進(jìn)一步深化職業(yè)教育的教學(xué)改革,我院在“雙三元”辦學(xué)理念的指引下,進(jìn)行了一系列的教學(xué)改革。其中最重要的是為了加強(qiáng)學(xué)生的實(shí)訓(xùn),把教學(xué)周分成了前八周,后八周,其中第九周和第十八周為專門的實(shí)訓(xùn)周,專業(yè)可自行設(shè)置相應(yīng)的核心課程由學(xué)生完成實(shí)訓(xùn)項(xiàng)目。同時,學(xué)校大力加強(qiáng)對教師的教育教學(xué)改革的培訓(xùn),專門組織了針對全校教職工的“行動導(dǎo)向”培訓(xùn)班,開辦了幾期。同時,還邀請姜大源教授到學(xué)校作報(bào)告。一系列的培訓(xùn)給教職員工帶來了強(qiáng)烈的思想和心理沖擊,也為我校的職業(yè)教育改革指明了方向。
為了貫徹“以學(xué)生為中心”的職業(yè)教育改革方向,通過不斷的教育教學(xué)實(shí)踐探索,同時結(jié)合IT類課程的特點(diǎn),特別是程序設(shè)計(jì)類課程的特點(diǎn),這一類的課程采用項(xiàng)目教學(xué)法無疑是行之有效的教學(xué)方法。項(xiàng)目教學(xué)法就是在老師的指導(dǎo)下,將一個相對獨(dú)立的項(xiàng)目交由學(xué)生自己處理,信息的收集、方案的設(shè)計(jì)、項(xiàng)目實(shí)施及最終評價(jià),都由學(xué)生自己負(fù)責(zé),學(xué)生通過該項(xiàng)目的進(jìn)行,了解并把握整個過程及每一個環(huán)節(jié)中的基本要求。職業(yè)教育項(xiàng)目課程是一種以工作任務(wù)為中心選擇、組織課程內(nèi)容,并以完成工作任務(wù)為主要學(xué)習(xí)方式的課程模式。以下我就詳細(xì)介紹基于PHP程序設(shè)計(jì)課程的項(xiàng)目課程的開發(fā)過程。
1 PHP程序設(shè)計(jì)課程介紹
本課程是我校計(jì)算機(jī)應(yīng)用專業(yè)的一門專業(yè)核心課程,也是一門實(shí)踐性很強(qiáng)的課程。課程主要講解PHP的相關(guān)知識及PHP在WEB應(yīng)用程序開發(fā)中的實(shí)際應(yīng)用,通過具體案例,使學(xué)生鞏固數(shù)據(jù)庫、網(wǎng)頁制作等專業(yè)知識,更好地進(jìn)行開發(fā)實(shí)踐。該課程選定當(dāng)前流行的應(yīng)用網(wǎng)站開發(fā)為職業(yè)方向,以實(shí)用的應(yīng)用網(wǎng)站系統(tǒng)開發(fā)的實(shí)際工作過程為導(dǎo)向,通過一些典型的設(shè)計(jì)任務(wù),讓學(xué)生掌握PHP基本語法,使用開源系統(tǒng)快速搭建、修改實(shí)用的網(wǎng)站。本課程的預(yù)備課程是《網(wǎng)頁設(shè)計(jì)與制作》、《DIV+CSS》等,該課程也是《PHP項(xiàng)目實(shí)訓(xùn)》的預(yù)備課程。該課程在本專業(yè)課程中的地位如圖所示:
2 PHP程序設(shè)計(jì)采用項(xiàng)目教學(xué)法的可行性分析
PHP程序設(shè)計(jì)在語法上與C語言很類似,我校計(jì)算機(jī)專業(yè)的學(xué)生進(jìn)校第一學(xué)期就開設(shè)了C語言,相對基礎(chǔ)比較扎實(shí),同時,在學(xué)習(xí)PHP程序設(shè)計(jì)之前學(xué)生已經(jīng)學(xué)習(xí)了DIV+CSS網(wǎng)頁設(shè)計(jì),JAVASCRIPT程序設(shè)計(jì)等相關(guān)課程,這些都為我們后面開展項(xiàng)目教學(xué)打下了基礎(chǔ)。
同時,實(shí)施項(xiàng)目教學(xué)也是我們提高學(xué)生的學(xué)習(xí)興趣必然要求。高職高專的學(xué)生普遍存在學(xué)習(xí)基礎(chǔ)差,學(xué)習(xí)自主性不強(qiáng),上課容易走神。所以我們采用項(xiàng)目教學(xué)法,通過實(shí)用的項(xiàng)目首先吸引他們的眼球,以此來提高他們的興趣,后面講解起來就會更加輕松。
3 項(xiàng)目的選擇
[項(xiàng)目\&項(xiàng)目描述\&相關(guān)學(xué)習(xí)內(nèi)容\&項(xiàng)目1 制作一個注冊表單\&使用可視化編程工具,譬如Dreamweaver創(chuàng)建一個表單,要求表單中包括常用的表單元素,如:文本框、密碼框、單選按鈕、復(fù)選框、文本域、按鈕等,還包括文字和圖片。要求寫出PHP代碼,在點(diǎn)擊提交按鈕后顯示各控件內(nèi)輸入的值。\&PHP簡介、表單元素
、基本語法、表單程序控制、模塊化程序設(shè)計(jì)、 正則表達(dá)式\&項(xiàng)目2 編寫一個網(wǎng)頁,實(shí)現(xiàn)簡單計(jì)算器\&請使用PHP語言,在網(wǎng)頁中實(shí)現(xiàn)簡單計(jì)算器,其中加、減、乘、除可選擇,點(diǎn)擊等號出結(jié)果。\&流程控制概述 、分支結(jié)構(gòu) 、 循環(huán)結(jié)構(gòu) 、PHP中的函數(shù) \&項(xiàng)目3 編寫一個網(wǎng)頁實(shí)現(xiàn)輸入數(shù)的排序\&請使用PHP語言,在網(wǎng)頁中實(shí)現(xiàn)對5個成績數(shù)據(jù)的排序,然后實(shí)現(xiàn)三組數(shù)據(jù),分別為學(xué)號、姓名、分?jǐn)?shù)一共15個數(shù)據(jù)的排序。\&一維數(shù)組,二維及多維數(shù)組輸入及冒泡排序,多維數(shù)組的排序\&任務(wù)4 實(shí)現(xiàn)文件上傳功能\&在任務(wù)一的表單基礎(chǔ)上實(shí)現(xiàn)文件上傳的功能。要求大家要結(jié)合具體代碼實(shí)例,修改、編寫圖片上傳功能的代碼,看懂程序后你可以修改相關(guān)文件類型就可以實(shí)現(xiàn)其他文件的上傳功能。
實(shí)現(xiàn)完一個文件框的傳功能后,接著實(shí)現(xiàn)四個同時上傳,最后結(jié)合javascript前臺代碼實(shí)現(xiàn)動態(tài)增加文本框。\&文件系統(tǒng)概述 、目錄的基本操作 、文件的基本操作、文件的上傳與下載文件系統(tǒng)項(xiàng)目實(shí)例,復(fù)習(xí)多維數(shù)組,javascript知識
\&項(xiàng)目5 實(shí)現(xiàn)與數(shù)據(jù)庫的連接以及在網(wǎng)頁中顯示數(shù)據(jù)\&在mysql中建立學(xué)生表,實(shí)現(xiàn)數(shù)據(jù)庫的連接,在網(wǎng)頁中顯示學(xué)生表中的數(shù)據(jù),優(yōu)化代碼,釋放內(nèi)存,把功能寫成函數(shù)。\&Mysql數(shù)據(jù)庫,連接數(shù)據(jù)庫,增,刪,改查詢數(shù)據(jù)庫,關(guān)閉數(shù)據(jù)庫,數(shù)據(jù)庫函數(shù)的編寫。\&]
[項(xiàng)目6小型完整項(xiàng)目
新聞發(fā)布系統(tǒng)\&數(shù)據(jù)庫連接、關(guān)閉,連接關(guān)閉函數(shù)的制作。\&函數(shù),數(shù)據(jù)庫連接,\&新聞的發(fā)布、刪除、修改、新聞的詳細(xì)信息,讀取數(shù)據(jù)庫中新聞類別到下拉框中,
評論的發(fā)表,修改,刪除\&數(shù)據(jù)庫增刪改查
,文件上傳\&新聞的瀏覽和評論的瀏覽但條數(shù)較多時需要分頁。在分頁顯示時,需要理解分頁的算法和分頁鏈接的生成方法。\&分頁類模塊 、分頁顯示模塊程序調(diào)試\&學(xué)習(xí)session,cookies,實(shí)現(xiàn)記住用戶名、密碼。登錄功能的數(shù)據(jù)庫實(shí)現(xiàn)\&session,cookies,\&項(xiàng)目7 完善新聞發(fā)布系統(tǒng)的功能\&增加新聞的類型,新聞的分類顯示,熱門新聞排行榜\& 數(shù)據(jù)庫,查詢\&項(xiàng)目8 自主開發(fā)一個小型的系統(tǒng)(學(xué)生管理系統(tǒng)或人事管理系統(tǒng))\&要求學(xué)生從項(xiàng)目啟動、需求調(diào)研、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)、程序部署和項(xiàng)目結(jié)束去開發(fā)一個小型的CMS系統(tǒng),其中還包括一些評審工作,譬如:需求評審、概要評審、驗(yàn)收評審,另外,還包括測試工作,譬如:測試用例的編寫、代碼測試和功能測試等工作。
學(xué)生分組開發(fā)學(xué)生管理系統(tǒng)和人事管理系統(tǒng),實(shí)現(xiàn)學(xué)生或人員的增、刪、改、查,后逐步完善學(xué)生管理系統(tǒng)增加選課管理,人事管理系統(tǒng)增加工資管理系統(tǒng)。\&web軟件開發(fā)流程概述 、需求分析 、 系統(tǒng)功能預(yù)覽、數(shù)據(jù)庫設(shè)計(jì)、 系統(tǒng)架構(gòu)、 常用的功能模塊開發(fā)\&項(xiàng)目 9 京東商城項(xiàng)目(此項(xiàng)目在實(shí)訓(xùn)周完成)\&
包括登錄界面,驗(yàn)證碼程序的開發(fā),添加,刪除商品,分頁顯示等\&數(shù)據(jù)庫,數(shù)據(jù)庫連接\&]
通過以上九個項(xiàng)目的實(shí)訓(xùn),從簡單到復(fù)雜,通過這樣的層層深入,學(xué)生對PHP項(xiàng)目的開發(fā)有了深入的了解,對其中牽涉的知識點(diǎn)也能夠通過項(xiàng)目的更好的理解。其中項(xiàng)目一主要讓學(xué)生熟悉表單元素,項(xiàng)目二主要讓學(xué)生熟練使用流程控制語句,項(xiàng)目三主要是了解數(shù)組,項(xiàng)目四主要是講解文件上傳知識點(diǎn),項(xiàng)目五講解數(shù)據(jù)庫連接。通過這五個項(xiàng)目的講解,我們就可以進(jìn)入到一個小型完整項(xiàng)目的開發(fā)了。
以項(xiàng)目六新聞發(fā)布系統(tǒng)為例,我們首先完成的是新聞的發(fā)布,那就牽涉我們前面學(xué)習(xí)的項(xiàng)目一制作表單,項(xiàng)目四文件上傳,還有項(xiàng)目五數(shù)據(jù)庫操作。接下來是新聞的瀏覽,修改和刪除。然后是做評論的增、刪、改、查。這其中講解一個知識點(diǎn)就是分頁,后面再講解session、cookies,進(jìn)一步完善登錄功能。同時,為了讓學(xué)生更好地了解對數(shù)據(jù)庫的操作,我布置了增加新聞的類型,新聞的分類顯示,熱門新聞排行榜三個小程序項(xiàng)目讓學(xué)生完成。在實(shí)訓(xùn)周,學(xué)生主要是完成項(xiàng)目9京東商城項(xiàng)目,同時自己制作一個項(xiàng)目就是項(xiàng)目八主要是學(xué)生管理系統(tǒng)和人事管理系統(tǒng)二選一。
同時,為了讓學(xué)生以后更好地適應(yīng)公司開發(fā)的要求,提高學(xué)生的IT職業(yè)素養(yǎng),在學(xué)生的項(xiàng)目實(shí)踐過程中,我們盡量以公司的編程規(guī)范去要求每個學(xué)生,比如代碼的縮進(jìn),“{}”的對齊等一些問題。為了讓同學(xué)以后能夠適應(yīng)大型項(xiàng)目的開發(fā),在項(xiàng)目中特別強(qiáng)調(diào)了注釋和文檔的編寫,一定要為代碼添加注釋,增強(qiáng)代碼的可讀性和可維護(hù)性,盡管目前我們的代碼還不長,但要讓他們養(yǎng)成良好的習(xí)慣。對于文檔的編寫和閱讀,對于他們可能跟寫代碼一樣難,但也一定要堅(jiān)持編寫。一個大型項(xiàng)目的開發(fā)往往必須要依靠團(tuán)隊(duì)的力量,所以一個程序員一定要學(xué)會交流,交流一方面是要學(xué)會寫各種文檔,另一個方面則是要錘煉自己的性格。通過這些方面的努力,學(xué)生項(xiàng)目開發(fā)的能力大大增強(qiáng),IT職業(yè)素養(yǎng)也得到很大提高。
4 課程考核方式
1)成績確定
總成績=平時成績+課堂項(xiàng)目實(shí)踐+項(xiàng)目演示+其他
2)成績比例
由教師和學(xué)生干部評定紀(jì)律得分。\&10%\&項(xiàng)目實(shí)踐\&根據(jù)實(shí)踐完成的時間、功能的完善、程序是否有創(chuàng)新,由教師評定學(xué)生的成績。\&40%\&自主項(xiàng)目實(shí)踐\&由教師根據(jù)項(xiàng)目匯報(bào)情況給分\&50%\&]
作為老師,對于每一個項(xiàng)目,我都有詳細(xì)記錄學(xué)生的完成情況,包括記錄前三名做出來的同學(xué),給予每個同學(xué)相應(yīng)的加分。同時,對于同學(xué)做出來的程序,我選擇其中有代表性的程序,在課堂上講解,或由學(xué)生進(jìn)行講解。最后我根據(jù)同學(xué)在每一個項(xiàng)目中的表現(xiàn),以及側(cè)重在最后的自主項(xiàng)目實(shí)踐開發(fā)匯報(bào)情況,給每一個同學(xué)給出了這門課程的成績。
5 結(jié)束語
通過對PHP程序設(shè)計(jì)課程項(xiàng)目教學(xué)的實(shí)施,使得學(xué)生快速地掌握了項(xiàng)目開發(fā)的技巧和技能,也使得他們能更好地適應(yīng)公司對崗位開發(fā)的要求。通過對幾屆學(xué)生就業(yè)的走訪調(diào)查,學(xué)生從事PHP開發(fā)的同學(xué)也比較多,用人單位對我們的學(xué)生也較為滿意,這也充分說明項(xiàng)目教學(xué)是行之有效的。