From 0003e5eef020e2816c86055fb5f9ff048304b4b3 Mon Sep 17 00:00:00 2001 From: Tue Herlau <tuhe@dtu.dk> Date: Tue, 24 May 2022 22:28:40 +0200 Subject: [PATCH] updates --- src/unitgrade_devel.egg-info/PKG-INFO | 32 ++++++++++++++++-------- src/unitgrade_private/autolab/autolab.py | 2 +- src/unitgrade_private/version.py | 2 +- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/unitgrade_devel.egg-info/PKG-INFO b/src/unitgrade_devel.egg-info/PKG-INFO index 2cbaf6a..95beace 100644 --- a/src/unitgrade_devel.egg-info/PKG-INFO +++ b/src/unitgrade_devel.egg-info/PKG-INFO @@ -1,13 +1,12 @@ Metadata-Version: 2.1 Name: unitgrade-devel -Version: 0.1.35 +Version: 0.1.37 Summary: A set of tools to develop unitgrade tests and reports and later evaluate them Home-page: https://lab.compute.dtu.dk/tuhe/unitgrade_private Author: Tue Herlau Author-email: tuhe@dtu.dk License: MIT Project-URL: Bug Tracker, https://lab.compute.dtu.dk/tuhe/unitgrade_private/issues -Platform: UNKNOWN Classifier: Programming Language :: Python :: 3 Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent @@ -18,8 +17,20 @@ License-File: LICENSE # Unitgrade-devel **Note: This is the development version of unitgrade. If you are a student, please see http://gitlab.compute.dtu.dk/tuhe/unitgrade.** -Unitgrade is an automatic report and exam evaluation framework that enables instructors to offer automatically evaluated programming assignments. - Unitgrade is build on pythons `unittest` framework so that the tests can be specified in a familiar syntax and will integrate with any modern IDE. What it offers beyond `unittest` is the ability to collect tests in reports (for automatic evaluation) and an easy and 100% safe mechanism for verifying the students results and creating additional, hidden tests. A powerful cache system allows instructors to automatically create test-answers based on a working solution. +Unitgrade is an automatic report and exam evaluation framework that enables instructors to offer automatically evaluated programming assignments. It is currently used in 02465: https://gitlab.gbar.dtu.dk/02465material/02465students + +## Why not (alternative online automatic evaluation framework)? +I think the most important thing to ask from an automatic evaluation framework is that it helps the students become better programmers. +Automatic evaluation frameworks are fundamentally about testing code. We know testing works, but we also know that not all ways of doing tests are equally good. Online testing has several clear disadvantages: + + - You need to upload code and often press to see output + - No debugger + - Often encourage/requires coding in the browser, i.e. without IDE support + - They are often constraining, meaning problems must be phrased in a less than optimal way to suit the evaluation framework + +For these reasons, we would never accept an online evaluation tool as a testing tool -- so why should we ask that of students? + +Unitgrade is different because it is build on pythons `unittest` framework. This means tests are specified simply as unittests and will integrate with any modern IDE. What it offers beyond `unittest` is the ability to collect tests in reports (for automatic evaluation) and an easy and 100% safe mechanism for verifying the students results and creating additional, hidden tests. A cache system allows instructors to automatically create test-answers based on a working solution. - 100% Python `unittest` compatible - No configuration files @@ -51,7 +62,7 @@ Videos where I try to talk and code my way through the examples can be found on - Autolab: https://youtu.be/h5mqR8iNMwM # Instructions and examples of use -The examples can be found in the `/examples` directory: https://gitlab.compute.dtu.dk/tuhe/unitgrade_private/-/tree/master/examples +The examples can be found in the `/examples` directory: https://gitlab.compute.dtu.dk/tuhe/unitgrade_private/-/tree/master/examples . ## A simple example Unitgrade makes the following assumptions: @@ -245,7 +256,7 @@ When this is run, the titles are shown as follows: | | | |_ __ _| |_| | \/_ __ __ _ __| | ___ | | | | '_ \| | __| | __| '__/ _` |/ _` |/ _ \ | |_| | | | | | |_| |_\ \ | | (_| | (_| | __/ - \___/|_| |_|_|\__|\____/_| \__,_|\__,_|\___| v0.1.17, started: 21/09/2021 11:56:22 + \___/|_| |_|_|\__|\____/_| \__,_|\__,_|\___| v0.1.17, started: 21/09/2021 11:57:05 CS 102 Report 2 Question 1: Week1 @@ -259,7 +270,7 @@ Question 2: The same problem as before with nicer titles * q2.2) Checking if reverse_list([1, 2, 3]) = [3, 2, 1]............................................................PASS * q2) Total...................................................................................................... 6/6 -Total points at 11:56:22 (0 minutes, 0 seconds)....................................................................16/16 +Total points at 11:57:05 (0 minutes, 0 seconds)....................................................................16/16 Including files in upload... * cs102 @@ -557,13 +568,12 @@ and TAs can choose to annotate the students code directly in Autolab -- we are h # Citing ```bibtex @online{unitgrade_devel, - title={Unitgrade-devel (0.1.27): \texttt{pip install unitgrade-devel}}, + title={Unitgrade-devel (0.1.35): \texttt{pip install unitgrade-devel}}, url={https://lab.compute.dtu.dk/tuhe/unitgrade_private}, - urldate = {2021-09-21}, + urldate = {2022-05-19}, month={9}, publisher={Technical University of Denmark (DTU)}, author={Tue Herlau}, - year={2021}, + year={2022}, } ``` - diff --git a/src/unitgrade_private/autolab/autolab.py b/src/unitgrade_private/autolab/autolab.py index 2ad055c..e4a41c7 100644 --- a/src/unitgrade_private/autolab/autolab.py +++ b/src/unitgrade_private/autolab/autolab.py @@ -202,7 +202,7 @@ def new_deploy_assignment(base_name, INSTRUCTOR_REPORT_CLASS, INSTRUCTOR_BASE, I os.mkdir(LAB_DEST + "/test-autograder") # Otherwise make clean will screw up. print(f"cd {LAB_DEST} && make && cd {CURDIR}") cmd = f"cd {LAB_DEST} && make && cd {CURDIR}" - import os + # import os os.system(f"cd {LAB_DEST} && make && cd {CURDIR}") os.system(f"cd {LAB_DEST} && make handout") diff --git a/src/unitgrade_private/version.py b/src/unitgrade_private/version.py index ea21bff..95c1f74 100644 --- a/src/unitgrade_private/version.py +++ b/src/unitgrade_private/version.py @@ -1 +1 @@ -version = "0.1.35" +version = "0.1.37" -- GitLab