From 4128a376ac101a64b91ac568d5930666e0b658ec Mon Sep 17 00:00:00 2001 From: Christopher Poon Date: Thu, 31 Jul 2025 11:09:14 -0400 Subject: [PATCH 1/2] jupyter notebook docs --- .../autograding/jupyter_notebook.md | 245 ++++++++++++++++++ images/jupyter_metadata.png | Bin 0 -> 88464 bytes navtreedata.js | 1 + 3 files changed, 246 insertions(+) create mode 100644 _docs/instructor/autograding/jupyter_notebook.md create mode 100644 images/jupyter_metadata.png diff --git a/_docs/instructor/autograding/jupyter_notebook.md b/_docs/instructor/autograding/jupyter_notebook.md new file mode 100644 index 00000000..dca0f07e --- /dev/null +++ b/_docs/instructor/autograding/jupyter_notebook.md @@ -0,0 +1,245 @@ +--- +title: Jupyter Notebooks +category: Instructor > Autograding +--- + +### Example Configuration + +The following configuration can be found on the [Submitty GitHub](https://github.com/Submitty/Submitty/tree/main/more_autograding_examples/jupyter_notebook_autograding). + +```json +{ + "autograding" : { + "submission_to_runner" : [ "*.ipynb", "*.png" ], + "work_to_details" : [ "**/*.ipynb", "**/*.png", "**/*.txt", "**/*.err" ] + }, + "autograding_method": "docker", + "resource_limits" : { + "RLIMIT_NPROC" : 32, + "RLIMIT_FSIZE": 20971520 // 20 MB + }, + "max_submission_size": 10485760, // 10 MB + "container_options": { + "container_image": "submitty/jupyter:latest" + }, + "allow_system_calls": [ + "COMMUNICATIONS_AND_NETWORKING_INTERPROCESS_COMMUNICATION", + "COMMUNICATIONS_AND_NETWORKING_KILL", + "COMMUNICATIONS_AND_NETWORKING_SIGNALS", + "COMMUNICATIONS_AND_NETWORKING_SOCKETS", + "COMMUNICATIONS_AND_NETWORKING_SOCKETS_MINIMAL", + "FILE_MANAGEMENT_MOVE_DELETE_RENAME_FILE_DIRECTORY", + "FILE_MANAGEMENT_RARE", + "PROCESS_CONTROL_ADVANCED", + "PROCESS_CONTROL_NEW_PROCESS_THREAD", + "PROCESS_CONTROL_MEMORY_ADVANCED", + "PROCESS_CONTROL_SYNCHRONIZATION", + "PROCESS_CONTROL_SCHEDULING", + "FILE_MANAGEMENT_PERMISSIONS", + "UNKNOWN" + ], + "testcases": [ + { + "title": "Executes successfully", + // Although wildcard is used, the grader will only expect one notebook file. Use if filename cannot be determined. + "command": "jupyter_notebook_grader -i *.ipynb -o executed.ipynb", + "points": 1, + "validation": [ + { + "method": "fileExists", + "actual_file": "executed.ipynb", + "show_actual" : "always", + "show_message" : "always" + } + ] + }, + { + "pre_commands" : [ + { + "command" : "cp", + "testcase" : "test01", + "source" : "cell1*.*", + "destination" : "./" + } + ], + "title": "STDOUT", + "points": 1, + "validation": [ + { + "method": "diff", + "actual_file": "cell1_stdout.txt", + "expected_string" : "hello world!" + }, + { + "method" : "warnIfEmpty", + "actual_file" : "cell1_stderr.txt", + "show_actual" : "always", + "deduction" : 0.0 + }, + { + "method" : "warnIfEmpty", + "actual_file" : "cell1_source.txt", + "show_actual" : "always", + "deduction" : 0.0 + }, + { + "method" : "errorIfNotEmpty", + "actual_file" : "cell1.err", + "show_actual" : "always", + "deduction" : 0.0 + } + ] + }, + { + "pre_commands" : [ + { + "command" : "cp", + "testcase" : "test01", + "source" : "cell2*.*", + "destination" : "./" + } + ], + "title": "Markdown", + "points": 1, + "validation": [ + { + "method": "diff", + "actual_file": "cell2.txt", + "expected_string" : "## 2. Create IPython images with the given \"one.png\" and \"two.png\".\nUse `from IPython.display import Image`" + }, + { + "method" : "errorIfNotEmpty", + "actual_file" : "cell2.err", + "show_actual" : "always", + "deduction" : 0.0 + } + ] + } +} +``` +### Required Fields + +For autograding Jupyter Notebooks, the following fields must be included in your autograding configuration. + +```json +{ + "autograding" : { + "submission_to_runner" : [ "*.ipynb", "*.png" ], + "work_to_details" : [ "**/*.ipynb", "**/*.png", "**/*.txt", "**/*.err" ] + }, + "autograding_method": "docker", + "container_options": { + "container_image": "submitty/jupyter:latest" + }, + "allow_system_calls": [ + "COMMUNICATIONS_AND_NETWORKING_INTERPROCESS_COMMUNICATION", + "COMMUNICATIONS_AND_NETWORKING_KILL", + "COMMUNICATIONS_AND_NETWORKING_SIGNALS", + "COMMUNICATIONS_AND_NETWORKING_SOCKETS", + "COMMUNICATIONS_AND_NETWORKING_SOCKETS_MINIMAL", + "FILE_MANAGEMENT_MOVE_DELETE_RENAME_FILE_DIRECTORY", + "FILE_MANAGEMENT_RARE", + "PROCESS_CONTROL_ADVANCED", + "PROCESS_CONTROL_NEW_PROCESS_THREAD", + "PROCESS_CONTROL_MEMORY_ADVANCED", + "PROCESS_CONTROL_SYNCHRONIZATION", + "PROCESS_CONTROL_SCHEDULING", + "FILE_MANAGEMENT_PERMISSIONS", + "UNKNOWN" + ] +} +``` + +You may also need to pass in resource limit values or a max submission size. + +```json +"resource_limits" : { + "RLIMIT_NPROC" : 32, // + "RLIMIT_FSIZE": 20971520 // 20 MB + }, +"max_submission_size": 10485760, // 10 MB +``` + +`RLIMIT_NPROC` will allow the necessary resources for the script to execute a submitted Jupyter Notebook. + +`RLIMIT_FSIZE` allows the script to save the notebook in Submitty. In this case, it allows at most a 20 MB file to be executed and saved. + +### Precommands + +Because of the saved outputs, you will need to apply precommands to each testcase that requires files generated from the validation +method. + +```json +{ + "pre_commands" : [ + { + "command" : "cp", + // Assuming the first testcase is the case where the validation method was run + "testcase" : "test01", + "source" : "{filename}*.*", + "destination" : "./" + } + ], + ... + }, +``` + +### Validation Method + +We offer a validation method that parses the cells in Jupyter Notebooks for autograding. The script requires a single specified +input notebook (the student's submission) and outputs an executed version of the notebook. If the student has no restrictions on +the naming convention for their submitted notebook, you can use a wildcard to expect any input. + +``` +"command": "jupyter_notebook_grader -i *.ipynb -o executed.ipynb" +``` + +The possible saved files based on parsed output are highlighted below. + +| Cell Type | File Pattern | Description | +| --------- | ----------------------- | --------------------------------------------------- | +| Markdown | {filename}.txt | Contains raw markdown source from cell | +| Code | {filename}_source.txt | Contains Python source code from cell | +| | {filename}_err.txt | Contains traceback if error occurs, otherwise empty | +| | {filename}_stdout.txt | Captures standard output (e.g., print() statements) | +| | {filename}_stderr.txt | Captures standard error streams | +| | {filename}_result.txt | Text representation of cell's result | +| | {filename}.png | Generated image outputs | + +By default, the filenames are generated based on the index of the cell in the notebook, starting from 1. + +### Submitty IDs + +Instructors can add Submitty IDs to mark specific cells in Jupyter Notebooks to grade. These specified IDs will replace the +default filename of the saved output (e.g. cell1.txt --> {submitty_id}.txt). If students modify their provided Jupyter Notebook +to be out of order, this method will correctly find the cell to grade. Note that your autograding configuration will also need +to match the name of the saved file. + +```json +{ + "pre_commands" : [ + { + "command" : "cp", + "testcase" : "test01", + "source" : "{submitty_id}*.*", + "destination" : "./" + } + ], + "title": "STDOUT", + "points": 1, + "validation": [ + { + "method": "diff", + "actual_file": "{submitty_id}_stdout.txt", + "expected_string" : "hello world!" + } + ] +} +``` + +Jupyter Notebook provides an option to easily edit cell metadata, introduced in [7.1.0](https://jupyter-notebook.readthedocs.io/en/stable/changelog.html#id116). In the `Edit` dropdown, you can find +`Edit Notebook Metadata`. An editor panel will open on the right side of your screen to easily type in the metadata. + +![](/images/jupyter_metadata.png) + +An alternative option would be to manually edit the Jupyter Notebook JSON itself to include the `submitty_id` property in a cell's metadata. \ No newline at end of file diff --git a/images/jupyter_metadata.png b/images/jupyter_metadata.png new file mode 100644 index 0000000000000000000000000000000000000000..b465c63980c57aefa92df294ef8ae885041fd363 GIT binary patch literal 88464 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�V?-+3f5fddaf1eKL(1>AtlLvk<>7H!nq3cl7oYS zzIxKp)BD|94q9CmsHs6=5r|wC=y^iy@XB~h-y-*ephC}Gvsl@s^CHweiWa3Nx?bLo z?S8LdN_9kLZkYsoId1M-ObYF!;J=|kKi*;^b3P@LAYbYov;B0Mg zw}#`(3ic9wD1iB3LrOhu!Y@pa%S~%ztAu45ZDx6}f-cI+GE?1<-uppa5WH4j9+KGC zZe7RltlVqxg9>@$*lY

