郭天一,賈 林
(焦作師范高等??茖W(xué)校 信息工程學(xué)院,河南 焦作 454000)
“C#程序設(shè)計”課程是我校計算機應(yīng)用技術(shù)專業(yè)、軟件專業(yè)、計算機網(wǎng)絡(luò)專業(yè)、物聯(lián)網(wǎng)技術(shù)應(yīng)用專業(yè)的一門重要的編程類專業(yè)基礎(chǔ)課。課程目標(biāo)是培養(yǎng)學(xué)生使用.NET(微軟操作平臺)平臺開發(fā)桌面及網(wǎng)絡(luò)應(yīng)用程序的能力,課程主要內(nèi)容涉及C#語言基本語法、面向?qū)ο缶幊谭椒āinform(Windows Form,Windows窗體)應(yīng)用程序開發(fā)等。
高等職業(yè)教育是“以就業(yè)為導(dǎo)向,以應(yīng)用為宗旨,以能力為本位”的一種高等教育類型,目標(biāo)是培養(yǎng)實踐能力強、具有良好職業(yè)道德、技術(shù)應(yīng)用型人才[1]。但是,目前“C#程序設(shè)計”課程教學(xué)并不滿足以上要求。為貫徹國家職業(yè)教育的方針,培養(yǎng)復(fù)合型人才,要注重學(xué)歷教育與社會職業(yè)技能接軌。在課程改革中要結(jié)合全國職業(yè)院校技能大賽(高職組)—“物聯(lián)網(wǎng)技術(shù)應(yīng)用”賽項,探索“C#程序設(shè)計”課程改革的新模式,培養(yǎng)學(xué)生知行合一,理論應(yīng)用于實踐的能力。
在“C#程序設(shè)計”教學(xué)中大多數(shù)已經(jīng)采用了項目化教學(xué)模式,極大地提高了學(xué)生的動手實踐能力,但是還存在以下幾個問題:(1)這些項目只是為了講解某個知識點而編寫的虛擬項目。就目前的應(yīng)用層面而言,C#的應(yīng)用開發(fā)方向主要是用于企業(yè)級的web開發(fā)[2],但是這些虛擬項目往往無法提供真實的硬件數(shù)據(jù),一般是自己在代碼里填寫一個虛擬的數(shù)據(jù)。這會導(dǎo)致學(xué)生在學(xué)習(xí)完該課程之后,僅僅學(xué)習(xí)到了C#語言的語法,而對于一個項目中軟件和硬件怎么配合,軟件如何控制硬件執(zhí)行操作并不清楚。(2) 教學(xué)中的實驗項目是為完成某個知識點而設(shè)計的,針對性強,但是關(guān)聯(lián)性弱,無法構(gòu)成一個較完整的項目應(yīng)用體系,學(xué)生通過學(xué)習(xí)之后缺乏完成一個整體項目的實踐經(jīng)驗[3]。(3)高職學(xué)生的學(xué)習(xí)更傾向于動手操作。該課程目前的講解多數(shù)局限于軟件編程,沒有涉及到硬件操作方面,導(dǎo)致學(xué)生的學(xué)習(xí)興趣不高。(4)“C#程序設(shè)計”課程涉及的知識點多且抽象,如類、封裝、繼承、多態(tài)、接口等,理論性強,導(dǎo)致學(xué)生的畏學(xué)情緒嚴(yán)重。
“物聯(lián)網(wǎng)技術(shù)應(yīng)用”(高職組)賽項主要是檢驗學(xué)生在物聯(lián)網(wǎng)組建、產(chǎn)品配置與應(yīng)用、應(yīng)用系統(tǒng)開發(fā)等方面的技術(shù)技能和職業(yè)素養(yǎng)。以某年河南省職業(yè)院校技能大賽高職組“物聯(lián)網(wǎng)技術(shù)應(yīng)用”賽項為例,競賽主要通過對物聯(lián)網(wǎng)工程應(yīng)用實訓(xùn)系統(tǒng)的操作使用,檢驗學(xué)生對智慧城市、智能環(huán)境監(jiān)控和智能商業(yè)等應(yīng)用場景的掌握程度和應(yīng)用能力。其中,物聯(lián)網(wǎng)PC端應(yīng)用開發(fā)主要基于.NET客戶端進行,使用C#語言作為編程語言。
WPF是微軟新一代圖形系統(tǒng),運行在.NET Framework 3.0及以上版本,為用戶界面、2D/3D 圖形、文檔和媒體提供了統(tǒng)一的描述和操作方法。簡單來說,WPF是桌面應(yīng)用的一種UI(User Interface,用戶界面)解決方案, 前臺采用XAML(eXtensible Application Markup Language,可擴展應(yīng)用程序標(biāo)記語言)控制布局,后臺可以采用C#、VB、C++等編程語言來響應(yīng)控件的動作,相當(dāng)于前臺采用XAML編寫控件,而控件的動作執(zhí)行由后臺的編程語言通過編寫函數(shù)來實現(xiàn)。
基于此,可以在“C#程序設(shè)計”課程中增加WPF內(nèi)容。在講述了C#語言的基本語法之后,引入WPF相關(guān)的內(nèi)容,借助物聯(lián)網(wǎng)工程應(yīng)用實訓(xùn)系統(tǒng),可開發(fā)完成以下實訓(xùn)操作:LED(Light Emitting Diode,發(fā)光二極管)顯示、實驗室環(huán)境管理、人體紅外感知、煙霧及火焰報警、智能路燈系統(tǒng)、視頻監(jiān)控等等。
以實訓(xùn)項目“實驗室環(huán)境管理”為例,來說明如何對“C#程序設(shè)計”課程進行改革。
“實驗室環(huán)境管理”項目要求:(1)環(huán)境參數(shù)采集。該項目可以實時或者按照設(shè)置的時間來采集溫度、濕度、光照度、噪聲等實驗室的環(huán)境參數(shù)。(2)預(yù)警提示。設(shè)置環(huán)境參數(shù)的預(yù)警提示。如當(dāng)溫度過高時,顯示“溫度提示:溫度高,請采取降溫措施!”提示語等。(3)安裝執(zhí)行器設(shè)備。當(dāng)某個環(huán)境參數(shù)超過了設(shè)置的閾值之后,自動開啟相應(yīng)的執(zhí)行器進行必要的處理。如當(dāng)實驗室內(nèi)的光線較暗時,自動開啟燈泡進行照明。
基于以上的要求,設(shè)計該項目的系統(tǒng)框圖如圖1所示:
圖1 實驗室環(huán)境管理項目的整體框
本項目的整體系統(tǒng)由傳感器設(shè)備、數(shù)據(jù)采集器、無線網(wǎng)絡(luò)、軟件控制界面和執(zhí)行器設(shè)備組成。其中,傳感器設(shè)備代表各種各樣的傳感器(如:溫濕度傳感器等),負責(zé)采集實驗室的環(huán)境參數(shù)有溫度、濕度、光照度和噪聲等;數(shù)據(jù)采集器代表數(shù)據(jù)采集集中器,傳感器設(shè)備采集到的環(huán)境參數(shù)數(shù)據(jù)均匯聚于數(shù)據(jù)采集器處;無線網(wǎng)絡(luò)指的是Wi-Fi無線網(wǎng);軟件控制界面指的是在計算機上利用WPF設(shè)計的環(huán)境管理軟件;執(zhí)行器設(shè)備指各種執(zhí)行設(shè)備,包括風(fēng)扇、燈泡和加濕器等。
在該系統(tǒng)中,利用IEEE802.15.4協(xié)議組建星型無線傳感網(wǎng),系統(tǒng)中各個傳感器采集數(shù)據(jù)并將數(shù)據(jù)匯集到數(shù)據(jù)采集器。系統(tǒng)工作的時候,傳感器自主加入無線傳感網(wǎng),周期性地采集各種環(huán)境參數(shù),并發(fā)送至數(shù)據(jù)采集器,最終通過Wi-Fi無線網(wǎng)絡(luò)傳輸至計算機上,并且在計算機的軟件控制界面上顯示、存儲;同時,各類環(huán)境數(shù)據(jù)可設(shè)置預(yù)警閾值,當(dāng)某種環(huán)境參數(shù)超過其對應(yīng)的閾值時,系統(tǒng)軟件會給出相應(yīng)的提示,及時控制執(zhí)行器設(shè)備采取對應(yīng)措施[4]。
在該項目中,傳感器、采集器、執(zhí)行器屬于硬件設(shè)備,需要在物聯(lián)網(wǎng)工程應(yīng)用實訓(xùn)平臺上搭建;無線網(wǎng)絡(luò)指實驗室的Wi-Fi,需要通過路由器來設(shè)置;軟件控制界面需要利用WPF在計算機上設(shè)計完成。
在項目實施的過程中,可以讓學(xué)生3~5人組成一個項目小組,分工協(xié)作,共同完成任務(wù)。
綜合分析項目的要求,實訓(xùn)項目“實驗室環(huán)境管理”可按照以下步驟來實施:
(1)硬件搭建。包括各種傳感器設(shè)備、數(shù)據(jù)采集器、路由器、執(zhí)行器等。
(2)網(wǎng)絡(luò)設(shè)置。利用路由器配置實驗室的局域網(wǎng)環(huán)境。
(3)軟件設(shè)計。軟件控制界面的設(shè)計可利用WPF來完成。在Visual Studio 2012環(huán)境下,建立WPF工程,設(shè)計如圖2所示的軟件控制界面。在執(zhí)行器設(shè)備處,僅列出了燈泡和風(fēng)扇做演示說明。
利用該系統(tǒng),在某時刻采集到的實驗室的環(huán)境參數(shù),如圖3所示,圖中可以看到,系統(tǒng)自動地采集環(huán)境參數(shù),如:溫度、濕度、光照度及噪聲等,并將數(shù)據(jù)可靠傳輸?shù)接嬎銠C的主控軟件上進行顯示和存儲。從圖中還可以看到,當(dāng)前的溫度為27.8℃,超過了設(shè)置的溫度閾值,所以該界面上會顯示溫度提示“溫度高,請采取措施降溫!”并且自動開啟風(fēng)扇進行降溫。當(dāng)前光照度為100lux,光線較暗,系統(tǒng)自動打開燈泡,同時在軟件界面上點亮燈泡。
圖2 實驗室環(huán)境參數(shù)監(jiān)測的軟件界面
圖3 某時刻實驗室采集到的環(huán)境參數(shù)圖
對“C#程序設(shè)計”課程進行了以上改革之后,效果顯著,體現(xiàn)在以下幾個方面:(1)學(xué)生的學(xué)習(xí)興趣極大地提高,積極主動地學(xué)習(xí)相關(guān)的軟件和硬件知識,實現(xiàn)由傳統(tǒng)的“教師教、學(xué)生被動學(xué)”轉(zhuǎn)變?yōu)椤皩W(xué)生主動學(xué)、教師輔導(dǎo)”的模式;(2)增加了學(xué)習(xí)的自信心和成就感,每設(shè)計完成一個項目,看到實驗的效果如預(yù)期所示,學(xué)生會產(chǎn)生極大的滿足感;(3)為學(xué)校參加后續(xù)的“物聯(lián)網(wǎng)技術(shù)應(yīng)用”比賽打下了良好的基礎(chǔ),培養(yǎng)了更多的后備人才;(4)提高了學(xué)生的實踐動手能力,達到了理論知識和實踐操作相結(jié)合的目的。
目前我?!癈#程序設(shè)計”課程的考核方式采用“平時成績+期末考試成績”的方式,其中平時成績包括出勤率、課堂表現(xiàn)、課后作業(yè)等,在總分中占20%,期末考試成績以期末考試的機試成績?yōu)橹鳎伎偡值?0%。這種考核方式忽視了學(xué)生在學(xué)習(xí)過程中的表現(xiàn),不能客觀地評價學(xué)生的學(xué)習(xí)效果。因此,對“C#程序設(shè)計”課程進行教學(xué)改革時,需要對考核方式也進行改革,基本的思路是增加過程性考核,增加實訓(xùn)項目完成度的分值。實訓(xùn)項目的執(zhí)行以及評分方式包括以下幾個方面:(1)學(xué)生3~5人組成一個小組,選出一名組長,以小組的形式,分工合作來完成實訓(xùn)項目。(2)在LED顯示、實驗室環(huán)境管理、人體紅外感知、煙霧及火焰報警、智能路燈系統(tǒng)、視頻監(jiān)控等實訓(xùn)項目中,根據(jù)本組成員的實際情況選擇一種作為實訓(xùn)項目。每個項目的難易程度不同,在評分時會作為考慮點。(3)學(xué)期末,由每組組長對本組的實訓(xùn)項目進行闡述,并演示實驗過程及效果,提交項目中涉及的文檔和程序代碼,由教師以及其他組的學(xué)生進行評分。其中,文檔及代碼等資料齊全占分值的10%,教師評分占60%,其他組評分的平均分占30%。實訓(xùn)成績計入期末總成績。
基于以上的思路和設(shè)計,改革以后的考核方式如表1所示:
表1 改革后的考核方式
總結(jié)目前“C#程序設(shè)計”課程教學(xué)中存在的問題,在國家職業(yè)教育要求培養(yǎng)復(fù)合型人才的背景下,提出了基于競賽驅(qū)動的“C#程序設(shè)計”課程改革,并應(yīng)用于課程教學(xué)中。實踐表明,基于競賽驅(qū)動的“C#程序設(shè)計”課程教學(xué)模式,極大地提高了學(xué)生的實踐能力和學(xué)習(xí)興趣,實訓(xùn)項目采用的小組合作模式也鍛煉了學(xué)生團隊協(xié)作的能力,同時這種新模式的課程教學(xué)也增強了教師的教學(xué)能力。