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