47i4!;rUmJsrRIe|kY&V~|gVFbcvu=?=M~?rNIm16ytR zzlDpIcd$1y&Q~4mZ7^{NdIfW~%sUT$@k}7a$ug6)D~H8Ek9Z)P7guFj3VE! zYjroiTFt`^RN&0!2Ud4k8Fd^zT1s7FMRny5Z+cS1xvB<&C$Q0e^dp)Eom9COeV$t_ z8+vu~HO@G4VL}8kY~=M*m5USGxSAY8uf+x*XWO0cC2PZDo~CAd#692f>+;hBNZqKY zycsh?=eAmx%{@mneD)}TaSo&;%E>8%ai$@Mg@;sY^cr|H994L!{upUv&iYUidK9yb zUn9(VAm63>G+uy$l9CTtLsG8hJN4)7CBuPI=`_xLbtJ0_VI-Oyk9U>4rKSA=BV6zZ z4gdiC3PS*6DwuYp-$7%b+)RBh_?z$tOH7hr%pr?1UjqO`e09GJcXtc9%QV%I`Vs=Ehh@?P8*+OLkFNpYZ2?ZH$aq|I@Z2y73Gf`x9_~6PnU?!G z)E}3nq+sUOvP*{)6%5olrWUk;O%lt6;33V#5VxuTfEKbjSSGco-CYld!+;VGcoW@D z&I)P;`fj~;ZbCUO1oA~n`4|i9_&Fh@CiUB$tVM(t%Xk#Th2Tq!@ic}tpa*WAx$u_L zhAaPWN9Ghm@}WsC;iIFYC?n&2p9o>3a1%Yz*50mB_XFoB3>?sE8N)aYIf`DOzKCy} zRF*<~vEN*r0AgQ8lC;yQ_oO`0Ay;j|Isp5>;*c_mM_VrsrLJic`4Y2~fF(c#OJ2l4 z2Gh&oR9@J#5YlZ}it18(tQ9)!!zY@&<)Ely&K+H*o(0Xi{{WxOOx*tse z#f56v(k_{jG*$8)q>GLT6%W1%AdfN55HJ#yRaAs^+5OQUNO`h)(A|gE9r-0jUt9f2 z7Vsu~OMq~7eK{2E>T~yNQ7IpOA905JlNd(Vz+m3KBBU@0<8@sW1T}wMFJoh69av&2 z()RMI1wRTn5o13`moC+SQ+KjB&nUs6cvOhBtXN1=A<9q!zV4Rp_<@r zaj)P@NRR5N_mDo(bVvb|lInp!DbW xiN6*Y0^xt<@Ou0|&iwbC5dVvdlPpUQh~9jZ52EDth{k{Y{vAc>JV_(p{{pqRew+XR literal 0 HcmV?d00001 diff --git a/navtreedata.js b/navtreedata.js index e46bb064..068b2339 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -135,6 +135,7 @@ var NAVTREE = [ "Hidden Testcase Examples", "/instructor/autograding/hidden_testcase_examples", null ], [ "Docker Images", "/instructor/autograding/docker_images", null ], [ "Docker UI", "/instructor/autograding/docker_ui", null ], + [ "Jupyter Notebook", "/instructor/autograding/jupyter_notebook", null ], [ "Static Analysis", "/instructor/autograding/static_analysis/index", [ [ "Overview", "/instructor/autograding/static_analysis/index", null ], [ "Count", "/instructor/autograding/static_analysis/count", null ], From 170b59caed4c422f976a019edfc14890dd517682 Mon Sep 17 00:00:00 2001 From: Christopher Poon Date: Thu, 31 Jul 2025 11:17:08 -0400 Subject: [PATCH 2/2] add matching bracket --- _docs/instructor/autograding/jupyter_notebook.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_docs/instructor/autograding/jupyter_notebook.md b/_docs/instructor/autograding/jupyter_notebook.md index dca0f07e..ffc4ef3c 100644 --- a/_docs/instructor/autograding/jupyter_notebook.md +++ b/_docs/instructor/autograding/jupyter_notebook.md @@ -115,8 +115,10 @@ The following configuration can be found on the [Submitty GitHub](https://github } ] } + ] } ``` + ### Required Fields For autograding Jupyter Notebooks, the following fields must be included in your autograding configuration.