2020年6月11日 星期四

Xblock模組 - Graded Jupyter Notebook Integration


上次介紹了 Jupyter Notebook Viewer ,

可以在 Open edX 上面觀看 Jupyter Notebook ,

這次的主題是:

Xblock模組 - Graded Jupyter Notebook Integration

之前提過 XBlock 是 Open edX 擴充功能的一個模組,

許多功能都能基於此模組進行開發,

Graded Jupyter Notebook Integration使用Docker和nbgrader創建一個Python環境

並自動對Jupyter Notebook進行評分,

將所得分數紀錄於 Open edX 成績簿中。

使用底下命令進行安裝:
sudo /edx/bin/pip.edxapp install git+https://github.com/ibleducation/jupyter-edx-grader-xblock.git

由於使用到 Docker 所以系統必須安裝 Docker CE,

新建一個名為 docker 的 group (或許安裝就建立了):

sudo groupadd docker

並建立一個使用者加到此 group 中:

adduser --no-create-home jupyter
usermod -aG docker jupyter

以 root 進入 visudo 並寫入底下命令,將 www-data 的使用者以此身分登入jupyter:

www-data ALL=(jupyter) NOPASSWD:/usr/bin/docker

分別在 lms/cms 的 urls.py 加入:

url(r'^api/jupyter_graded/',include('xblock_jupyter_graded.rest.urls',namespace='xblock_jupyter_graded')),

同時在 lms/cms 的 envs/common.py 的 INSTALLED_APPS 中加入:

'xblock_jupyter_graded',

最後進入 edx 虛擬環境進行 Database Migration

cd ~/edx-platform source 
../venvs/edxapp/bin/activate 
./manage.py cms migrate xblock_jupyter_graded --settings=aws
將 Open edX 重置以後,就能開始使用此模組,

當然使用之前必須先到 CMS ( Studio ) 中的 Advanced Settings找到 Advanced Module List

加入:

"xblock_jupyter_graded"

儲存後才能在大綱模式下在 Advanced 按鈕中找到

Graded Jupyter NoteBook



課程管理者需在 Studio 中,

將nbgrader Jupyter NoteBook 作業上傳,(如上圖)

而學生則需要下載作業並作答後,

上傳即可得到評分,(如下圖)


這就是今天的的主題:

Xblock模組 - Graded Jupyter Notebook Integration








沒有留言: