国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Moodle平臺(tái)的在線編程實(shí)驗(yàn)室的建設(shè)

2019-08-13 09:09劉欽波
中國(guó)信息技術(shù)教育 2019年14期
關(guān)鍵詞:插件代碼瀏覽器

劉欽波

● 背景

隨著《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》的發(fā)布,編程教育走進(jìn)中小學(xué)課堂。這對(duì)教師的編程教學(xué)也提出了更高的挑戰(zhàn)——如何保存學(xué)生提交的程序?如何在線運(yùn)行學(xué)生的程序?如何對(duì)學(xué)生的程序進(jìn)行評(píng)測(cè)?

當(dāng)前,大部分中小學(xué)都在使用Moodle網(wǎng)絡(luò)教學(xué)平臺(tái)進(jìn)行教學(xué),該網(wǎng)絡(luò)教學(xué)平臺(tái)雖然可以保存學(xué)生提交的程序,但還不能在線運(yùn)行程序,查看運(yùn)行結(jié)果,更不能對(duì)程序進(jìn)行評(píng)測(cè)。網(wǎng)上雖然有許多在線編程工具,如菜鳥工具等,但這些在線編程工具并不能保存提交程序,即使能夠保存學(xué)生提交的程序,也是保存在第三方的平臺(tái)上,不方便教師管理查看這些程序。

基于以上原因,筆者提出建設(shè)基于Moodle平臺(tái)的在線編程實(shí)驗(yàn)室,用于教師在編程教學(xué)中保存學(xué)生提交的程序,并可以在線運(yùn)行程序和對(duì)程序進(jìn)行評(píng)測(cè)。通過這個(gè)在線編程實(shí)驗(yàn)室,學(xué)生在有網(wǎng)絡(luò)的地方就可以在線編程,并不需要安裝本地開發(fā)環(huán)境,真正做到隨時(shí)隨地都學(xué)習(xí)編程。

● 實(shí)現(xiàn)方式

基于Moodle平臺(tái)的在線編程實(shí)驗(yàn)室可以用Moodle開源平臺(tái)和Virtual programming lab(VPL)這個(gè)插件來實(shí)現(xiàn),VPL插件也是完全開源的。

由于是開源平臺(tái),Moodle可以根據(jù)個(gè)人需求量身定制,其模塊化設(shè)置和可互操作設(shè)計(jì)允許開發(fā)人員開發(fā)插件并集成外部應(yīng)用程序以實(shí)現(xiàn)特定功能。[1]本文探討的在線編程實(shí)驗(yàn)室的功能就是用插件來實(shí)現(xiàn)的。

虛擬編程實(shí)驗(yàn)室(VPL)是Moodle的一個(gè)活動(dòng)模塊,提供了一個(gè)集成的開發(fā)環(huán)境,可以用于學(xué)生在線編程的教學(xué)與管理,其特點(diǎn)為:允許學(xué)生在瀏覽器中編輯程序源代碼;學(xué)生可以在瀏覽器中以交互方式運(yùn)行程序;學(xué)生和教師可以運(yùn)行測(cè)試來評(píng)測(cè)程序;允許搜索文件之間的相似性;允許設(shè)置編輯限制并避免外部文本粘貼。[2]

● VPL系統(tǒng)架構(gòu)及運(yùn)行原理

VPL由三個(gè)元素組成:Moodle Server、Student Browser(基于瀏覽器的代碼編輯器)和Jail Server。

學(xué)生與系統(tǒng)交互過程如圖1所示。學(xué)生在基于瀏覽器的代碼編輯器中編寫好代碼,當(dāng)提交程序時(shí),Moodle服務(wù)器將學(xué)生程序打包成xmlrpc消息,并將其發(fā)送到Jail Server,在這里學(xué)生提交的程序會(huì)在沙盒環(huán)境中執(zhí)行,并將捕獲的輸出發(fā)送回Moodle服務(wù)器。[3]

代碼編輯器是一個(gè)基于瀏覽器的集成開發(fā)環(huán)境,它具有在線編輯、運(yùn)行、調(diào)試和評(píng)估程序代碼等基本特性。代碼編輯器使用了Java Scriipt、Ajax、HTML5和WebSocket技術(shù),在客戶端上編輯和執(zhí)行代碼需要支持HTML5和WebSocket的瀏覽器。該模塊已在最新版本的IExplorer、Chrome、FireFox、Opera和Safari上成功測(cè)試過。

Jail Server是負(fù)責(zé)在安全環(huán)境中編譯和執(zhí)行學(xué)生提交代碼的服務(wù)器,所接收到的請(qǐng)求在沙盒中執(zhí)行。當(dāng)執(zhí)行結(jié)束時(shí),所有由執(zhí)行程序創(chuàng)建的文件都將被刪除,因而每次執(zhí)行都是從一組虛擬用戶中隨機(jī)選擇。[4]

● 系統(tǒng)的部署

1.測(cè)試環(huán)境

測(cè)試環(huán)境為Windows7+ Oracle VM VirtualBox+ ubuntu14.04,Moodle平臺(tái)安裝在Windows7操作系統(tǒng)的主機(jī)上,Jail Server安裝在虛擬機(jī)中,虛擬機(jī)的操作系統(tǒng)為ubuntu14.04。

