加速向GradeScope提交Jupyter笔记本的一组实用程序
gsExport的Python项目详细描述
gsexport是一个旨在帮助教育者简化和 简化学生笔记本的评分过程。设计目的 缓解加州大学伯克利分校的data 8系统中的困难 允许学生轻松地将Jupyter笔记本导出为PDF 分段以便通过GradeScope界面轻松分级。
功能
一旦安装在客户机上,系统就很容易使用。
为了生成笔记本的pdf文件,学生只需运行以下命令 命令
import gsExport gsExport.generateSubmission("hw01a.ipynb")
导出工具执行以下操作:
- 我们将学生的笔记本与默认的“开始”笔记本进行区分, 看看学生到底对哪些地区做出了贡献。这样做,我们 消除许多不需要 分级
- 使用自定义乳胶模板,我们将导出到PDF(根据需要使用分页符)
结构要求
如何使用gsexport
在笔记本中,添加以下内容
- 在标记单元格中添加文本newpage,在标记单元格之前,您要分页符(例如,问题的开头)
- 在希望学生在其中写入信息的所有单元格中添加“student”
要生成新笔记本,请在shell中运行以下命令
jupyter nbconvert hw01a.ipynb --NotebookExporter.preprocessors="['gsExport.gsExportPreprocessor']" --to notebook
它将生成一个具有hw01a.nbconvert.ipynb中所有适当结构的笔记本。ipython笔记本中添加了以下结构
- nb['metadata']['numberofu pages']
- 所有带有“student”的单元格设置单元格[“metadata”][“student”]=true,并且带有“student”的行将被删除
- 我们在笔记本元数据中保存每个单元格的md5校验和列表:nb['metadata]['checksums']
安装
pip install gsExport pip install git+git://github.com/dibyaghosh/gsExport # alternatively
开发
- exporter.py-包含导出程序的主逻辑
- utils.py-包含用于导入和导出的实用程序 笔记本
- ok_grading.py-包含ok自动加载器和导出逻辑
对于那些对捆绑文件感兴趣的人
请参见setup.py有关安装捆绑文件所需的命令,请参见 utils.py用于获取捆绑文件所需的命令(这 现在真的很紧张,因为有个奇怪的错误jupyter nbconvert)