• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于CodeMirror的Web在線編程實(shí)訓(xùn)模塊設(shè)計(jì)與實(shí)現(xiàn)

      2019-03-17 05:53黃小冬
      軟件工程 2019年2期
      關(guān)鍵詞:設(shè)計(jì)與實(shí)現(xiàn)

      黃小冬

      摘? 要:“互聯(lián)網(wǎng)+”時(shí)代,編程能力的培養(yǎng)將是技術(shù)技能人才培養(yǎng)的重要范疇。MOOCs在Web編程課程資源的傳播上發(fā)揮著巨大作用,但其對(duì)編程的實(shí)訓(xùn)過(guò)程支持欠佳。本文基于CodeMirror編輯器,探討Web在線編程實(shí)訓(xùn)模塊設(shè)計(jì)及實(shí)現(xiàn)語(yǔ)法高亮與語(yǔ)法檢查、可編輯區(qū)域的定義與使用、實(shí)訓(xùn)步驟的拆分及實(shí)訓(xùn)結(jié)果檢測(cè)規(guī)則的方式,以彌補(bǔ)這一不足。

      關(guān)鍵詞:CodeMirror;Web編程;在線實(shí)訓(xùn);設(shè)計(jì)與實(shí)現(xiàn)

      中圖分類(lèi)號(hào):TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

      Design and Implementation of Web Online Programming?Training Module Based on CodeMirror

      HUANG Xiaodong

      (Chongqing Technology & Business Institute,Hechuan 401520,China)

      Abstract:In the Internet+era,programming skill is an important area for the cultivation of technical personnel in the future.MOOCs plays a huge role in the dissemination of Web programming curriculum resources,but lacks? support for programming training process.Based on the CodeMirror editor,this paper explores the design of Web online programming training module and how to implement syntax highlighting and grammar checking,definition and use of editable areas,splitting of training steps and training results detection rules to solve the problem.

      Keywords:CodeMirror;Web programming;online training;design and implementation

      1? ?引言(Introduction)

      現(xiàn)如今,各行各業(yè)都在探索與互聯(lián)網(wǎng)的深度融合,對(duì)技術(shù)技能型人才的需求也在發(fā)生著變化。面向未來(lái),技術(shù)技能型人才尤其需要“互聯(lián)網(wǎng)+”思維與能力,具有編程能力將更具競(jìng)爭(zhēng)力,這已成為高等教育界乃至K12教育的共識(shí)[1]。Web編程以其入門(mén)較易、使用面廣的特點(diǎn),尤其適合“互聯(lián)網(wǎng)+”技術(shù)技能型人才培養(yǎng)。得益于MOOCs的流行[2],Web編程的課程資源豐富且較容易獲得。

      但是,這些MOOCs對(duì)編程實(shí)訓(xùn)的支持并不夠好,課程的實(shí)訓(xùn)部分一般以離線練習(xí)、常規(guī)在線題庫(kù)如選擇題、問(wèn)答題的方式進(jìn)行。編程作為一項(xiàng)技能,學(xué)習(xí)者須通過(guò)動(dòng)手實(shí)踐才能深入掌握。常規(guī)在線題庫(kù)不能滿(mǎn)足這一需求,而離線練習(xí)又使學(xué)習(xí)者難以得到及時(shí)有效的反饋。對(duì)于相當(dāng)多的學(xué)習(xí)者來(lái)說(shuō),初學(xué)編程被認(rèn)為是一項(xiàng)艱巨而具有挑戰(zhàn)性的任務(wù),編程類(lèi)型網(wǎng)絡(luò)課程的完課率也較低[3]。Web編程類(lèi)的MOOCs需要實(shí)現(xiàn)對(duì)學(xué)習(xí)者實(shí)訓(xùn)環(huán)節(jié)的有效支持。一般而言,MOOCs系統(tǒng)對(duì)用戶(hù)系統(tǒng)、課程信息、章節(jié)知識(shí)點(diǎn)結(jié)構(gòu)的定義均有較好支持與實(shí)現(xiàn)?;诖耍疚膶?zhuān)門(mén)探討如何設(shè)計(jì)與實(shí)現(xiàn)Web在線編程實(shí)訓(xùn)模塊。

      2? ?CodeMirror編輯器(CodeMirror eitor)

      在線編程即是通過(guò)瀏覽器進(jìn)行代碼的編輯、調(diào)試甚至部署[4]。編輯器不僅僅是一個(gè)內(nèi)容編輯框,而是實(shí)現(xiàn)Web編程在線實(shí)訓(xùn)過(guò)程性支持的關(guān)鍵。編輯器需要具有桌面IDE編輯器的部分功能,如代碼高亮、語(yǔ)法提示等;還要具有可拓展性,提供接口,從而實(shí)現(xiàn)輸入范圍約束、輸入內(nèi)容的獲取等。

      滿(mǎn)足這些要求的在線代碼編輯器目前主流有CodeMirror、Ace、Quill、Medium-editor、Draft.js。其中CodeMirror是功能強(qiáng)大的開(kāi)源軟件,尤其適合Web在線編程實(shí)訓(xùn),見(jiàn)表1。

      3? Web在線編程實(shí)訓(xùn)模塊設(shè)計(jì)(Web Online programming training module design)

      3.1? ?數(shù)據(jù)表設(shè)計(jì)

      采用MongoDB數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)表設(shè)計(jì)。MongoDB屬于NoSQL數(shù)據(jù)庫(kù),其管理技術(shù)的特點(diǎn)主要是基于“鍵值對(duì)”(key—value)數(shù)據(jù)模型來(lái)進(jìn)行數(shù)據(jù)管理,它打破了傳統(tǒng)的關(guān)系模型,以一種模式自由的方式存儲(chǔ)數(shù)據(jù)[5]。本文將每個(gè)實(shí)訓(xùn)題(Practice)存儲(chǔ)為一個(gè)MongoDB的BSON文檔,包含實(shí)訓(xùn)題ID(practiceId)、實(shí)訓(xùn)題名稱(chēng)(practiceName)、課程知識(shí)章節(jié)ID(sectionId)、內(nèi)容說(shuō)明(content)、初始代碼包(codePackage)、代碼文件的可編輯區(qū)域設(shè)置(config)、結(jié)果檢查規(guī)則(node)。其中,config為Object類(lèi)型,以文件全路徑名稱(chēng)(“.”替換為“#”)為鍵,以文件的可編輯方式(editable)、可編輯區(qū)域的行數(shù)范圍(block)為值。為更好支持學(xué)習(xí)者自主編程實(shí)訓(xùn),參照支架式教學(xué)理念,支持步驟分解實(shí)訓(xùn)目標(biāo),實(shí)現(xiàn)細(xì)粒度的實(shí)訓(xùn)支持。Node為實(shí)訓(xùn)的每一步定義結(jié)果檢查規(guī)則。如圖1所示。

      3.2? ?Web在線編程實(shí)訓(xùn)模塊功能設(shè)計(jì)

      從教師實(shí)訓(xùn)題編輯、學(xué)生在線實(shí)訓(xùn)兩方面對(duì)Web在線編程實(shí)訓(xùn)模塊進(jìn)行功能設(shè)計(jì)。如圖2所示,教師實(shí)訓(xùn)編輯功能主要包括實(shí)訓(xùn)題基本信息管理、實(shí)訓(xùn)題代碼管理、可編輯區(qū)域管理、結(jié)果檢查規(guī)則管理。創(chuàng)建新的實(shí)訓(xùn)題后,將可包括各種庫(kù)的代碼打包上傳,Web在線編程實(shí)訓(xùn)模塊以此生成實(shí)訓(xùn)代碼目錄。教師可創(chuàng)建、刪除目錄和文件,或更新部分文件的代碼。設(shè)置可編輯區(qū)域的起始行、結(jié)束行。創(chuàng)建實(shí)訓(xùn)步驟,每步綁定可編輯區(qū)域,設(shè)置結(jié)果檢查規(guī)則:人工檢查,需設(shè)置審核說(shuō)明;自動(dòng)檢查,需設(shè)置匹配方式、過(guò)濾字符、答案。

      5? ?結(jié)論(Conclusion)

      本文基于CodeMirror編輯器設(shè)計(jì)Web在線編程實(shí)訓(xùn)模塊,實(shí)現(xiàn)對(duì)HTML、CSS、JS等多種Web編程語(yǔ)言的語(yǔ)法高亮與語(yǔ)法檢查;設(shè)計(jì)并實(shí)現(xiàn)可編輯區(qū)域、結(jié)果檢測(cè)規(guī)則的自定義與限定,根據(jù)實(shí)訓(xùn)目標(biāo)細(xì)分實(shí)訓(xùn)步驟實(shí)現(xiàn)學(xué)生自主在線編程實(shí)訓(xùn)的細(xì)粒度支持。設(shè)計(jì)并實(shí)現(xiàn)的Web在線編程模塊將有效彌補(bǔ)MOOCs平臺(tái)普遍存在編程實(shí)訓(xùn)過(guò)程性支持不足的問(wèn)題,對(duì)相關(guān)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)具有參考價(jià)值。

      參考文獻(xiàn)(References)

      [1] Fatih Soykan,Sezer Kanbul.Analysing K12 Students' Self-Efficacy Regarding Coding Education[J].Association for Information Communication Technology Education and Science,2018,2(1):182-187.

      [2] José Azevedo. MOOC Success Factors:Proposal of an Analysis Framework[J].Journal of Information Technology Education: Innovations in Practice,2017,16(1):233-251.

      [3] Sohail Iqbal Malik.Comparison of Traditional and ADRI Based Teaching Approaches in an Introductory Programming Course[J].Journal of Information Technology Education: Research,2016,16(1):265-283.

      [4] 胡星,王澤瑞,李爍,等.POP:一個(gè)基于微服務(wù)架構(gòu)的在線編程系統(tǒng)[J].計(jì)算機(jī)科學(xué),2017,44(04):8-11.

      [5] 李常青,谷建華.一種基于ANTLR的MongoDB數(shù)據(jù)庫(kù)SQL轉(zhuǎn)化模型[J].西北工業(yè)大學(xué)學(xué)報(bào),2017,35(01):143-147.

      [6] 李瑩,柳生鵬,趙朗,等.自適應(yīng)RESTful Web API進(jìn)化模型的研究[J].計(jì)算機(jī)集成制造系統(tǒng),2017,23(05):1020-1030.

      [7] CodeMirror.User Manual[EB/OL].https://codemirror.net/doc/manual.html,2019-01-08.

      [8] 付哲,李軍.高性能正則表達(dá)式匹配算法綜述[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(20):1-13.

      猜你喜歡
      設(shè)計(jì)與實(shí)現(xiàn)
      統(tǒng)一通信系統(tǒng)客戶(hù)端的設(shè)計(jì)與實(shí)現(xiàn)研究
      校園網(wǎng)絡(luò)電視媒體直播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      測(cè)繪產(chǎn)品質(zhì)檢管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      網(wǎng)絡(luò)安全中入侵檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      配調(diào)一體配網(wǎng)自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      校園電商平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
      安徽省防震減災(zāi)媒體資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      高校文化建設(shè)中視覺(jué)識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
      科研院所科研信息化管理系統(tǒng)的設(shè)計(jì)與應(yīng)用
      基于PHP的醫(yī)院管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      石台县| 葫芦岛市| 洛扎县| 洛宁县| 福州市| 江门市| 丰宁| 清徐县| 德庆县| 大名县| 长宁县| 大厂| 祁阳县| 北流市| 灵璧县| 应城市| 高邑县| 体育| 高碑店市| 瑞昌市| 阿拉善左旗| 台江县| 敦煌市| 花莲市| 永兴县| 华池县| 筠连县| 铁岭市| 台北市| 壶关县| 温州市| 曲松县| 宜丰县| 吐鲁番市| 遵化市| 政和县| 循化| 鹰潭市| 涟水县| 油尖旺区| 封开县|