竇亞玲 陳明 徐鵬飛



摘要:CC2020采用“勝任力”作為計算機教育項目的主導思想,從基于知識的學習過渡到基于勝任力的學習。嵌入式開發應用領域對人才的需求促進課程體系的進一步革新:從知識(是什么)、技能(如何做)、品行(為什么)三個維度構建勝任力模型綜合培養學生,使其能夠勝任未來計算機及其相關工作。教學實踐中以最基本的串口通信協議的應用開發為藍本,在STM32F4系列芯片上完成項目任務。實踐表明學生的專業熱情與工程能力得到提升。
關鍵詞:勝任力模型; 嵌入式系統; STM32;串口通信協議; 工程能力
中圖分類號:TP393 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2022)29-0107-03
1 引言
國際 ACM/IEEE 計算課程體系規范(Computing Curricula,簡稱 CC 規范)中最新的CC2020 采用“勝任力”(competency)一詞來代表所有計算教育項目的基本主導思想。勝任力模型,強調元學科規范(meta curricula),融合知識(knowledge)、技能 (skills)和品行 (dispositions)三個維度的綜合能力培養,加強了對職業素養、團隊精神等方面的要求[1]。這將促進實現我國“新工科”建設所強調的“以能力培養促進工程科技創新和產業創新”的目標。
信息產業對嵌入式方面人才的需求量倍增,諸多高校計算機、電子及其相關專業中都開設了嵌入式系統課程。越來越多的教學團隊開展了協同育人模式下走產學研相結合的改革探索[2]。以工程教育認證的理念和標準對嵌入式系統課程實踐體系進行改革和創新,能提高學生的應用能力和創新能力[3]。采用項目式實訓模式,以項目推動教學過程,能有效培養學生的工程能力[4]。總之,嵌入式系統課程以應用為中心,實踐性和工程性強,教學過程中需要理論與實踐有機結合,實踐知行合一[5]。
作者所在的教學團隊在多年的嵌入式系統課程一線教學實踐中,逐步形成了可持續發展的培養工程能力的課程體系,結合不斷創新的教學模式對課程模塊進行精細化打磨[6]。通用同步/異步收發(Universal Synchronous Asychronous Receiver/Transmitter,USART)是實現模塊與模塊之間通信的最簡單、最基本的串口通信協議。圍繞串口通信協議這個具體的教學情境,將知識、技能、品行三個維度有機結合,構建勝任力模型,“知道是什么”“知道如何做(技術訣竅)”“知道為什么”。從底層激發學生的專業認同感,進一步提升工程能力。
2 勝任力模型驅動下的USART協議教學實踐
本實踐中主要使用的教學資源包括:STM32F407T6芯片開發板、J-Link仿真器SWD接口、STM32F4xx固件庫、編程語言C、代碼編輯軟件Source Insight4、開發編譯軟件Keil5。教學在實訓教室進行,學生在“做中學 ”。教學時長是連續的4學時,有利于該教學單元實踐知行合一。
2.1 勝任力模型的構建要義
計算機教育正逐步從基于知識的學習過渡到基于勝任力的學習。學習的遷移是多方面的,融合了知識、技能和品行。任何勝任力的定義都可以表示成:勝任力=知識+技能+品行,CC2020給出勝任力模型的概念結構[1]見圖1。
這個概念結構中包括四個組件:三個維度+任務,需要說明四點如下:
1)對知識的描述是“知道是什么”,也就是要熟知對應知識的核心概念,需要把知識點明確、精準地提煉出來。不僅僅是抽象的,應該是具化的。這里的知識是為了應用,是可以融會貫通應用于新的場景中。比如串口通信的知識點以PC機與開發板之間通過UART1接口實現,那么對應的知識點一樣用于手機與開發板通過藍牙模塊通信中。
2)對技能的描述是“知道如何做”,掌握了技術要領,通過C語言編程,STM32固件庫函數等有意識地訓練,逐步形成完成PC機與開發板之間通過串口通信協議收發數據的任務。
3)對于品行的描述是“知道為什么”,品行與元認知意識有關,包括負責任、適應性強、靈活、自我導向和自我激勵,以及自信、正直和自我控制,還包括如何與他人合作以實現共同的目標或解決方案。這個維度在實際教學環境中很容易被教師忽視。簡單說,就是學生執行課程任務的意愿以及知道何時以及如何進行這些任務。通常,學生被動接受知識,不知道為什么學?怎么學?學了有什么用?又怎么去用?我們希望通過這個維度的融入可以從底層激發學生的認同感與熱情,讓知識和技能兩個維度更好地落實。
4)對于任務的描述是一種讓勝任力三個維度具化的組件,任務提供了三維度落地的環境。教學中我們給出具體的任務如:實現PC機發送控制信號給STM32F407T6芯片開發板,實現對外部設備的控制。這個任務背景下,必需用到串口通信的相關知識、程序設計解決問題的技能以及明確如何才能完成這個任務。
2.2 USART協議的教學設計
圍繞勝任力模型的概念結構,以USART 串口通信協議為教學案例,結合STM32F4xx數據手冊與固件庫函數,給出知識、技能、品行以及任務四組件的設計要點。其中,表1給出勝任力概念模型三個維度的具體設計要點。其中,品行一項沒有采用模型中的適應性、協作性、創造性、嚴謹性等元素描述而是具化成培養這些品行的實施要點,比如:固件庫編程中的“規范”“細致”對應品行中的嚴謹性元素;教師示范煩瑣的時序編程過程,反襯控制器的優越性,對應品行中的主動性元素。表2給出分階段性任務設定目標、要求、角色和約束等要素。
2.3 USART協議課程教學實施過程
勝任力模型的概念結構中的任務充當著引導、驅動的作用,同時給知識、技能、品行三維度提供環境。任務貫穿始終,教學實施的流程就是從引出任務、分析任務,處理階段性任務,到最終完成任務的過程。
Step 0:引出任務,激發學生的主動性,提升目標導向
“PC機發控制命令給開發板控制流水燈與蜂鳴器”,類似任務:“手機發控制命令控制流水燈與蜂鳴器”,抽象任務:A發控制指令控制B完成各種操作。
Step 1:分析任務,引導學生分析問題,主動理順解決問題的所需的知識和技能。
教學實施中分析“PC機發控制命令給開發板”首先想到怎么“連接PC與開發板”,分解出準備階段的階段性任務。進一步分析這是通信雙方數據收發的問題,最簡單的解決方案就是用USART協議解決,就自然過渡到學習知識的環節。這個知識的學習就是主動性學習,是為了有能力解決實際問題的學習。
Step 2:分解測試子任務,引導學生把大任務分解成階段性任務。
到這一步,協議原理知道了,設備連接了,怎么實現?此時需要教師引導,先分解出一個測試子任務。教師引導:“開發板沒有輸出顯示設備,開發板發送/接收到數據?怎么可見?”學生主動學習完成printf庫函數的輸出重定向代碼實現。在完成重定向這部分代碼的時候,學生通常會對代碼表示不理解。此時數據收發的知識點就適時出現。所以,在勝任力模型的驅動下,知識點,技能在流程中的步驟不是固定、死板的,是隨著任務推進,學習者的主動參與而適時出現。因此,基于勝任力模型的教學設計是十分有必要性的。
Step 3:解決終極任務的前半段,也就是基本子任務:開發板通過UART1實現字節數據的收發。
這個階段是完成終極任務的關鍵步驟,對學生的綜合能力要求比較高。教師可以逐步引導:“MCU控制外部模塊需要通過GPIO”,學生依照之前技能完成GPIO初始化;教師接著用偽代碼寫出USART協議收發數據的時序,問學生可行嗎?學生通常面露難色表示不解。教師順勢引出STM32F4xx的串口控制器及對應的數據手冊。雖然數據手冊的這部分內容不容易理解,但是閱讀數據手冊是工程能力培養的必要環節。教師接著引導:“控制器怎么接收,怎么發送,流程是什么?怎么控制這個過程”,學生通過STM32固件庫函數完成串口初始化編程。最后到了數據收發部分,雖然可以采用輪詢方式實現但效率低,中斷方式是更優選擇。教師進一步給出“中斷配置”與“中斷響應函數”的要點,學生自主完成編碼。
Step 4:基本任務完成后,解決終極任務的后半段。其中,流水燈和蜂鳴器的編程已經實現,只需要調用相關代碼就好。因為接收函數返回值是字符數據,這個細節處理,學生可以自主發現問題并解決。
Step 5:限時考核。
從兩個方面評分,其一是終極任務是否完成;其二是代碼的工程規范。
表2中羅列的擴展任務是為課程實訓項目準備的,比如,在智能小車的課程實訓項目中,手機控制小車行駛時就需要用到擴展任務。
3 勝任力模型下教學實踐分析與教學效果
從以知識為中心的學習行為變遷成以勝任力為中心的知識、技能和品行與任務四個組件有機融合的學習行為,是基于勝任力模型開展教學時帶來的改變。知識不再是靜態的,而是融合在技能中,演變成了動態行為。知識、技能不再是被動接受與吸收的存在,而是為了培養學習者的適應性、協作性、創造性、嚴謹性、專業、責任感、主動性、自我指導等一系列圍繞職業道路需要具備的品行所必需的主動存在。任務的驅動讓整個教學過程更加順暢而高效。
教師在這個模型中是設計者、引導者,推進整個學習行為有序向著可以明確量化的目標前進。學生在這個模型中始終是主體,是學習者本身被激發,被任務驅動,不斷發現問題、主動學習知識,訓練技能(編程能力),從而解決問題,進一步發現新問題,進入新的循環。一個個不斷迭代的過程中,品行維度的加入被重視,豐富完備了培養全流程。
對2019級軟件工程、計算機科學與技術兩個專業,三個班級150余名學生的教學反饋信息進行統計分析,結果表明:
(1)知識點變得簡練,是為完成任務而生,不用割裂地死記硬背,體會到學以致用。
(2)終極任務如同大BOSS,不斷分解成子任務,如同升級打怪,主動性被激發。
(3)看似簡單的編碼流程,實際編寫中各種忽略一致性、不細致導致問題,坑自己的原來就是自己。
(4)限時考核,給了無形的壓力,同班級卷一卷,是壓力也是動力。
(5)課程群中同學分享的心得如同及時雨,不斷被同伴啟發到,互相點亮而不是互相抄襲。
(6)固件庫函數、代碼工具、代碼工程規范與業界同源,大學學的就是企業需要用的。
(7)課程線下線上同步,課程視頻可以回看,對自認為反應慢半拍的學生有利。
95%學生認為課程學習帶給自己的壓力與動力共存,支持這種模式的教學實踐。能夠在課堂期間完成任務的學生不到60%;能夠主動在下一次課程前利用課余時間完成任務的占90%。80%學生表示嵌入式方向會成為職業選擇的考慮方向。
4 結論
CC2020是全球計算機教育專家共同制定的計算機類專業課程體系規范,是國內外一流計算機專業制定課程體系時的重要指南。“勝任力”作為所有計算教育項目的基本主導思想,其目標就是從知識、技能和品行三個維度,使學生勝任未來計算相關工作內容。將勝任力模型的概念結構運用到嵌入式系統教學設計中,量化、具化這些維度元素,讓教學變得動態可持續生長,可以從底層激發學生的專業認同感,提升工程能力。
參考文獻:
[1] ACM/IEEE CC2020 的中文版. https://www.acm.org/education/curricula-recommendations.
[2] 鄧清勇,龍賽琴,周龍.協同育人模式下的嵌入式系統課程改革與實踐[J].計算機教育,2022(3):143-147.
[3] 蘇曉峰,王海濤,張平,等.工程教育認證背景下微機與嵌入式系統實踐教學改革與探索[J].科技創新導報,2020,17(17):216-217.
[4] 孫青,李輝勇.面向學生工程能力培養的嵌入式系統設計實訓課程教學改革實踐[J].計算機教育,2020(3):136-140.
[5] 李江昊,劉豐,王偉.理論實踐強結合性課程知行合一教學改革與探索[J].計算機教育,2020(6):179-183.
[6] 竇亞玲,劉金平.PBL模式下的嵌入式系統中斷機制教學案例[J].電腦知識與技術,2021,17(33):170-172.
【通聯編輯:王力】