徐 峰,王天慶,陳炳吉,白天為,王亞文(吉林大學(xué)通信工程學(xué)院,吉林 長春130012)
?
基于Arduino的單片機(jī)實(shí)驗(yàn)MOOC平臺(tái)設(shè)計(jì)*
徐峰,王天慶,陳炳吉,白天為,王亞文
(吉林大學(xué)通信工程學(xué)院,吉林 長春130012)
為解決低年級(jí)本科生參加電子設(shè)計(jì)競(jìng)賽需要學(xué)習(xí)單片機(jī)相關(guān)知識(shí)的難題,作者設(shè)計(jì)了一個(gè)基于Arduino的開放式在線單片機(jī)實(shí)驗(yàn)課程平臺(tái)。該平臺(tái)引入123D.CIRCUITS.IO仿真系統(tǒng),學(xué)生登錄后,可以觀看在線課程視頻;根據(jù)實(shí)驗(yàn)設(shè)計(jì)要求,在線完成相關(guān)實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)與仿真,參與階段測(cè)試;在移動(dòng)終端上參與課程學(xué)習(xí)、社區(qū)討論;在學(xué)生互評(píng)的基礎(chǔ)上,評(píng)分系統(tǒng)給出實(shí)驗(yàn)成績。
Arduino;仿真系統(tǒng);在線平臺(tái);Rubric算法
目前,國內(nèi)理工科院校的《單片機(jī)原理與應(yīng)用》課程一般開設(shè)在第5學(xué)期,由于每年有數(shù)以萬計(jì)的本科一、二年級(jí)學(xué)生要參加電子設(shè)計(jì)競(jìng)賽等活動(dòng),迫切需要學(xué)習(xí)相關(guān)課程知識(shí)。但許多院校受實(shí)驗(yàn)室的硬件設(shè)施條件限制,無法滿足這部分學(xué)生的需求。因此,開發(fā)一個(gè)微控制器設(shè)計(jì)應(yīng)用開放式在線實(shí)驗(yàn)課程平臺(tái)(MOOC)能夠擺脫現(xiàn)有教學(xué)資源的束縛,從而解決上述問題[1]。
2015年,吉林大學(xué)開始統(tǒng)一建設(shè)網(wǎng)絡(luò)實(shí)驗(yàn)運(yùn)行平臺(tái),本實(shí)驗(yàn)課程項(xiàng)目將作為選修課納入吉林大學(xué)的網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)系統(tǒng),為各個(gè)學(xué)院的學(xué)生服務(wù)??紤]到通信工程學(xué)院?jiǎn)纹瑱C(jī)課程使用的是飛思卡爾16位單片機(jī),相對(duì)零基礎(chǔ)的低年級(jí)學(xué)生而言學(xué)習(xí)難度較大,所以,實(shí)驗(yàn)教學(xué)采用Arduino單片機(jī)。
Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái),包含硬件(各種型號(hào)的Arduino板)和軟件(Ar-duino IDE),學(xué)生完全不需要了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,僅僅知道它的端口作用,就可以用C語言編寫程序做電子產(chǎn)品,適合初學(xué)者。
1.平臺(tái)架構(gòu)
平臺(tái)采用PHP+MySQL方式架設(shè)網(wǎng)站,使用Moodle開源軟件建立內(nèi)容管理系統(tǒng)。二次開發(fā)后,具有以下優(yōu)點(diǎn):①具有高度自由性,可以修改和二次開發(fā);②歷經(jīng)多版本修正,技術(shù)成熟,穩(wěn)定性好;③豐富的插件資源,提供更多可增刪功能;④運(yùn)行在主流PHP+ MySQL環(huán)境[2]。平臺(tái)由主頁、教學(xué)資源、實(shí)驗(yàn)項(xiàng)目、成績?cè)u(píng)定、討論組和實(shí)驗(yàn)指導(dǎo)幾個(gè)基本模塊構(gòu)成,總體結(jié)構(gòu)如圖1所示。
圖1 平臺(tái)總體結(jié)構(gòu)
2.數(shù)據(jù)庫
在MySQL的數(shù)據(jù)庫中加入學(xué)生的學(xué)號(hào),默認(rèn)登錄密碼設(shè)置為身份證號(hào)后六位,學(xué)生可以通過學(xué)號(hào)登錄并且進(jìn)行相關(guān)操作。數(shù)據(jù)庫的基本字段包括ID(學(xué)號(hào))、PWD(密碼)、link(連接地址)、其他驗(yàn)證是否提交作品內(nèi)容以及實(shí)驗(yàn)成績的相關(guān)字段[3]。
3.內(nèi)容管理
平臺(tái)為學(xué)生提供在線實(shí)驗(yàn)課程的基本信息資料(如大綱、實(shí)驗(yàn)指導(dǎo)和前期準(zhǔn)備);提供在線教學(xué)服務(wù),包括在線視頻教程、試題下載、集體討論、教師解答等;學(xué)生利用123circuit設(shè)計(jì)和仿真,完成實(shí)驗(yàn)后提交他們的工作成果(包括報(bào)告、代碼和仿真鏈接);對(duì)其他同學(xué)的作品進(jìn)行評(píng)估,進(jìn)而給出分?jǐn)?shù)。
為了能夠更好地體現(xiàn)本實(shí)驗(yàn)教學(xué)平臺(tái)的便利性,在網(wǎng)站建設(shè)的基礎(chǔ)上,開發(fā)移動(dòng)應(yīng)用程序,方便學(xué)生隨時(shí)隨地獲取相關(guān)的知識(shí)內(nèi)容。
移動(dòng)應(yīng)用程序基于Android開發(fā),具有網(wǎng)站的基本功能。主Activity具有兩個(gè)基本選項(xiàng)卡——“發(fā)現(xiàn)課程”與“我的課程”。每選擇不同的選項(xiàng)卡,會(huì)切換到不同的面板。發(fā)現(xiàn)課程面板即網(wǎng)頁的主頁區(qū)域用于課程介紹等功能;我的課程選項(xiàng)卡,提供了不同用戶在學(xué)習(xí)單片機(jī)在線課程的具體內(nèi)容,包括成績查詢、資料下載等。
當(dāng)程序啟動(dòng)時(shí),檢測(cè)到用戶沒有登錄的時(shí)候,會(huì)彈出用戶登錄,Activity要求用戶登錄,同時(shí)手機(jī)平臺(tái)面向外網(wǎng),學(xué)生可以在任何時(shí)候、任意地點(diǎn)接入,充分體現(xiàn)了移動(dòng)便捷。
本平臺(tái)實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)和仿真使用一款來自國外的免費(fèi)在線仿真軟件,網(wǎng)址:https://123d.circuits.io/。這是一個(gè)支持在線Arduino仿真設(shè)計(jì)的網(wǎng)站,用戶可以在網(wǎng)站模擬Arduino實(shí)物進(jìn)行仿真操作,支持Arduino IDE模擬;用戶還可以編輯代碼,實(shí)現(xiàn)Arduino的在線電路設(shè)計(jì)與單片機(jī)的運(yùn)行。
由于網(wǎng)站具有人性化的開發(fā)環(huán)境,雖然網(wǎng)絡(luò)服務(wù)器在國外,但訪問速度并不慢,完全可以提供給學(xué)生在線仿真服務(wù)。在平臺(tái)中,給出了網(wǎng)頁的鏈接地址和相應(yīng)的操作方法。
1.實(shí)驗(yàn)課程安排
對(duì)比國內(nèi)外相關(guān)實(shí)驗(yàn)課程的教學(xué)情況,設(shè)計(jì)了如表1所示的實(shí)驗(yàn)內(nèi)容。在一個(gè)學(xué)期內(nèi),在線實(shí)驗(yàn)課程安排4個(gè)實(shí)驗(yàn)項(xiàng)目,每個(gè)項(xiàng)目有20天的時(shí)間限制;在此期間內(nèi),學(xué)生提交作業(yè)有效。課程滿分100分,各實(shí)驗(yàn)項(xiàng)目所占評(píng)分比重如下:實(shí)驗(yàn)1,20%;實(shí)驗(yàn) 2,20%;實(shí)驗(yàn)3,30%;實(shí)驗(yàn)4,30%。
表1 課程內(nèi)容
2.實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)
以實(shí)驗(yàn)項(xiàng)目1為例,任務(wù)是用按鍵控制虛擬面包板上的7個(gè)LED燈有序閃爍。當(dāng)按鍵按下時(shí),LED燈開始從右到左閃爍;再一次按下時(shí),反方向閃爍。這是一個(gè)最基本的實(shí)驗(yàn),目的在于指導(dǎo)學(xué)生學(xué)會(huì)虛擬Arduino板和虛擬面包板的使用,了解Arduino的基本功能。通過該實(shí)驗(yàn),學(xué)生應(yīng)該掌握Arduino數(shù)字I/O口的使用,學(xué)會(huì)用LED作為復(fù)雜項(xiàng)目的調(diào)試手段,理解LED配置限流電阻工作原理。仿真過程如圖2所示。
圖2 實(shí)驗(yàn)項(xiàng)目1仿真
為了讓學(xué)生能夠有一個(gè)輕松的學(xué)習(xí)過程,平臺(tái)提供兩個(gè)視頻教程,可以清晰解釋如何在虛擬面包板上搭建電路,如何編譯Arduino代碼和運(yùn)行仿真。仿真平臺(tái)也提供Arduino Uno的基本信息和編程語言的語句結(jié)構(gòu),還提供有關(guān)按鍵和上拉、下拉電阻的微型講座。實(shí)驗(yàn)項(xiàng)目1成績的20分值按以下規(guī)則打分(折算成100分),如表2所示。
表2 實(shí)驗(yàn)評(píng)分規(guī)則
1.評(píng)分系統(tǒng)流程
評(píng)分系統(tǒng)分為3個(gè)部分:①學(xué)生在作業(yè)提交截止日之前線上提交他們的作業(yè),作業(yè)包括:實(shí)驗(yàn)報(bào)告、程序代碼、123circuit鏈接和作業(yè)視頻鏈接(最后一項(xiàng)不做硬性要求);②提交作業(yè)截止日之后,系統(tǒng)將自動(dòng)選擇已完成作業(yè)的學(xué)生評(píng)價(jià)其他幾個(gè)學(xué)生的作業(yè)(匿名),評(píng)價(jià)邏輯如圖3所示。③學(xué)生互評(píng)后,系統(tǒng)將計(jì)算等級(jí);學(xué)生得到分?jǐn)?shù)和評(píng)語后,如果認(rèn)為有差錯(cuò),還可以提交申請(qǐng),重新評(píng)定,成績?cè)u(píng)定流程如圖4所示。
圖3 學(xué)生互評(píng)邏輯圖
圖4 成績?cè)u(píng)定流程圖
2.互評(píng)匹配原則
互評(píng)系統(tǒng)滿足以下要求:①提供可靠性高、準(zhǔn)確率高的評(píng)估;②每個(gè)參與互評(píng)的學(xué)生應(yīng)該承擔(dān)相對(duì)均等、合理的工作量;③系統(tǒng)的擴(kuò)展性好,上千學(xué)生可以參加學(xué)習(xí)[4]。
為了保證互評(píng)的公平性,做以下條件限制:①匿名評(píng)價(jià)且禁止評(píng)價(jià)自己提交的作業(yè);②嚴(yán)格遵照教師預(yù)先設(shè)定的評(píng)價(jià)規(guī)則;③保證每份提交的作業(yè)有相同的評(píng)價(jià)次數(shù);④每次評(píng)價(jià)過程中,要求同一份作業(yè)每人僅評(píng)價(jià)一次。
表3 互評(píng)匹配原則示意
表3給出了互評(píng)匹配模型:設(shè)存在n名學(xué)生,則每個(gè)學(xué)生最多需評(píng)價(jià)n-1份作業(yè),按照互評(píng)匹配原則的條件限制,得到唯一解。在匿名評(píng)價(jià)過程中,假設(shè)每人需評(píng)價(jià)k份作業(yè),則在表3的前n-1行中隨機(jī)抽取出k行作為評(píng)價(jià)對(duì)象,這樣即可滿足無法自評(píng)且每人評(píng)價(jià)份數(shù)相同[8]。
3.成績?cè)u(píng)定算法
一個(gè)學(xué)生的得分包含兩部分:①其他學(xué)生對(duì)這個(gè)學(xué)生的作業(yè)給出的互評(píng)分?jǐn)?shù)S1;②該學(xué)生為他人評(píng)分而獲得的反饋分?jǐn)?shù)S2。本文采用rubric算法來計(jì)算學(xué)生的分?jǐn)?shù)[5]。
先將每個(gè)實(shí)驗(yàn)項(xiàng)目分為若干評(píng)分點(diǎn),教師給出評(píng)分標(biāo)準(zhǔn)和權(quán)重。
⑴假設(shè)有k個(gè)學(xué)生對(duì)A同學(xué)評(píng)分,則A同學(xué)受評(píng)的分?jǐn)?shù)按照不同采分點(diǎn)加權(quán)求和得到受評(píng)分?jǐn)?shù)S1
表4 互評(píng)分?jǐn)?shù)統(tǒng)計(jì)結(jié)果
⑵A同學(xué)在第i個(gè)采分點(diǎn)對(duì)其他學(xué)生的評(píng)分的結(jié)果偏差|di|可表示為
反饋分?jǐn)?shù)S2與結(jié)果偏差|di|呈負(fù)相關(guān)。
分別計(jì)算每個(gè)學(xué)生的|d|,取|d|最小的分?jǐn)?shù)為“最優(yōu)值”,即“最優(yōu)值”是最接近平均值的k位學(xué)生中某一個(gè)學(xué)生的評(píng)分。若存在相等的|d|,取較大數(shù)為“最優(yōu)值”。
反饋分?jǐn)?shù)S2的數(shù)學(xué)表達(dá)式
其中,q為A同學(xué)打分的學(xué)生總數(shù);xm,i為A同學(xué)給第m位學(xué)生的第i個(gè)采分點(diǎn)打分的分值;bm,i為第m位學(xué)生的第i個(gè)采分點(diǎn)的最優(yōu)值。
⑶A同學(xué)實(shí)驗(yàn)項(xiàng)目得分S為
其中,f1為互評(píng)分?jǐn)?shù)S1占的比重;f2為反饋分?jǐn)?shù)S2占的比重[6]。
以實(shí)驗(yàn)項(xiàng)目1為例,令k=4,q=4,f1=0.8,f2=0.2,即有4個(gè)學(xué)生同時(shí)給A同學(xué)評(píng)分,A同學(xué)也為其4個(gè)學(xué)生評(píng)分。互評(píng)分?jǐn)?shù)統(tǒng)計(jì)結(jié)果如表4所示,求得A同學(xué)S1=87,S2=81,S=85。
國內(nèi)院校的現(xiàn)有實(shí)驗(yàn)課程MOOC平臺(tái)多是以在線視頻授課為主,學(xué)生只能被動(dòng)地接受學(xué)習(xí)內(nèi)容,缺乏傳統(tǒng)課堂教學(xué)的互動(dòng)環(huán)節(jié)。本文設(shè)計(jì)的基于Arduino的單片機(jī)實(shí)驗(yàn)MOOC平臺(tái),由于設(shè)置了在線仿真模塊,使學(xué)生有了“動(dòng)手”機(jī)會(huì);并且,利用Rubric算法,開發(fā)了在學(xué)生互評(píng)基礎(chǔ)上的評(píng)分系統(tǒng),提供了學(xué)生之間“互動(dòng)”學(xué)習(xí)的機(jī)制。這是一種全新的單片機(jī)實(shí)驗(yàn)教學(xué)方法,隨著平臺(tái)的上線運(yùn)行,必將對(duì)現(xiàn)有的實(shí)驗(yàn)教學(xué)模式產(chǎn)生深刻的影響。
[1]孫青,艾明晶,曹慶華.MOOC環(huán)境下開放共享的實(shí)驗(yàn)教學(xué)研究[J].實(shí)驗(yàn)技術(shù)與管理,2014(8):192-195.
[2]李華,龔藝,紀(jì)娟等.面向MOOC的學(xué)習(xí)管理系統(tǒng)框架設(shè)計(jì)[J]現(xiàn)代遠(yuǎn)程教育研究,2013(3):28-33.
[3]周艷,李育澤,徐義東.基于MOOC理念的微課資源網(wǎng)站設(shè)計(jì)[J].現(xiàn)代教育技術(shù),2014(1):113-118.
[4]孫力,鐘斯陶.MOOC評(píng)價(jià)系統(tǒng)中同伴互評(píng)概率模型研究[J].開放教育研究,2014(5):83-90.
[5]李青,劉娜.MOOC質(zhì)量保證體系研究[J].開放教育研究,2015(5):66-73.
[6]王秀婷.基于edX的MOOC互動(dòng)交流平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.
(編輯:魯利瑞)
TP391.9
A
1673-8454(2016)10-0087-04
吉林大學(xué)2015年網(wǎng)絡(luò)實(shí)驗(yàn)建設(shè)項(xiàng)目(VE2015046)。