郭麗紅 吳海濤 楊潔 沙愛軍
[摘 要]為了督促學生熟練掌握編程技巧,進一步提升其編程能力,文章基于OBE理念,以項目驅(qū)動的教學模式為主線,結(jié)合編程類課程的特性和多種教學方法,采用多級幫帶方式,設(shè)計了系統(tǒng)化的課程學習模塊和教學方案。在實施過程中,文章以企業(yè)的設(shè)備定位項目為驅(qū)動,利用UWB和NB?IoT技術(shù),并基于STM32單片機完成了室內(nèi)外設(shè)備的位置及狀態(tài)檢測,不僅實現(xiàn)了高精度定位,還成功將單片機采集和處理后的數(shù)據(jù)上傳至企業(yè)私有云平臺。此外,系統(tǒng)設(shè)計了手機app,用戶可以通過app向云端請求數(shù)據(jù),實時掌握設(shè)備狀態(tài),統(tǒng)計和分析數(shù)據(jù),幫助企業(yè)實現(xiàn)自動化設(shè)備監(jiān)測與管理,秉持了“學生中心、產(chǎn)出導向”的理念,滿足了用人單位和社會需求,同時也顯著提升了學生的軟硬件編程能力,達到了人才培養(yǎng)的目標。
[關(guān)鍵詞]編程能力;OBE理念;項目化教學;設(shè)計與開發(fā)
[中圖分類號]G642[文獻標識碼]A[文章編號]2095-3437(2024)04-0077-03
隨著計算機技術(shù)的普及和高度信息化時代的到來,軟硬件編程在各行各業(yè)的應(yīng)用愈發(fā)廣泛,對編程人才的需求也日益增加。因此,具備良好的編程能力已成為時代所需[1]。編程語言作為打開計算機技術(shù)大門的鑰匙,無論是在大數(shù)據(jù)、物聯(lián)網(wǎng)還是人工智能等領(lǐng)域的發(fā)展中,都發(fā)揮著不可或缺的作用。計算機相關(guān)專業(yè)的專業(yè)課程往往以編程語言為基礎(chǔ),構(gòu)建實驗或設(shè)計系統(tǒng)。此外,隨著考研學生數(shù)量的逐年攀升,部分高校在專業(yè)考核科目中要求使用編程語言來描述算法、設(shè)計方案,或在研究生復試中更加注重考查學生的邏輯思維及編程能力。
隨著工程教育專業(yè)認證工作在各大高校中的不斷推進,在基于產(chǎn)出的教育理念(Outcome?Based Education,OBE)和“學生中心、產(chǎn)出導向”理念的指引下[2-5],以提升學生編程能力為目標的項目化實踐方法有待深入研究。
一、總體方案設(shè)計
基于當前學生編程能力、編程類課程的教學效果、學生考試成績等因素,本文在工程教育專業(yè)認證理念的指導下,通過深入分析和歸納總結(jié),針對編程能力培養(yǎng)與提升過程中遇到的具體問題,構(gòu)建了一個系統(tǒng)化的編程能力提升框架,并制訂了一套完整的學習方案。該方案以項目驅(qū)動為核心,緊密結(jié)合課程特征和學生狀況,從教育理念的創(chuàng)新性、項目驅(qū)動的可行性、編程能力的系統(tǒng)化提升等方面建立人才培養(yǎng)模式。
二、編程能力提升的具體實施方案
(一)以項目驅(qū)動的教學模式
項目化教學模式作為一種新型教學方法,能夠有效緩解社會需求與人才培養(yǎng)之間的矛盾。該模式緊密圍繞企業(yè)的實際需求,以項目驅(qū)動的教學模式為主線,采用多級幫帶方式,即組建教師幫帶學生、學生幫帶學生的學習梯隊;以實際項目開發(fā)為目的,以學生為中心,以提升編程能力為目標,實現(xiàn)從需求到理論,再由理論到實踐的反復循環(huán),徹底改變傳統(tǒng)的教學模式。同時,根據(jù)企業(yè)需求,明確項目目標和所需技能,使學生在邊做邊學的過程中完成項目開發(fā)。
(二) 設(shè)計目標導向,并具體實施
以學生為中心,按照從基礎(chǔ)到強化再到提升的能力訓練途徑,精心設(shè)計了具體的課程模塊、項目指導以及學習流程(見圖1)。
[計算機基礎(chǔ) ][提升能力訓練項目 ][強化能力訓練項目 ][基礎(chǔ)能力訓練項目 ][訓練基本編程思維 ][學會編碼和調(diào)試 ][高級語言程序設(shè)計C ][適合管理系統(tǒng)類項目 ][計算機網(wǎng)絡(luò) ][訓練邏輯編程思維 ][數(shù)據(jù)結(jié)構(gòu)、算法、數(shù)據(jù)庫 ][面向?qū)ο蟪绦蛟O(shè)計語言
(C++/Java/Python) ][適合算法類相關(guān)項目 ][訓練綜合編程思維 ][單片機原理及應(yīng)用 ][關(guān)注時空分配、效率提升 ][適合各類軟硬件相關(guān)項目 ]
圖1 項目化驅(qū)動學習方案具體訓練流程
編程作為一種技能,其核心在于編程思維,而良好的系統(tǒng)性設(shè)計則是能力培養(yǎng)的關(guān)鍵。本文以項目驅(qū)動的教學模式為主線,構(gòu)建三級階梯式項目化教學模塊,從基礎(chǔ)課程的學習和基本編程思維的訓練,到中等強度的算法設(shè)計和邏輯思維的培養(yǎng),最后到高級課程的學習和綜合編程思維的訓練。學生在這個過程中不僅得到了思維訓練,也實現(xiàn)了將知識轉(zhuǎn)化為能力的目標。
(三)以實際教學對象為實驗對象,將項目化教學應(yīng)用于實際教學
以課程組為單位,深入研究實施細節(jié)。根據(jù)每個階段的訓練要求,精心挑選實際項目,引導學生將理論與實踐緊密結(jié)合,通過完成項目開發(fā)和應(yīng)用,進一步提升編程能力。本文以企業(yè)實際需求為例,引入基于NB?IoT的設(shè)備室內(nèi)外定位項目[6],并據(jù)此開展項目化教學。
1.項目需求和總體規(guī)劃
硬件選型及模塊的選擇[7-8]:單片機的選型(STM32單片機)、室外定位(采用BC20定位模塊,實現(xiàn)基于GPS+北斗的聯(lián)合定位)、室內(nèi)定位(采用UWB技術(shù))、低功耗數(shù)據(jù)傳輸方式NB?IoT、供電模塊。
各種通信協(xié)議及信息傳遞方式:串行口通信方式的實現(xiàn)、NB?IoT無線傳輸模式的實現(xiàn)、AT指令的通信格式、設(shè)計數(shù)據(jù)采集端和云端的通信協(xié)議等。
相關(guān)編程技術(shù):下位機與室內(nèi)外定位模塊的通信,開發(fā)手機app。實時了解設(shè)備的運行狀態(tài),以更好地掌握工控領(lǐng)域的實時信息,提高生產(chǎn)效率,降低安全隱患。
2.項目分塊、學生分組設(shè)計
采集端:單片機、室內(nèi)外定位模塊與監(jiān)測設(shè)備一體化設(shè)計。通過單片機的實時數(shù)據(jù)采集、NB?IoT的無線傳輸,以及串口通信的協(xié)同作用,完成信息采集工作,并將數(shù)據(jù)上傳至企業(yè)私有云平臺。
手機app:系統(tǒng)的設(shè)備監(jiān)測數(shù)據(jù)通過無線網(wǎng)絡(luò)傳輸,將分散的設(shè)備狀態(tài)信息上傳至企業(yè)私有云平臺。運維工程師或用戶下載安裝手機app,遠程監(jiān)視設(shè)備狀態(tài)及位置信息,及時發(fā)現(xiàn)并應(yīng)對緊急情況,實現(xiàn)高效便捷的運維處理和確保設(shè)備的安全運行。
服務(wù)器端:服務(wù)器是系統(tǒng)中提供特定服務(wù)的計算機系統(tǒng),其主要職責是存儲用戶數(shù)據(jù),為客戶端提供服務(wù),并實時處理客戶端的數(shù)據(jù)請求。
信息交互:包括采集模塊及定位模塊與下位機的信息交互、下位機和私有云的信息交互、客戶端通過手機app與私有云端的信息交互。
(四)系統(tǒng)功能的具體實現(xiàn)與測試
系統(tǒng)設(shè)計:上位機主要指的是手機app的編程,采用Android Studio編程工具,并使用Java語言完成上位機的設(shè)計[9],具體包括授權(quán)登錄模塊、條件查詢模塊、實時監(jiān)控模塊、匯總統(tǒng)計模塊等。上位機的數(shù)據(jù)來源于企業(yè)私有云平臺,能夠?qū)崟r獲取云端信息,從而實現(xiàn)對設(shè)備的在線監(jiān)測。下位機采用低功耗的STM32主控芯片,在Keil uVision5開發(fā)環(huán)境中,使用C語言來實現(xiàn)其具體功能,包括室內(nèi)外模塊的位置信息采集、與單片機的交互、室內(nèi)基站模塊和標簽?zāi)K的交互,以及NB?IoT與企業(yè)私有云的通信等。
室內(nèi)定位:在室內(nèi)定位中基于UWB技術(shù)[10],采用DWM1000距離傳感器,并運用球形定位算法來完成室內(nèi)設(shè)備的精確定位。UWB終端的位置確定是利用通過幾何關(guān)系來計算圓的交叉點,從而精確地獲取位置信息。
室外定位:BC20模塊集成了一款高性能的GNSS(Global Navigation Satellite System,全球?qū)Ш叫l(wèi)星系統(tǒng))芯片,支持GPS、GLONASS、北斗、Galileo等多個系統(tǒng),從而實現(xiàn)多系統(tǒng)聯(lián)合定位。通過嵌入式的GNSS功能,BC20模塊可以協(xié)助用戶獲取精確的坐標和時間信息。STM32單片機通過發(fā)送AT指令與BC20模塊建立通信,進而控制BC20模塊執(zhí)行特定的操作。
手機app:手機端軟件設(shè)計采用分層結(jié)構(gòu)設(shè)計,包括用戶界面層、用戶功能層、中間件層以及操作系統(tǒng)層。使用Android Studio編程工具,調(diào)用JDBC的API來連接企業(yè)私有云端數(shù)據(jù)庫,從而獲取設(shè)備狀態(tài)及位置信息。同時,編寫UI界面用于數(shù)據(jù)展示,并調(diào)用高德地圖API和圖表控件來美化和優(yōu)化信息的呈現(xiàn)方式,實現(xiàn)實時交互和信息交換。
(五)檢驗實施效果,并評價結(jié)果
在項目化教學過程中,教師應(yīng)實時記錄工作狀態(tài),并密切關(guān)注每個環(huán)節(jié)的進展情況。
優(yōu)化過程:參與課堂教學、實驗教學及畢業(yè)設(shè)計等環(huán)節(jié),深入了解其教學模式的整個過程,并展示相應(yīng)的理論成果。在特色教學模式的基礎(chǔ)上,將理論成果實際應(yīng)用于教學中,反復優(yōu)化實踐中出現(xiàn)的錯位問題,并探索出最佳方案。
檢驗結(jié)果:選取部分教學班作為試驗點,對其進行項目化教學模式改革,并對實施效果進行定量分析。經(jīng)過反復試驗與優(yōu)化,最終形成效果良好的高校編程類課程教學模式,為創(chuàng)新型人才培養(yǎng)提供有力的理論指導。同時,組織學生參與各類人才選拔和學科競賽,以檢驗學生的學習效果。
定性能力評價:通過組織學生參與各類人才選拔競賽、學科競賽,以及基于各種創(chuàng)新創(chuàng)業(yè)項目的實踐表現(xiàn),可以有效檢驗學生的學習效果。
三、結(jié)語
培養(yǎng)軟硬件技術(shù)型人才是時代所需。因此,實施編程能力的提升方案能有效解決高分低能的問題,將知識模塊與思維訓練有機結(jié)合。在基于OBE理念的項目化教學方案實施過程中,不僅有效培養(yǎng)和鍛煉了學生的創(chuàng)新能力,還提升了他們的專業(yè)素養(yǎng),從而實現(xiàn)了人才培養(yǎng)的多重目標。
[ 參 考 文 獻 ]
[1] 劉國瑞.國家重大戰(zhàn)略轉(zhuǎn)換期高等教育現(xiàn)代化的定位與思路[J].高等教育研究,2020,41(5):1-9.
[2] 安勇.工程教育專業(yè)認證改進工作質(zhì)量提升的深度思考[J].中國高等教育,2018(23):38-40.
[3] 耿曉偉.基于OBE理念的實踐教學體系改革:以安全工程專業(yè)為例[J].實驗技術(shù)與管理,2019,36(7):192-196.
[4] 張男星.以O(shè)BE理念推進高校專業(yè)教育質(zhì)量提升[J].大學教育科學,2019(2):11-13.
[5] 楊長龍,李莉,賈宏葛,等.基于OBE的人才培養(yǎng)目標制定機制及程序[J].高分子通報,2019(12):74-77.
[6] JANSSEN T , BERKVENS R , WEYN M . RSS?based localization and mobility evaluation using a single NB?IoT cell[J]. Sensors, 2020, 20(21):6172.
[7] 丁一鈞,聶電開,武存山.基于北斗系統(tǒng)和物聯(lián)網(wǎng)的野外圖像采集設(shè)備防盜定位系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2020,10(9):31-32.
[8] 郭起軒,仲梁維.基于安卓平臺的重點設(shè)備遠程監(jiān)測系統(tǒng)設(shè)計[J].軟件導刊,2018,17(4):115-117.
[9] 王高杰,靳東安.基于NB?IoT的全球定位設(shè)計與實現(xiàn)[J].中國新通信,2020,22(1):28-30.
[10] 姬生月,孫嘉文,宋云記,等.基于北斗短報文的遠海實時精密單點定位[J].國防科技大學學報,2021,43(6):74-84.
[責任編輯:梁金鳳]