杜曉晨 馮海林 徐愛俊
摘要:針對Windows程序設計課程實驗環(huán)節(jié)存在效率不高的狀況,筆者分析了該課程的實驗特點與浙江農(nóng)林大學教學實際,設計并實現(xiàn)了一個輔助實驗平臺軟件,嘗試以技術(shù)性手段來提高學生的實驗環(huán)節(jié)效率,并將其應用于實驗環(huán)節(jié),取代傳統(tǒng)的實驗模式,取得了較好的實踐效果。
關(guān)鍵詞:輔助實驗平臺;實驗效率;技術(shù)性手段
● 引言
Windows程序設計是高等院校計算機科學與技術(shù)專業(yè)中的一門必修課。該課程在計算機專業(yè)的課程體系中起著承上啟下的作用,它將學生在低年級掌握的基礎(chǔ)課知識,如C/C++、數(shù)據(jù)結(jié)構(gòu)等與平臺無關(guān)的編程語言和方法與Windows操作系統(tǒng)相結(jié)合,使學生能在Windows上開發(fā)可視化應用程序,從而順利進行高年級專業(yè)課的學習,如數(shù)字圖像處理、計算機圖形學、數(shù)據(jù)庫原理等(這些課一般都在主流的Windows上進行實驗)。[1]
Windows程序設計課程的應用性極強,旨在提高學生的編程能力,實驗環(huán)節(jié)尤其重要。但該課程的學時數(shù)一般較少,因此,如何在有限的實驗環(huán)節(jié)中,提高學生的實驗效率,使學生盡可能多地積累Windows編程經(jīng)驗值得進行教學研究和探索。
● 實驗環(huán)節(jié)現(xiàn)狀分析
Windows程序設計課程的實驗環(huán)節(jié)效率不高、有待優(yōu)化主要體現(xiàn)在以下幾個方面。
1.題目設計缺乏個性化
實驗題目設計是本課程實驗環(huán)節(jié)中的一個重要方面。[2]以往同一個班的實驗題目是一樣的,但由于學生間對知識的掌握程度和編程能力客觀上存在一定差異,這就會讓一部分學習情況較好的學生覺得實驗收獲不夠,而另一部分學習情況相對較差的學生卻覺得實驗太難,從而導致實驗效果不能讓所有學生都滿意。
2.題目要求的表達不夠直觀
與C、C++、數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)編程課程不同,Windows程序設計的實驗最終結(jié)果是可視化應用程序,實驗效果帶窗體界面,有些甚至還有動畫效果、用戶交互等功能。[3]因此,傳統(tǒng)的實驗指導書用文字說明實驗題目要求的形式不利于學生快速、直觀地理解實驗題目的要求,有時學生實現(xiàn)的功能甚至與題目要求不符,從而降低了實驗的效率。
3.存在重復性編碼
計算機專業(yè)的多數(shù)基礎(chǔ)編程課程,如C、C++、數(shù)據(jù)結(jié)構(gòu)等課程的實驗,學生可以直接在空白的main( )函數(shù)中編寫功能代碼。[4]而Windows應用程序開發(fā)則不同,想要實現(xiàn)功能,必須先實現(xiàn)基本W(wǎng)indows窗體。一個基本的Windows窗體中,涉及了窗體的定義、注冊、創(chuàng)建、顯示,以及Windows消息循環(huán)、消息響應函數(shù)編碼等環(huán)節(jié),需要近100行代碼來實現(xiàn)。因此,在以往的實驗環(huán)節(jié)中,不少學生尤其是學習情況相對較差的學生在實現(xiàn)Windows基本窗體的過程中就花費了大量寶貴時間,導致實驗效率低下。
● 基于輔助實驗平臺的實驗模式
針對以上在實驗教學過程中發(fā)現(xiàn)的問題,結(jié)合Windows程序設計課程實驗的特點和浙江農(nóng)林大學計算機科學與技術(shù)專業(yè)學生的實際情況,筆者嘗試以技術(shù)性手段來提高Windows程序設計課程實驗環(huán)節(jié)的效率,設計并開發(fā)了一個Windows程序設計的輔助實驗平臺軟件,它具備實驗題目自選模塊、實驗效果演示模塊、輔助程序開發(fā)模塊、編程資源模塊,能有效提高學生的實驗效率,改善實驗教學效果。
1.實驗題目自選
為了實現(xiàn)個性化實驗,使不同學習程度的學生都能夠有適合自己的實驗題目,筆者根據(jù)學生情況制定了難度不一的實驗題目和詳細程度不一的實驗指導教程。浙江農(nóng)林大學的Windows程序設計課程共48學時,其中理論教學32學時,實驗教學16學時,針對這8次實驗,分別設計了難、中、易三套實驗題目。
同時,將這三套實驗題目集成于本輔助實驗平臺軟件中,這樣,學生們就能方便地選擇適合自己類型的實驗方案,各取所需。此外,對實驗指導教師、實驗室人員來說,實驗管理也比以往更方便了,只需在每臺電腦預裝本輔助實驗平臺軟件,無需網(wǎng)絡和紙質(zhì)的實驗指導手冊,學生就能查看實驗題目和實驗指導教程。
2.實驗效果演示
為了更直觀表達實驗題目的要求和預期效果,減少學生在理解題意上花費的時間,從而提高實驗效率,本輔助實驗平臺軟件實現(xiàn)了實驗效果演示模塊,不再使用實驗指導書這種不適合本課程的傳統(tǒng)實驗模式。
實驗效果演示模塊集成了每次實驗的所有實驗題目,能調(diào)用每個實驗題目相對應的Windows應用程序可執(zhí)行文件,從而形象地表達實驗要求。學生可通過本模塊方便地預覽預期的實驗效果,在實驗完成后能與之比較實驗效果,驗證編程環(huán)節(jié)是否正確。如圖1所示,當點擊“效果演示”后,預期的動畫實驗效果能直觀展示。
3.輔助程序開發(fā)
SDK編程是通過C/C++語言,以消息處理的編程方式,直接調(diào)用Windows提供的API函數(shù)進行程序開發(fā)。它是底層的Windows程序設計方法,能讓學生加深對Windows編程的理解。一般在Windows程序設計的教學中,都先介紹SDK編程,然后介紹基于MFC、ATL類庫的編程方法。然而,與基于MFC、ATL類庫的編程模式中,VC++會自動提供應用程序基礎(chǔ)框架不同,SDK編程模式中,VC++不提供基礎(chǔ)框架代碼,要實現(xiàn)實驗題目,必須先實現(xiàn)窗體基礎(chǔ)框架。這是學生在初學Windows編程時的障礙之一,如何讓學生只關(guān)注功能本身,盡快實現(xiàn)實驗題目,從而培養(yǎng)編程興趣、提高編程信心并提高實驗效率,值得探討。
筆者嘗試利用輔助實驗平臺軟件提供輔助程序開發(fā)模塊,該模塊集成Windows應用程序的基本框架,能顯示基本的窗體,并且學生可以在本軟件上可視化添加每個實驗的功能代碼,最終再由本軟件導出最終的源程序。這樣,學生在實驗過程中,只需要專注于實驗相關(guān)的功能,進行事件響應部分的處理代碼即可,從而大大減少了重復性代碼的編寫量,切實提高了實驗課時的利用率。如圖2所示,當點擊“開始編程”后,空白的輸入框內(nèi)自動生成了基本框架代碼,在輸入框內(nèi)添加窗口處理代碼完成功能代碼編寫后,再點擊“生成.cpp文件”(如圖3),即可導出最終的源程序。
4.編程資源
Windows程序設計的實驗環(huán)節(jié)中需要用到一些編程資源,如位圖、圖標、第三方控件、類庫等。本輔助實驗平臺軟件除了實現(xiàn)以上3個主要功能模塊之外,還將集成所有實驗題目需要用到的Windows編程資源,這樣學生就不必花大量時間去搜索編程資源,從而能進一步提高學生的實驗效率,同時也能方便實驗指導教師、實驗室人員的管理。
5.基于輔助實驗平臺的實驗流程
本輔助實驗平臺軟件通過軟件的形式覆蓋學生實驗時的各個環(huán)節(jié)。通過本實驗平臺,改變了傳統(tǒng)編程類課程的實驗模式,學生可自行選擇不同難度的題目和詳細程度不一的實驗指導,實驗要求也更直觀、明確,實驗環(huán)節(jié)中編程的效率也得到相應提高。學生基于本輔助實驗平臺軟件進行實驗時的流程如圖4所示。
● 建設效果
筆者以浙江農(nóng)林大學計算機科學與技術(shù)專業(yè)101、102、111、112共四個班級為試點,對計算機101、102班采用傳統(tǒng)的實驗教學模式,而對計算機111、112班則采用輔助實驗平臺軟件的實驗教學模式。為了驗證本輔助實驗平臺軟件這種技術(shù)性手段是否能提高學生的實驗效率,本文統(tǒng)計了每次實驗學生能完成實驗題目的平均數(shù)量。此外,為了更進一步分析本輔助實驗平臺軟件對不同學習狀況的學生在實驗環(huán)節(jié)的受益程度影響,將學生分為學習狀況相對落后、學習狀況一般、學習狀況較好三類(按C、C++、數(shù)據(jù)結(jié)構(gòu)課程的考試得分)分別進行了統(tǒng)計,統(tǒng)計結(jié)果如下表所示。
從上表可以發(fā)現(xiàn),采用了本輔助實驗平臺軟件覆蓋整個實驗環(huán)節(jié)后,學生能完成實驗題目的平均個數(shù)上升明顯,就整體而言,由原來每次實驗平均只能完成2~3個題目,上升到每次實驗平均能完成3~4個題目,實驗效率提高了29.2%,說明本文提出的以技術(shù)性手段提高學生實驗效率的教學方法是有效的。
此外,學習情況相對落后和一般的學生通過本平臺實驗效率分別提高了60%和30.4%,說明輔助實驗平臺對這兩部分學生影響較大,能幫助他們更快、更好地完成實驗,積累更多的Windows編程經(jīng)驗,這與本平臺的設計初衷一致;學習情況較好的學生通過本平臺實驗效率提高了8.6%,說明輔助實驗平臺對這部分學生影響不大,即使沒有平臺,這部分學生也能較好地完成實驗任務。
除了以上的數(shù)字結(jié)果,從學生在實驗過程中的表現(xiàn)及課后的反饋情況來看,本平臺能讓學生更快看到自己的實驗成果,從而能更快地入門Windows編程,在適應了Windows程序設計基本方法和技巧后,對本平臺的輔助程序開發(fā)模塊依賴會慢慢降低,在后半學期絕大多數(shù)學生已經(jīng)能熟練地從頭開始SDK編程;另外,本平臺不但讓學生完成的實驗題目數(shù)量增加了,更重要的是讓學生在初學時就樹立了學好Windows程序設計的信心、激發(fā)了興趣和熱情,這種影響是潛移默化的。
● 結(jié)語
本文嘗試以技術(shù)性手段設計并實現(xiàn)了一個輔助實驗平臺軟件用于Windows程序設計課程的實驗環(huán)節(jié),取得了良好的實踐效果。下一步的工作是繼續(xù)探索實驗環(huán)節(jié)能改進或優(yōu)化的環(huán)節(jié),進一步完善輔助實驗平臺軟件;同時,將技術(shù)性手段改進教學或?qū)嶒灥乃悸吠茝V、應用到其他的計算機專業(yè)課程。
參考文獻:
[1]方敏,張勝.Windows程序設計(第5版)[M].北京:清華大學出版社,2010:12-15.
[2]方昱春,陳訊雷,張景嶠.Windows編程課實踐教學探討[J].計算機教育,2010(18):153-155.
[3]楊程,陳念年,李郁峰.游戲開發(fā)驅(qū)動的Windows程序設計課程教改探析[J].教學研究,2012(2):92-95.
[4]蔡學森,陳向瑞,戴金波.計算機專業(yè)課實驗教學改革與創(chuàng)新人才培養(yǎng)[J].長春師范學院學報(自然科學版),2009(8):134-136.
基金項目:浙江農(nóng)林大學重點教改項目“《windows程序設計》實驗平臺建設”(ZD1205)。