999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于代碼倉庫的語言類計算機課程教學輔助平臺

2021-01-07 05:43:44陸柳敏楊李婷張衛豐
軟件導刊 2020年12期
關鍵詞:作業課程教師

陸柳敏,王 庭,楊李婷,張衛豐,4

(1.南京市供電公司,江蘇南京 210008;2.南京郵電大學計算機學院;3.南京郵電大學工程實踐中心,江蘇南京 210003;4.廣西可信軟件重點實驗室,廣西桂林 541004)

0 引言

目前,版本管理已經成功應用于大多數企業項目代碼管理中,版本管理所帶來的歷史回溯、分支保護、持續集成等功能逐漸成為項目生產必備要素。高校計算機課程強調使用項目代碼完成實踐課程,但是項目化代碼作業導致學生作業管理難、無法追蹤進度、代碼評定困難等問題。

本文設計并實現了一個基于版本管理的教學平臺系統,在課程作業管理中引入版本管理的優秀特性與功能。系統使用分布式版本管理工具Git,與課程作業管理邏輯相結合,使用Git 操作代替學生提交作業、教師創建作業、教師同步作業等行為。

筆者根據使用代碼倉庫管理課程作業遇到的問題,提出“作業批量分發”“作業自動批改”“作業在線批注”“作業相似性檢測”4 點需求,據此4 點需求使用代碼倉庫、持續集成等技術進行縝密設計,在南京郵電大學的計算機課程中進行試用,反饋良好。

1 相關工作

版本控制軟件提供完備的版本管理功能,用于存儲、追蹤目錄(文件夾)和文件的修改歷史,是軟件開發者必備工具,Git 已經成為軟件行業開發人員的首選。

代碼克隆表示在文本、詞匯、結構或含義方面類似或等同的源代碼片段。Kamiya 等[1]將代碼克隆定義為程序干擾和較差的軟件可維護性。代碼克隆具有兩面性:一方面代碼克隆可以提高軟件開發效率[2-3];另外一方面,軟件克隆可能導致長期的軟件維護風險,例如代碼中可能存在重復缺陷以及克隆代碼片段之間的可行性缺失現象[4];Chatterji 等[5]給出了克隆代碼的開放式查詢,而Stephan等[7]回顧了該領域相關成果。Mondal 等[6]研究表明,盡管代碼克隆對軟件可維護性會產生負面影響,但克隆代碼可能比非克隆代碼擁有更高的準確性;但是在學生作業中直接克隆其它人的作業或代碼并不是一種好行為,學生缺失了鍛煉的機會,教師無法正確評估學生學習的掌握情況。

此外,文獻[8]主要利用微信進行編程教育,增強互動性;文獻[9]利用黑盒測試技術對學生作業進行自動測試,解決教師批改作業工作量大、學生實踐能力差等問題,通過程序設計輔助教學平臺可以提高教師教學質量和學生的學習效率;雷大正等[10]提出以能力為本位,以編程實踐為主線的思想,培養學生實際開發能力。

這些工作在一定程度上解決了編程教育信息化問題,但是沒有解決學生編程過程的管理和作弊問題。本文提出利用Git 代碼倉庫的版本管理機制實現學生作業過程管理和防作弊,有效提高了編程實訓效果。

2 教學平臺設計

系統需求有3 個方面:①在代碼管理方面,提供類似于GitHub 的代碼管理功能,管理員可以管理教師及學生賬號;②教師可以創建學生賬號并分組,創建代碼倉庫,并且可以把代碼倉庫分發給某個小組。此外,教師可對學生提交的代碼進行批改注解,對學生的作業進行相似性檢測;在作業批改與自動檢測方面,需要為教師提供課程項目代碼評判結果展示界面,以便管理者審查學生未合格的代碼;③教師在批改代碼文件時,系統需要為其提供非侵入式批注功能,并通過郵件等方式將批注消息與內容發送給相應的代碼倉庫作者。

系統根據需求分為管理員、教師與學生3 種角色:①管理員負責整個平臺的管理,負責教師與學生賬號的管理;②教師主要職責有:管理學生賬戶,包括導入導出與分組功能;創建模板倉庫;創建學生倉庫;批改學生倉庫;相似性檢測等;③學生權限包括登錄系統,下載及同步代碼倉庫。

系統總體架構如圖1 所示。系統架構基礎服務組件包含Git 服務組件與數據服務組件。Git 組件主要負責Git的相關數據查詢與操作自動化,數據服務組件提供數據庫相關的操作接口。核心功能組件包括注解機制服務組件、持續集成服務組件、對比算法組件以及權限配置組件。這4 種組件與基礎服務組件相結合使用,組成系統各部分主要功能模塊。

圖1 系統總體架構

(1)注解機制服務組件。該部分主要關注教師與學生的非侵入式批注功能與郵件通知服務,該組件與基礎服務組件結合使用作為作業在線批注模塊的核心功能。

(2)持續集成服務組件。此組件負責系統與持續集成工具進行數據交互的功能,它是作業自動批改功能模塊的核心部件,可與數據服務組件結合使用將數據存儲到系統數據庫。

(3)對比算法組件。這是一個包含代碼相似度核心對比算法的組件,主要功能是對比出兩個代碼倉庫的相似度。

(4)權限配置組件。這一部分體現系統中各賬戶的權限控制與權限分配規則功能,它與基礎組件中的數據服務、Git 服務相結合作為賬戶管理、作業項目存儲管理兩個模塊的核心功能。

綜上所述,本系統在設計結構上具有較強的可擴展性,主要體現在以下3 點:①各功能模塊之間相互隔離,僅通過數據庫中的數據進行驅動,各模塊之間耦合性低;②基礎服務組件提供數據庫數據、Git 代碼倉庫數據的管理接口,新加入模塊可直接使用標準接口開發,省去了大量重復代碼;③系統頁面的控制層均由Wicket 實現,易于插入新功能頁面。

3 作業相似度檢測

代碼相似度檢測功能是項目的核心功能。在計算機課程管理中,為降低作業評判工作量,大多數課程會使用統一題目發給學生,造成學生大量抄襲作業現象。一些課程開始使用線上編程系統,但依舊無法解決抄襲問題,并且這種在線編程系統無法支持工程化作業。

鑒于此,本文提出在代碼倉庫模式下的代碼管理中進行代碼相似性檢測方案,設計并實現一種新型的代碼相似度檢測算法,其主要實現原理是:利用獲取Git 代碼倉庫中的代碼版本歷史提交信息之間的差異,判斷兩份代碼的更迭軌跡是否相似,從而獲得學生作業的相似性結果。該方法與傳統代碼相似性判斷方法不同,其將判斷目標由代碼主體轉移到代碼的更迭記錄,這種轉變使其更適合采用工程項目中代碼的相似性檢測方法,但需要基于Git 代碼倉庫實現。

項目對比算法有兩個核心思想:①需要根據倉庫兩兩版本之間的相似度確定最終的相似度;②對于兩個版本之間的相似性需要考慮文本內容的相似性以及每個版本與之前版本差異的相似性。

設倉庫R1與倉庫R2是兩個代碼倉庫,則倉庫間的相似性可通過公式(1)計算。

其中,m和n分別為倉庫R1和R2的提交次數,Max(m,n)表示取m和n的最大值,C(R1,R2)表示R1和R2中檢測出的相似版本個數。

4 教學平臺反饋

基于代碼倉庫的教學平臺目前已經成功應用到南京郵電大學計算機學院兩門課程中,項目申請者是編程教育一線教師,對編程教育中的痛點認識深刻。在2018 年的實踐中,利用該平臺的過程管理功能判定13 位學生不及格(在以前沒法判定不及格),在2019 年4 月份的“軟件設計實踐”中,成功實現多人協作模式下的軟件開發,通過問卷調查取得較好的應用效果。學生反饋情況如圖2 所示。

圖2 學生學習收獲反饋

5 結語

本平臺在編程語言類教學課程中可作為學生的統一作業提交平臺,教師可方便查看學生作業進度并進行批改、相似度檢測等操作,學生在這種強有力的監管之下會積極進行編程作業的原創工作。本平臺在南京郵電大學C語言教學課程中試用,評價良好。

后續工作是基于此平臺對學生的單人或協作作業進行分類規劃,對于協作的作業進行個人作業量統計與相似度檢測,逐步杜絕抄襲,為學生創造良好的學習氛圍。

猜你喜歡
作業課程教師
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
快來寫作業
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
為什么要學習HAA課程?
未來教師的當下使命
作業
故事大王(2016年7期)2016-09-22 17:30:08
圓我教師夢
吐魯番(2014年2期)2014-02-28 16:54:42
我想要自由
主站蜘蛛池模板: 五月天综合婷婷| 亚洲另类色| 好久久免费视频高清| 国产精品yjizz视频网一二区| 啪啪啪亚洲无码| 在线高清亚洲精品二区| 亚洲色图欧美在线| 在线亚洲小视频| 日本精品中文字幕在线不卡 | 久草青青在线视频| 黑人巨大精品欧美一区二区区| 黄色国产在线| 免费看一级毛片波多结衣| 国产综合日韩另类一区二区| 欧美区在线播放| 在线观看精品国产入口| 亚洲高清资源| 亚洲国产日韩视频观看| 在线观看亚洲天堂| 久久男人视频| jizz国产在线| 国产视频自拍一区| 成人在线观看一区| 日韩东京热无码人妻| 男人天堂伊人网| www.亚洲一区二区三区| 欧美亚洲香蕉| 毛片一级在线| 青青草原国产| 国产簧片免费在线播放| 亚洲色图欧美| 精品伊人久久大香线蕉网站| 亚洲天堂视频在线免费观看| 亚洲第一天堂无码专区| 波多野吉衣一区二区三区av| 91精品啪在线观看国产| 精品亚洲国产成人AV| 毛片最新网址| 91美女视频在线| 999国内精品久久免费视频| 午夜精品影院| 国产福利免费视频| www.99在线观看| 国产精品9| a天堂视频| 久青草国产高清在线视频| 国产亚洲欧美在线中文bt天堂| 久久精品一品道久久精品| 欧美第一页在线| 国产青榴视频| 欧洲熟妇精品视频| 尤物视频一区| 亚洲a免费| AV无码一区二区三区四区| 亚洲av无码人妻| 久综合日韩| 九九线精品视频在线观看| 亚欧成人无码AV在线播放| 欧美另类第一页| 无码福利日韩神码福利片| 日本午夜网站| 久久国产乱子伦视频无卡顿| 中文字幕资源站| 中文字幕欧美日韩| 97色婷婷成人综合在线观看| 一级一级一片免费| 日韩欧美国产另类| 中国一级特黄视频| 一级爱做片免费观看久久| 国产日韩欧美视频| 日本成人不卡视频| 中国国产一级毛片| 国产精品视频白浆免费视频| 萌白酱国产一区二区| 综合社区亚洲熟妇p| 亚洲三级视频在线观看| 日本午夜三级| 亚洲中文字幕在线精品一区| 欧美成人免费午夜全| 亚洲无码熟妇人妻AV在线| 色综合成人| 精品一區二區久久久久久久網站|