2.安裝Moodle平臺(tái)的VPL插件

登錄網(wǎng)址(https://moodle.org/plugins/view.php?plugin=mod_vpl)下載VPL插件。打開網(wǎng)址后,要在圖2右邊“Your Moodle version”選擇Moodle平臺(tái)的版本,筆者選擇的Moodle平臺(tái)版本為3.4.1,因此選擇Moodle 3.4,選擇后網(wǎng)站的界面如圖3所示。這時(shí),單擊Download按鈕就可以下載VPL插件了,其版本為3.3.4。解壓后,將VPL目錄復(fù)制到Moodle安裝目錄的mod目錄中,然后以管理員身份登錄Moodle平臺(tái),更新數(shù)據(jù)庫,VPL插件就安裝成功了。

3.安裝Jail Server服務(wù)器

Jail Server服務(wù)器要安裝在虛擬機(jī)中,虛擬機(jī)的操作系統(tǒng)必須是Ubuntu、Debian或Centos。筆者安裝的操作系統(tǒng)是Ubuntu14.04,設(shè)置虛擬機(jī)的網(wǎng)絡(luò)連接方式為“橋接網(wǎng)卡”。需要注意的是服務(wù)器的軟硬件要求,32位版本比64位版本更好用,因?yàn)?2位版本比64位版本消耗更少的內(nèi)存和CPU。下面是安裝Jail Server服務(wù)器的具體步驟:

①下載vpl-jail-system安裝包,筆者安裝的是2.0.1版本,命令為:wget(http://vpl.dis.ulpgc.es/releases/vpl_jail_system-2.0.1.tar.gz。

②解壓安裝包,安裝vpl-jail-system,命令為:sudo./install-vpl-sh。

③系統(tǒng)提示是否安裝wildcard certificates時(shí),選擇 no,等待系統(tǒng)安裝完畢。

④在瀏覽器中輸入localhost進(jìn)行測(cè)試,如果瀏覽器顯示的信息為“Ok”,說明安裝成功。

4.配置Python開發(fā)環(huán)境

首先,Ubuntu14.04默認(rèn)的開發(fā)環(huán)境為Python2,要安裝Python3可以用下面的命令:

sudo add-apt-repository ppa:fkrull/deadsnakes

sudo apt-get update

sudo apt-get install python3.6

然后,設(shè)置Python3.6為默認(rèn)開發(fā)環(huán)境:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

接著輸入sudo update-alternatives --config python,根據(jù)數(shù)字選擇想要的Python版本。這時(shí),Python及其對(duì)應(yīng)的pip也都變成默認(rèn)模式。

最后安裝pip工具,輸入命令:sudo apt-get install python3-pip。

5.配置Moodle平臺(tái)的VPL插件屬性

以管理員身份進(jìn)入Moodle平臺(tái),依次點(diǎn)擊網(wǎng)站管理—插件—Virtual programming lab,進(jìn)入VPL插件設(shè)置界面。如上頁圖4所示,在Execution servers list右側(cè)的文本框中添加Jail Server的訪問地址。

● 應(yīng)用

筆者首先添加了一個(gè)名為“Pyton編程第一課”的活動(dòng)或資源,類型選擇“Virtual programming lab”。接著,進(jìn)入“Pyton編程第一課”活動(dòng),單擊Test activity—Edit就進(jìn)入了在線編程界面(如圖5)。

在這里可以編輯源代碼,也可以保存編程的結(jié)果。單擊小火箭圖標(biāo)可以運(yùn)行程序,程序運(yùn)行時(shí)會(huì)出現(xiàn)一個(gè)控制臺(tái)窗口,顯示運(yùn)行的結(jié)果和相關(guān)信息如圖6所示。到這里,一個(gè)在線編程實(shí)驗(yàn)室就搭建好了,有興趣的讀者可以試一試。

參考文獻(xiàn):

[1]About moodle[EB/OL].https://docs.moodle.org/36/en/About_Moodle.

[2]What is VPL?[EB/OL].http://vpl.dis.ulpgc.es/index.php/about/what-is-vpl.

[3]Dominique Thiébaut. Automatic evaluation of computer programs using Moodle's virtual programming lab (VPL) plug-in[Z].Consortium for Computing Sciences in Colleges.2015:145-151.

[4]J.C. Rodríguez, E. Rubio Royo, Z. Hernández.Scalable architecture for secure execution and test of students' assignments in a virtual programming lab[G].Iated.2011:4315-4322.

猜你喜歡
插件代碼瀏覽器
用好插件瀏覽器標(biāo)簽頁管理更輕松
微軟發(fā)布新Edge瀏覽器預(yù)覽版下載換裝Chrome內(nèi)核
請(qǐng)個(gè)瀏覽器插件全能管家
基于jQUerY的自定義插件開發(fā)
神秘的代碼
一周機(jī)構(gòu)凈增(減)倉股前20名
重要股東二級(jí)市場(chǎng)增、減持明細(xì)
近期連續(xù)上漲7天以上的股
瀏覽器
lE8設(shè)置技巧大放送