Skip to content
Snippets Groups Projects
Commit 20552f27 authored by tuhe's avatar tuhe
Browse files
parents 22843b5d 09c8fb55
No related branches found
No related tags found
No related merge requests found
# Unitgrade-devel # Unitgrade-devel
**Note: This is the development version of unitgrade. If you are a student, please see http://gitlab.compute.dtu.dk/tuhe/unitgrade.** **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 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
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.
## 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 - 100% Python `unittest` compatible
- No configuration files - No configuration files
...@@ -34,7 +46,7 @@ Videos where I try to talk and code my way through the examples can be found on ...@@ -34,7 +46,7 @@ Videos where I try to talk and code my way through the examples can be found on
- Autolab: https://youtu.be/h5mqR8iNMwM - Autolab: https://youtu.be/h5mqR8iNMwM
# Instructions and examples of use # 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 ## A simple example
Unitgrade makes the following assumptions: Unitgrade makes the following assumptions:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment