Moodle自動評測系統(tǒng)在高中信息技術(shù)教學中的應用探究_第1頁
Moodle自動評測系統(tǒng)在高中信息技術(shù)教學中的應用探究_第2頁
Moodle自動評測系統(tǒng)在高中信息技術(shù)教學中的應用探究_第3頁
Moodle自動評測系統(tǒng)在高中信息技術(shù)教學中的應用探究_第4頁
Moodle自動評測系統(tǒng)在高中信息技術(shù)教學中的應用探究_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

【摘要】高中信息技術(shù)新教材將編程教育作為一項重要內(nèi)容,在教學實踐過程中存在著學生的練習代碼無法快速批改、無法進行課堂評價和給予學生反饋等難題。筆者受信息學奧林匹克競賽自動評測系統(tǒng)(OJ)的啟發(fā),基于開源軟件Moodle搭建了適用于高中Python教學使用的自動評測系統(tǒng)。實踐表明,使用自動評測系統(tǒng)可以大大減輕教師的作業(yè)判題工作量,同時可以給學生更加準確及時的反饋,提高了學習者的學習動力和積極性,取得了良好的教學效果?!娟P(guān)鍵詞】Python;自動評測;Moodle;編程教育《普通高中信息技術(shù)課程標準(2017年版)》將計算思維確定為信息技術(shù)學科核心素養(yǎng)的四個核心要素之一[1]。Python語言重算法、輕語法、易入門的特點,便于中學信息技術(shù)課程展開教學,成為新教材的主要程序設計語言。編程學習前期需要反復嚴格的上機代碼訓練,這樣可以深化對代碼的理解,提高程序設計的熟練度,然而傳統(tǒng)條件下,教師批改學生提交的Python代碼作業(yè)是一項非常耗時耗力的枯燥工作。筆者借鑒信息學競賽使用的在線自動評測系統(tǒng)實現(xiàn)自動判題,基于開源軟件Moodle搭建了適用于高中Python教學使用的自動評測系統(tǒng)(以下簡稱“Moodle自動評測系統(tǒng)”),學生利用系統(tǒng)編寫并提交代碼,系統(tǒng)在幾秒內(nèi)快速對代碼進行檢查和結(jié)果比對并給出檢查結(jié)果,將大大減少教師的判題工作量。目前國內(nèi)已有將自動評測系統(tǒng)應用于信息技術(shù)教學的實踐和研究,經(jīng)過實踐證明,基于Moodle的在線評測系統(tǒng)是可行的,通過在線OJ應用于信息技術(shù)教學具有重要意義。本文在LAMP環(huán)境下部署開源課程管理系統(tǒng)Moodle,安裝CodeRunner插件和Jobe服務器,實現(xiàn)Python在線自動判題系統(tǒng)的快速部署,在教學應用的過程中不僅減少了教師的工作量,還提高了學生的學習動力和積極性,取得了預期的良好效果。采用Moodle自動評測系統(tǒng)的理由當前傳統(tǒng)的學生代碼作業(yè)批改一般過程為:學生根據(jù)項目任務使用代碼編輯器編寫代碼,調(diào)試運行結(jié)果,然后把源代碼通過機房管理軟件或者FTP服務器提交給老師,老師在收到學生的代碼作業(yè)后,需要將每位學生的源代碼文件逐個打開,再編譯運行,檢查代碼運行結(jié)果是否正確,找出出錯的原因,對學生的作業(yè)反饋一般在下一節(jié)上課前。這樣的作業(yè)判題工作量非常大,也比較枯燥,課堂評價無法開展,很少能對每位學生做出快速反饋,一般會在下一節(jié)課找出典型難點和共性問題進行全體講解,教學反饋周期長,沒有針對性,批改難以正確客觀。長期以往,會出現(xiàn)學生提交作業(yè)的積極性不高或者應付作業(yè)的情況。因此,采用一種能夠自動對學生提交的代碼進行批改的系統(tǒng)成為優(yōu)化傳統(tǒng)代碼作業(yè)批改這一亟需解決問題的最優(yōu)辦法。OJ是OnlineJudge的簡稱,即在線評測系統(tǒng),在系統(tǒng)后臺會對提交的程序進行嚴格的測試,有的還會對運行的時間和內(nèi)存作出限制。OJ系統(tǒng)最初應用于信息學奧林匹克競賽中的自動判題和排名,現(xiàn)廣泛應用于各種程序設計訓練和競賽的作業(yè)自動提交判斷中。雖然信息學奧賽OJ系統(tǒng)已經(jīng)非常廣泛和成熟,但是二者有著明顯的差異,并不適合信息技術(shù)課堂教學。常用的開源OJ主要針對信息學競賽的學生,一般題庫的數(shù)量大、難度大,僅限于訓練答題,沒有課程管理,不適合剛?cè)腴T的普通班級學生的學情和學習進度?;贛oodle的OJ很容易上手應用,教師可以根據(jù)教學進度和學生學情選擇設計每節(jié)課的練習題目,比較適合日常的信息技術(shù)教學。Moodle自動評測系統(tǒng)則可以幫助教師根據(jù)所教班級學生的實際學情自主命制每節(jié)課的練習題。采用Moodle自動評測系統(tǒng),學生在系統(tǒng)網(wǎng)頁中編輯并提交代碼,系統(tǒng)會給出即時反饋,知道代碼運行是否正確,教師在后臺可以快速可視化地查看作業(yè)得分統(tǒng)計,一方面激發(fā)了學生完成作業(yè)的積極性,同時也便于教師進行作業(yè)管理和課堂教學。Moodle自動評測系統(tǒng)原理與實現(xiàn)Moodle是一個由澳大利亞教師MartinDougiamas開發(fā)的基于建構(gòu)主義的課程管理系統(tǒng)(CMS)[2],它遵循GNU公共許可協(xié)議,是一個任何人都可以免費使用的自由的開源軟件,采用B/S模式。在國內(nèi)黎加厚等教育技術(shù)專家的推廣下,已成為深受教育工作者喜愛的一種可以快速搭建在線課程管理系統(tǒng)的工具[3]。Moodle采用模塊化面向?qū)ο蟮脑O計方法,不僅極大地方便了教師個人開展在線課程和網(wǎng)站管理,還具有極好的靈活性和可擴展性,許多Moodle愛好者開發(fā)了品類豐富的實用插件,管理員可以像安裝App一樣在線快速地安裝和配置,并且可以和Moodle通信,統(tǒng)一管理。新西蘭坎特伯雷大學計算機科學系的Richardlobb博士開發(fā)了一個名為“沙盒(Jobe)”的計算機程序自動評測后端系統(tǒng)和名為CodeRunner的Moodle測驗題插件,它使得Moodle可以添加代碼檢測試題,支持Python、C++等超過40種語言,并把自動評測結(jié)果同步到Moodle平臺的作業(yè)統(tǒng)計中。Jobe服務是一個名為Docker的開源應用容器平臺,讓開發(fā)者可以將他們的應用以及依賴包到一個可打包移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的電腦上,也可以實現(xiàn)虛擬化。容器完全使用沙箱機制,相互之間不會有任何接口[4]。用戶提交的作業(yè)代碼在相互獨立的虛擬化容器里編譯運行,然后返回結(jié)果。Moodle服務器采用LAMP環(huán)境,CodeRunner安裝在Moodle(3.0版或更高版本)服務器上使用,運行代碼的”沙盒”軟件(Jobe)安裝在具有足夠安全性和防火墻的單獨機器上,也可以部署在同一臺服務器上。但是,如果考慮到反應速度或者應用于考試,則建議使用單獨的服務器,CodeRunner插件需要管理員配置指向Jobe服務器的端口號。Jobe服務可以不單獨部署,該插件最初配置為連接到坎特伯雷大學的Jobe服務器以運行作業(yè),但它提供的服務有限,僅對初步測試有用。Moodle自動評測系統(tǒng)的效率(所支持的并發(fā)用戶數(shù))與部署moodle的服務器有關(guān),假設學生代碼本身在幾分之一秒內(nèi)運行,單個4核Moodle服務器每分鐘可以處理大約60個測驗問題,同時保持小于約3~4秒的響應時間。本文的工程實現(xiàn)過程如下:硬件采用戴爾R420服務器,支持整合和虛擬化的環(huán)境,服務器安裝一個linux發(fā)行版Ubuntu20.04操作系統(tǒng),然后部署和配置Apache2+PHP7.4+MySQL8.0服務,在此環(huán)境下安裝Moodle3.11網(wǎng)站系統(tǒng)軟件包,在線安裝插件CodeRunner和Adaptiveadaptedforcoderunner,最后部署和配置用于自動評測的后端系統(tǒng)的Jobe服務器。然后進行課程設置就可以進行教學應用了?;陂_源軟件Moodle可以免費、快速地搭建自動評測系統(tǒng),教師可以自行維護,不需要第三方公司等,用到的模塊如圖1所示,一方面可以提升信息技術(shù)教師的專業(yè)素養(yǎng),另一方面便于教師自行設計題庫和內(nèi)容,比較適合個性化、精準化的信息技術(shù)教學工作。Moodle自動評測系統(tǒng)的教學實踐效果采用Moodle自動測評系統(tǒng)的教學過程如圖2所示,學生提交用程序設計語言在線編寫的代碼后,系統(tǒng)在后端Jode內(nèi)編譯和運行,將其與預設提供的測試用例進行比較,以檢查程序是否正確,還可以設定根據(jù)提交次數(shù)給予具有一定懲罰機制的趣味化設置。筆者本學期應用Moodle在線評測系統(tǒng)的教學實驗共有12節(jié),2個教學班共115人參加,使用過程中學生積極參與,教學效果明顯提高,以下數(shù)據(jù)來源于筆者采用Moodle自動評測系統(tǒng)進行“循環(huán)嵌套”教學的統(tǒng)計。1.便于內(nèi)容管理在傳統(tǒng)的信息技術(shù)課堂教學中,學生如果有知識遺忘需要查閱課本或者詢問教師,但是對于編程而言,課本上關(guān)于Python編程用到的知識點不夠完整,借助Moodle課程管理平臺,可以將Python編程語言的基礎要點做成一個內(nèi)容網(wǎng)頁,便于學生在使用時快速檢索回顧。統(tǒng)計數(shù)據(jù)顯示,“循環(huán)嵌套”知識頁面點擊量292次,學生反饋良好,認為一方面可以查詢本節(jié)課用到的知識點,另一方面還可以快速查詢以往課程的知識點,有助于節(jié)約時間、提高學習效率。2.便于即時反饋采用Moodle自動評測系統(tǒng),學生提交代碼就能即時判分,這也是教師使用自動評測系統(tǒng)積極性最高的地方,讓初學編程的學生在課堂上找到要做的事,能感受到自己的進步。當然這也帶來了課堂作業(yè)的應試感,因此,教師需要采用不同的教學策略和語言引導學生擺脫應試思維。采用自動評測系統(tǒng)的目的并不是為了通過率或者數(shù)量,僅僅是一種快速評測代碼的工具而已,是為了幫助學生即時得到自己代碼在嚴格評測系統(tǒng)中的反饋,幫助他們找到進步的成就感。根據(jù)自我效能感與學習倦怠成負相關(guān)的關(guān)系[5],提升學生的自我效能感有助于減少程序?qū)W習的壓力、枯燥等帶來的學習懈怠。3.便于課堂評價和作業(yè)管理傳統(tǒng)課堂的教學評價無法有效進行,Moodle系統(tǒng)中的圖、表可視化的作業(yè)統(tǒng)計功能非常便于教師的課堂評價。以往教師需要大量的時間出題和維護題庫,通過Moodle自動評測系統(tǒng),教師可以查看每節(jié)課隨堂練習題的學生完成情況、難度、區(qū)分度等,不斷根據(jù)學情優(yōu)化題庫,隨著代碼的積累,形成特色的題庫,有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論