羅云芳+唐運樂
【摘 要】針對“PHP網站建設與開發”課程課件和現有網絡教學系統的不足,研究設計開發新的適合“PHP網站建設與開發”等程序設計課程的網絡教學系統。
【關鍵詞】網絡教學系統 課件管理 視頻錄制 循環動態演示
【中圖分類號】G 【文獻標識碼】A
【文章編號】0450-9889(2016)04C-0186-04
“PHP網站建設與開發”是計算機類專業的核心專業課程,課程教學成效將直接影響學生利用PHP語言進行Web應用程序開發的技能水平,影響學生畢業后是否符合PHP Web開發程序員工作崗位要求。但作為程序設計類課程,“PHP網站建設與開發”課程具有涉及知識面廣、內容抽象、實踐操作性很強等特點。
要想提高課程教學質量,建設一套功能豐富、適合本課程教學的網絡教學系統是非常有必要的。“PHP網站建設與開發”相關課程的教學存在許多網絡教學系統,但這些網絡教學系統主要存在以下問題:系統展示教學課件時以PDF文檔顯示,比較死板沒有原有PPT動畫動態效果;系統缺少自動錄屏功能,無法錄制教師上課視頻供學生課后學習;系統無法實現程序設計循環結構執行過程的動態演示,無法將抽象的知識形象化,不易于學生對知識的掌握。
針對當前“PHP網站建設與開發”相關課程網絡教學系統的不足,我們設計開發一套全新的網絡教學系統,以更好地輔助教學。新系統為更好地輔助課程教學,主要具有三大新功能:PPT教學課件的管理和內嵌于Web頁面中打開顯示;教師授課視頻錄制、去噪聲和存儲管理;程序循環結構執行過程動態演示。
一、系統整體設計
為方便教學使用,“PHP網站建設與開發”課程教學系統是采用B/S架構模式實現的Web網絡版。系統開發平臺基于Windows操作系統,以Apache為后臺服務器、Mysql為后臺數據庫、PHP為開發語言、ThinkPHP為開發框架,按MVC設計模式進行設計開發。一是實現了PHP代碼與HTML代碼的分離,業務邏輯處理層、視圖層和數據處理層的分離,在修改頁面視圖時不需要重新編譯數據模型層和控制器,使系統具有良好的重用性、擴展性和可維護性。
“PHP網站建設與開發”課程教學系統為更好地輔助課程教學,除一般教學系統具有的常規功能外,主要包括PPT教學課件管理展示、授課過程視頻錄制與處理、循環結構程序執行過程動態演示、程序流程圖自動繪制與存儲等新功能,系統總體框圖如圖1所示。
系統中,課程PPT教學課件管理包括前端PPT教學課件目錄樹型展示和課件的Web頁面內嵌打開顯示,后臺的課程PPT教學課件動態分類管理,包括課程的添加、刪除、修改和查詢管理,根據選擇的課程添加、刪除、修改和查詢相應的PPT教學課件;授課視頻錄制和視頻聲音去噪聲處理實現教師授課過程中整個授課過程的視頻錄制和分類存儲管理,在錄制前按視頻存儲信息表要求設置相應的視頻信息,錄制時按設置的信息自動將視頻分類存儲,對已錄制的教學視頻聲音進行去噪聲處理,提高視頻聲音的質量;循環結構程序執行過程動態演示,將數據排序算法抽象的執行過程形象化,實現按授課時隨意給定排序數據個數和隨機生成的排序數據,按冒泡排序算法的執行過程,動態演示程序算法循環執行的整個過程,使課程重要的算法部分抽象的知識點形象化,讓學生更易于理解和掌握,為更好地深入程序設計相關課程的學習打下良好基礎。
二、網絡教學系統實現
(一)PPT教學課件管理
由于PPT文件不能直接內嵌于Web頁面中打開顯示,因此很多網絡教學系統都將PPT教學課件轉換為PDF文件格式以方便在Web頁面中打開,但這種方式無法保留PPT文件的原始特性。為方便PPT教學文件的管理和保證PPT教學課件的原始特性,本網絡教學系統建立PPT教學課件管理信息表,將PPT教學課件信息歸類入庫管理,在展示時按課件名稱以樹型目錄列表菜單的方式列出,點擊菜單列表中的課件名稱,課件將內嵌在Web頁面中打開顯示。
實現將PPT教學課件內嵌在Web頁面打開的方法可以使用微軟的OCX控件和第三方的控件。為方便系統使用在此使用微軟的OCX控件實現PPT教學課件的打開顯示。具體實現步驟如圖2所示。
下載OfficeCtrol.ocx控件后,在系統的命令提示符窗口執行regsvr32 OfficeCtrol.ocx命令實現注冊,注冊成功后打開php.ini配置文件,修改配置啟用com.allow_dcom=true,使PHP支持OfficeCtrol.ocx控件的應用開發,在網絡教學系統PPT課件文件管理模塊頁面中使用語句include("PPTCtrol\OfficeCtrol.ocx")把控件包含進來,利用$ppt = new COM("PPTCtrol\OfficeCtrol.ocx ") or die("Unable to instanciate PPT")語句創建PPT對象模型,創建成功利用$ppt->Documents->Open()語句打開PPT教學課件文件,利用Object對象顯示PPT教學課件文件,實現PPT教學課件文件在Web頁面的內嵌顯示。
(二)授課語音視頻錄制
把授課過程的語音視頻錄制下來,供學生課后學習和復習觀看,能有效幫助學生消化課堂上老師所講授的課程內容和技能。授課語音視頻錄制包括教學語音視頻錄制和語音視頻存儲兩部分功能,授課語音視頻錄制實現先在系統頁面添加錄制啟動按鈕,然后進入錄制設置頁面,設置完成后則開始授課語音視頻的錄制,錄制完成后按停止按鈕將視頻存儲到相應目錄并將視頻按錄制前設置的信息入庫存儲,實現視頻的管理。授課語音視頻錄制功能的實現采用原生態開發比較麻煩,這里采用Mcapture+MFile構件實現,具體步驟如圖3所示。
使用Oraycn.MFile.dll和Oraycn.MCapture.dll引用Mcapture+FMFile構件,使用CapturerFactory.CreateDesktopCapturer創建視頻文件;使用Threading類創建啟動多線程,同步實現麥克風數據和授課計算機屏幕圖像的采集,其中使用CapturerFactory.CreateMicrophoneCapturer實現麥克風數據的采集,使用CapturerFactory.CreateDesktopCapturer實現屏幕圖像的采集,對采集的音頻數據使用videoFileMaker進行編碼并采用改進的譜相減語音增強處理算法對音頻信號去噪聲處理,對采集的屏幕圖像進行裁剪,因為MFile要求錄制的視頻幀的長和寬必須是4的整數倍,通過MultimediaManager的DesktopEncodeQuality屬性,調整采集屏幕圖像的清晰度;使用videoFileMaker.AddVideoFrame將采集的音頻和圖像同步寫入到視頻文件,錄制完成后使用StopRecordAsyn停止錄制即可完成視頻的錄制和保存。
在教學視頻的錄制中,由于授課環境人較多,通過麥克風采集的音頻數據除了教師的聲音外還會有較多的背景噪聲,因此對錄制的音頻要特別進行去噪聲處理,為增強錄噪聲處理效果,采用改進譜相減算法對錄制的音頻進行去噪聲處理,譜相減語音增強處理算法其數學表達式為:
在去噪聲處理中,由于噪聲能量分布廣,而語音能量則集中于某于頻段,通過靈活調整(1-3)式中的α和β的值,可以有效提高去噪聲能力。采用改進后的語音增強處理算法實現授課語音處理流程如圖4所示。
授課視頻音頻語音去噪處理使用wvaerda()函數讀取錄制的語音,確定漢明窗長度和平滑速度后使用hamming()函數實現語音信號處理,確定傅里葉變換長度即循環次數M,使用fft()函數實現傅里葉變換,使用mean()函數實現功率譜計算,獲取改進后譜相減閥值α、β后確定功率因素補償閥值,用乘積的方法實現去噪聲處理,使用ifft()函數進行IFFT變換,按以上方式循環處理完成所讀取的音頻信號即可完成授課視頻中音頻的去噪聲處理。
(三)循環結構執行過程動態演示
循環結構是程序設計的核心基礎,PHP程序設計也不例外,但循環結構程序執行的過程比較抽象,如果不能將其執行的抽象過程形象的表示出來,學生很難理解和掌握,傳統的教學課件或系統只能展示循環結構的簡單執行過程,無法實現循環結構程序執行抽象過程的形象化,不能滿足教學隨機案例的動態演示需要。循環結構執行過程動態演示功能模塊從數據排序的經典算法冒泡排序的實現動態演示其數據的排序過程,把抽象的循環結構程序執行過程形象化。以冒泡排序動態演示循環結構執行過程具體的實現流程如圖5所示。
按輸入的預排序數據個數N,使用隨機函數random.Next()生成[0-100]區間范圍的預排序數據,根據預排序數據個數生成預排序數據顯示標簽,為使動態生成的標簽能夠整齊排列顯示,標簽位置x坐標值表達式為:x=k*50+50,y坐標值表達式為:y=j*50+60,其中k表示標簽的下標,j表示標簽顯示的行標值。在生成的標簽中顯示隨機生成的預排序原始數據,按冒泡排序算法的思想,對數據進行非降序排列過程是第一趟將第一個數與后面每一個數一一進行比較,如果后面的數比第一個數小則交換,第二趟將第二個數與后面每一個數一一進行比較如果后面的數比第一個數小則交換,依此方式,進行N-1趟則排序完成,整個執行過程共完成N*(N-1)次比較。為突出顯示正排序的數據,以實現動態演示的效果在排序的過程中用定時器間隔時間執行和在排序過程中通過設置標簽的背景色實現,同時生成交換數據顯示標簽,修改已排序數據標簽背景色標識數據排序完成,最后顯示已排序的結果數據。
三、系統測試
為驗證本網絡教學系統所實現的PPT教學課件管理、授課語音視頻錄制和循環結構執行過程動態演示功能,對三個功能模塊進行測試。點擊進入PPT教學課件管理模塊,進入功能模塊主界面,界面左側是課件管理菜單,具體的菜單項是從PPT教學課件管理信息表中讀取教學課件信息動態生成的,從系統后臺能方便地實現教學課件的添加、刪除和修改等管理。點擊左側菜單課件標題,打開PPT教學課件在右側內嵌顯示,同時PPT教學課件可以放映和展示原來設計的動畫效果,與直接打開效果一樣,實現了PPT教學課件的動態管理。
進入授課語音視頻錄制模塊,點擊錄制授課視頻設置功能按鈕,進入設置界面,設置相應的參數后,點擊開始錄制按鈕開始錄制一段時間后,停止錄制并保存錄制的文件,用視頻播放器打開錄制的視頻能正常打開并播放。
進入循環結構執行過程動態演示功能模塊,打開功能界面,在界面的排序數據個數編輯區輸入排序數據的個數,點擊成生數據功能按鈕,生成排序數據并生成顯示數據的標簽,并在標簽正常顯示數據。點擊開始排序功能按鈕,實現數據排序,并生成輔助標簽,修改正排序數據的顯示標簽背景色,同時生成顯示已排序數據的標簽顯示已排序數據,實現了數據排序過程的動態演示效果。數據排序過程動態演示效果具體如圖6所示。
四、小結
在教學中,采用適合的網絡教學系統輔助教學,能有效地幫助教師提高教學質量,但針對于“PHP網站建設與開發”等程序設計類課程,目前的網絡教學輔助系統存在不足,為解決目前網絡教學輔助系統的不足。本文在透徹了解網絡教學輔助系統急需的功能后,全新設計開發適合“PHP網站建設與開發”課程的網絡教學輔助系統,新系統主要具有PPT教學課件管理和內嵌于Web頁面中打開顯示、授課語音視頻錄制存儲管理和循環結構執行過程動態演示三大特色模塊。測試表明系統能實現PPT教學課件的動態管理和內嵌于Web頁面中打開顯示,并支持PPT教學課件的放映和動畫效果;授課過程視頻的錄制和存儲管理,方便學生課后學習使用;循環過程動態演示,將抽象和算法執行過程形象化,使學生易于理解和掌握。新設計開發的網絡教學系統,經過4所學校20多個班級師生的推廣試用,獲得師生的良好評價,輔助教師教學取得良好的效果。
【參考文獻】
[1]楊晉.大型B/S架構實驗綜合管理平臺研究與實現[J].實驗室研究與探索,2011(10)
[2]馬東宇.基于Windows Server 2012 R2、WampServer環境的Moodle平臺搭建及優化擴展[J].內蒙古師范大學學報,2014(11)
[3]申斌,李利民.基于MVC模式S2SH框架的庫存管理系統[J].實驗室研究與探索,2014(11)
[4]伍旭,戴光明,彭雷,等.基于MVC架構的深空探測任務設計與仿真平臺[J].計算機仿真,2014(8)
[5]楊光,李龍清,常心坦,等.基于Web實現樹型目錄兩種方式及比較[J].西安科技大學學報,2004(3)
[6]房國棟,李曉靜,王聰,等.網絡教學資源的管理潛力與網絡學習過程管理設[J].現代教育技術,2012(6)
[7]沈曉東,李弼程.一種基于功率因數補償的譜相減算法改進[J].河南科技大學學報,2011(2)
[8]隋璐瑛,張雄偉,黃建軍,等.基于碼本學習的改進譜減語音增強算法[J].計算機工程與應用,2013(16)
[9]張賀,沈天飛,滕秋霞.基于級聯式改進型譜減算法的語音去噪技術研究[J].工業控制計算機,2014(7)
[10]謝志英,袁紅麗,韓月霞,等.關于計算機編程語言之間融合教學的研究[J].計算機工程與科學,2014(4)
[11]邊倩,焦康,王忠,等.“C語言程序設計”課程數組教學方法的探索[J].計算機工程與科學,2014(12)
[12]楊波,梁少林. C語言中冒泡排序算法的教學設計與分析[J].信息與電腦,2015(16)
[13]王勇,蔡國永.基于隨機函數的哈希函數[J].計算機工程與設計,2015(10)
[14]李海燕,張立忠.《生命科學導論》網絡教學資源平臺的研究與實現[J].計算機與應用化學,2011(5)
[15]梁永春,王凱成,趙方舟,等.開放式實訓教學管理系統的開發[J].實驗技術與管理,2014(6)
【作者簡介】羅云芳(1981— ),男,廣西賀州人,廣西職業技術學院計電系講師,碩士,研究方向:軟件工程,計算機應用技術及計算機教學。
(責編 盧 雯)