錢穎雪
(無錫機(jī)電高等職業(yè)技術(shù)學(xué)校,江蘇 無錫 214028)
版本控制技術(shù)在物聯(lián)網(wǎng)實(shí)踐課程中的應(yīng)用
錢穎雪
(無錫機(jī)電高等職業(yè)技術(shù)學(xué)校,江蘇 無錫 214028)
2011年物聯(lián)網(wǎng)工程專業(yè)進(jìn)軍高職院校,實(shí)踐教學(xué)是該專業(yè)教學(xué)體系中不可或缺的重要環(huán)節(jié)。傳統(tǒng)的項(xiàng)目實(shí)踐教學(xué)方式存在任務(wù)分配不合理、過程化考核困難、成果保存欠缺等問題。本文借助Github網(wǎng)絡(luò)資源,利用階段版本控制思想,對每個(gè)學(xué)生的每個(gè)階段學(xué)習(xí)成果進(jìn)行控制,幫助教師完成物聯(lián)網(wǎng)實(shí)踐類課程的教學(xué),并且列舉課程項(xiàng)目實(shí)例,指出將版本控制思想引入物聯(lián)網(wǎng)實(shí)踐課程教學(xué)中,能夠提高教學(xué)水平和人才培養(yǎng)質(zhì)量,增強(qiáng)學(xué)生實(shí)踐能力和創(chuàng)新精神,提高學(xué)生就業(yè)競爭力。
Git版本控制;物聯(lián)網(wǎng);項(xiàng)目式教學(xué)
物聯(lián)網(wǎng)工程專業(yè)自2011年起進(jìn)軍各高等院校、職業(yè)學(xué)校,已經(jīng)培養(yǎng)出了若干批畢業(yè)生。在職業(yè)學(xué)校的人才培養(yǎng)方案中,新興的物聯(lián)網(wǎng)工程專業(yè)相比傳統(tǒng)專業(yè)更注重學(xué)生的創(chuàng)新、實(shí)踐與協(xié)作能力的培養(yǎng),物聯(lián)網(wǎng)工程專業(yè)的性質(zhì)也決定了實(shí)踐教學(xué)成為該專業(yè)教學(xué)體系中不可或缺的重要環(huán)節(jié)[1]。
目前物聯(lián)網(wǎng)實(shí)踐類課程采取的教學(xué)方式與其他專業(yè)課無異,根據(jù)實(shí)驗(yàn)設(shè)備模塊設(shè)計(jì)不同的項(xiàng)目任務(wù),學(xué)生在完成項(xiàng)目的過程中逐漸掌握相關(guān)知識(shí),但是也存在了以下問題[2]:
1.1 任務(wù)分配
為了培養(yǎng)學(xué)生的獨(dú)立操作能力,同時(shí)為減少偷懶、抄襲現(xiàn)象,最好是一人一題,但是這種方式不利于提高學(xué)生的團(tuán)隊(duì)協(xié)作意識(shí),并且在物聯(lián)網(wǎng)技術(shù)中,工程項(xiàng)目的工作量很大,學(xué)生不可能在短短幾周內(nèi)單獨(dú)完成所有功能,即使完成了,質(zhì)量也不會(huì)太高;若將任務(wù)交給一組學(xué)生完成,又很可能出現(xiàn)“一邊倒”的現(xiàn)象,即只由該組的某一名或幾名同學(xué)全部包攬,其余同學(xué)共享這些同學(xué)的勞動(dòng)成果,使得教師無法真實(shí)評(píng)價(jià)學(xué)生的能力,對于學(xué)生來說也不能得到充分的鍛煉。
1.2 過程管理
物聯(lián)網(wǎng)實(shí)踐類課程大部分功能都是通過代碼體現(xiàn),但是教師評(píng)價(jià)不能僅僅針對結(jié)果,因此教師需要對編碼質(zhì)量進(jìn)行批改,而由于項(xiàng)目工作量大,學(xué)生一般都將精力放在功能上卻忽略了代碼質(zhì)量本身,這給教師帶來的最大問題就是批改代碼工作量太大。另外由于學(xué)生較多,教師無法做到一對一的教學(xué)管理和跟蹤,只能根據(jù)考勤和學(xué)生提問來進(jìn)行評(píng)估,由于過程化考核監(jiān)督的漏洞,可能會(huì)出現(xiàn)部分學(xué)生借鑒網(wǎng)絡(luò)現(xiàn)成代碼來完成項(xiàng)目,帶來一些后續(xù)問題。
1.3 任務(wù)傳承
由于工程量大,代碼的階段性保存度較差,學(xué)生的項(xiàng)目代碼僅僅作為作業(yè)上交,完成得較好的作業(yè)無法作為案例分享給他人,并且已完成的作業(yè)也無法進(jìn)行二次開發(fā)造成一些資源的浪費(fèi)[3,4]。
針對這些問題,本文提出將基于版本控制技術(shù)[5]的代碼管理平臺(tái)Github應(yīng)用于物聯(lián)網(wǎng)技術(shù)的實(shí)踐課程教學(xué)環(huán)節(jié)中,提高實(shí)踐教學(xué)水平和人才培養(yǎng)質(zhì)量,增強(qiáng)學(xué)生實(shí)踐能力和創(chuàng)新精神,提高學(xué)生就業(yè)競爭力。
Git分布式版本控制系統(tǒng),主要應(yīng)用在軟件項(xiàng)目托管平臺(tái),可通過網(wǎng)頁訪問公開或者私人項(xiàng)目,瀏覽源代碼、修改代碼及注釋。其最突出的特點(diǎn)在于“階段版本控制”,它可以瀏覽任意提交過的版本并提供文件歷史庫,團(tuán)隊(duì)成員也可以在其內(nèi)置聊天程序中進(jìn)行交流,非常便捷。Github就是提供基于Git的版本托管服務(wù),2008年上線,發(fā)展非常迅速,目前已經(jīng)成為全球最大的開源社區(qū)。本文利用Github網(wǎng)絡(luò)資源,將階段版本控制的理念投放到教學(xué)中,幫助教師完成項(xiàng)目式實(shí)踐教學(xué),也就是對每個(gè)學(xué)生的每個(gè)“階段”學(xué)習(xí)成果(“版本”)進(jìn)行“控制”。
(1)Github網(wǎng)站具備代碼審查、問題追蹤等功能,可以容納數(shù)萬名用戶群,又是一個(gè)完全免費(fèi)、開源的系統(tǒng),在業(yè)界具有很多成功案例,滿足課程實(shí)現(xiàn)條件。
(2)在使用Github網(wǎng)站時(shí)需要每名學(xué)生熟練掌握版本上傳、管理等操作,可以杜絕傳統(tǒng)教學(xué)方式中可能出現(xiàn)的學(xué)生偷懶、抄襲等現(xiàn)象,并且由于項(xiàng)目的實(shí)施大多以團(tuán)隊(duì)小組為單位,學(xué)生在完成任務(wù)時(shí)不受場地限制,任何時(shí)間不僅可以向教師求教,也可通過網(wǎng)站自帶的聊天程序廣泛進(jìn)行交流溝通,在高效學(xué)習(xí)專業(yè)技能的同時(shí)也提高了學(xué)生的溝通表達(dá)能力。
(3)新技術(shù)的實(shí)施對于教師而言也是一項(xiàng)挑戰(zhàn),目前很多高職院校的專業(yè)課教師都是從學(xué)校畢業(yè)后直接為師,理論基礎(chǔ)比較扎實(shí),工程項(xiàng)目經(jīng)驗(yàn)方面相對欠缺。Github是一個(gè)成熟的項(xiàng)目開發(fā)、管理網(wǎng)站,作為雙師型教師需要熟悉企業(yè)項(xiàng)目開發(fā)的工作流程和管理模式,這樣才能培養(yǎng)出適合于企業(yè)要求的畢業(yè)生。
由于Github是開源的版本控制,在物聯(lián)網(wǎng)技術(shù)課程的具體任務(wù)實(shí)施環(huán)節(jié),教師和學(xué)生可以不受實(shí)驗(yàn)室地點(diǎn)約束,將教與學(xué)延伸到課外,及時(shí)對學(xué)習(xí)成果進(jìn)行檢閱,得到科學(xué)合理的評(píng)價(jià)。
為具體說明版本控制技術(shù)在教學(xué)中的應(yīng)用,以綜合項(xiàng)目智能超市管理系統(tǒng)設(shè)計(jì)為例,該設(shè)計(jì)在基本的用戶賬戶模塊、數(shù)據(jù)適配模塊基礎(chǔ)上增加了環(huán)境檢測模塊、安防監(jiān)控模塊、商品管理模塊和物流追蹤模塊,在教學(xué)中屬于高階練習(xí),一般安排在課程接近尾聲階段,是大型綜合課程設(shè)計(jì)。教師在設(shè)計(jì)時(shí)分為三個(gè)級(jí)別,如圖1所示:
圖1 智能超市管理系統(tǒng)課題模塊分組設(shè)計(jì)圖
級(jí)別1的四個(gè)小組將分別建立一個(gè)activity,顯示、訪問并處理用戶賬戶數(shù)據(jù)庫對應(yīng)信息,所需牽涉技能與難度大體相當(dāng),包括界面布局,控件管理,數(shù)據(jù)處理,函數(shù)管理與使用,基礎(chǔ)數(shù)據(jù)庫更刪改查操作;級(jí)別2的四個(gè)小組將分別建立一個(gè)滑屏界面的frag門徒,顯示、訪問并處理數(shù)據(jù)庫數(shù)據(jù)或根據(jù)API接口訪問操作外部設(shè)備外面,相比級(jí)別1,級(jí)別2需要了解fragment加載,更理解View的自定義,更復(fù)雜的數(shù)據(jù)操作,優(yōu)化數(shù)據(jù)庫訪問,外部函數(shù)訪問,因?yàn)樵L問外部設(shè)備數(shù)據(jù),所以需要考慮線程優(yōu)化;級(jí)別3的三個(gè)小組將不再分別編寫程序界面,重點(diǎn)在編寫后臺(tái)數(shù)據(jù)庫與廣播處理程序,需要極高的線程管理能力與數(shù)據(jù)分析能力,訓(xùn)練學(xué)生對物聯(lián)網(wǎng)傳感器系統(tǒng)運(yùn)行的了解與數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)的掌握。三個(gè)級(jí)別難度循序漸進(jìn),適合不同能力層次的學(xué)生,便于教師因材施教,同時(shí)由于Github的開源特性,任何適合任何階段都可以新增成員,便于低級(jí)別任務(wù)的學(xué)生完成任務(wù)后參與到高級(jí)任務(wù)中,逐步培養(yǎng)能力,提高他們的團(tuán)隊(duì)意識(shí)。
在授課前,教師需要提前安排任務(wù)分組,由學(xué)生自由分組,每組3-4人,選擇任務(wù)模塊,創(chuàng)建版本庫,將遠(yuǎn)程代碼克隆到本地,然后在自己的機(jī)器上完成功能的編寫,團(tuán)隊(duì)成員在遇到問題時(shí)可以利用網(wǎng)址自帶的聊天程序進(jìn)行交流,方便快捷,每天定時(shí)上傳已測試代碼。教師可以將代碼記錄情況作為過程化考核的依據(jù),并且及時(shí)跟蹤學(xué)生進(jìn)度,幫助學(xué)生找到原因,最大限度地避免學(xué)生懈怠及抄襲。在審核代碼時(shí),教師可以利用系統(tǒng)對某些不符合規(guī)范要求的代碼拒收,也可以利用其質(zhì)量分析功能,對已交代碼進(jìn)行評(píng)審,提高了評(píng)價(jià)效率。當(dāng)整個(gè)項(xiàng)目完成后,也可以根據(jù)網(wǎng)站的統(tǒng)計(jì)功能,對團(tuán)隊(duì)和成員的貢獻(xiàn)率進(jìn)行客觀公正的打分,并且將完成出色的代碼保存下來作為后續(xù)的教學(xué)補(bǔ)充資料。
目前對于版本控制技術(shù)在物聯(lián)網(wǎng)實(shí)踐類教學(xué)中的應(yīng)用還處于探索階段,也存在很多問題,由于Github本身是為廣大編程愛好者提供交流的平臺(tái)和外包服務(wù),并不是專業(yè)的教學(xué)平臺(tái),在使用中需要適當(dāng)取舍,經(jīng)過分析、整理出以下問題需要改善:
(1)考慮到學(xué)生實(shí)際情況,對完成相同任務(wù)的學(xué)生代碼進(jìn)行重復(fù)性分析,根據(jù)其相似度分析是否存在抄襲,最大范圍內(nèi)減少學(xué)生雷同作業(yè),督促學(xué)生積極思考練習(xí)。
(2)過程化考核時(shí)針對版本進(jìn)行數(shù)據(jù)分析,教師可以全面了解學(xué)生的設(shè)計(jì)思路及修正過程,針對教學(xué)資源和代碼活動(dòng)數(shù)據(jù),為今后的教學(xué)改進(jìn)提供依據(jù),改善教學(xué)方式,提高教學(xué)效果。
本文嘗試將版本控制理念注入實(shí)踐教學(xué),并在物聯(lián)網(wǎng)技術(shù)實(shí)踐類課程中進(jìn)行實(shí)驗(yàn)探究,便于教師進(jìn)行過程考核和提高教學(xué)效果,能夠提高實(shí)踐教學(xué)水平和人才培養(yǎng)質(zhì)量,增強(qiáng)學(xué)生實(shí)踐能力和創(chuàng)新精神,以及提高實(shí)訓(xùn)基地建設(shè)與管理水平。
[1]王敏,張捐凈.物聯(lián)網(wǎng)導(dǎo)論課程實(shí)踐教學(xué)探索[J].安陽工學(xué)院學(xué)報(bào),2014(0 6):9 3-9 5.
[2]綦志勇,常排排.高職高專嵌入式與物聯(lián)網(wǎng)專業(yè)傳感器應(yīng)用技術(shù)課程實(shí)驗(yàn)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016,12(10).
[3]何鳳梅.技師學(xué)院物聯(lián)網(wǎng)導(dǎo)論課程的實(shí)踐教學(xué)探索——以溫州技師學(xué)院物聯(lián)網(wǎng)技術(shù)應(yīng)用專業(yè)教學(xué)實(shí)踐為例[J].中國培訓(xùn),2015,(10).
[4]曹建峰.物聯(lián)網(wǎng)導(dǎo)論課程的構(gòu)建與實(shí)施[J].物聯(lián)網(wǎng)技術(shù),2014 (0 5):8 6-8 7.
[5]宋冬生.Git——版本管理之利器[J].程序員,200 7(11):118-119.
Application of Git Technology in IOT Courses
Qian Yingxue
(Wuxi Machinery and Electron Higher Professional and Technical School,Wuxi 214028,Jiangsu)
IOT major entered in the higher professional and technical school in 2011.From then on,practice teaching is an important link in the teaching system.There are several problems in traditional teaching method such as task allocation,process assessment,result preservation,etc.This paper uses Github to control every course of every student,help teachers to complete the IOT courses teaching,and list the project example.It proves that the Git system can improve the quality of training and teaching,and improve the students'employment competitiveness.
Git;IOT;project teaching
G434
A
1008-6609(2016)10-0038-03
錢穎雪(19 8 4-),女,江蘇無錫人,碩士,講師,研究方向?yàn)殡娮油ㄐ?、教學(xué)技術(shù)。
本論文為無錫機(jī)電高等職業(yè)技術(shù)學(xué)校2016年度校級(jí)課題《基于CDIO的Git系統(tǒng)在教學(xué)中的應(yīng)用——以電子信息專業(yè)課程為例》的研究成果,項(xiàng)目編號(hào):錫機(jī)電研2016-D X0 1。