Skip to content
Snippets Groups Projects
Select Git revision
  • f59abddbc12df808d471bb5381e7434c798c9a45
  • main default protected
2 results

beamerthemeDTU.sty

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    PKG-INFO 13.38 KiB
    Metadata-Version: 2.1
    Name: unitgrade
    Version: 0.1.23
    Summary: A student homework/exam evaluation framework build on pythons unittest framework.
    Home-page: https://lab.compute.dtu.dk/tuhe/unitgrade
    Author: Tue Herlau
    Author-email: tuhe@dtu.dk
    License: MIT
    Project-URL: Bug Tracker, https://lab.compute.dtu.dk/tuhe/unitgrade/issues
    Classifier: Programming Language :: Python :: 3
    Classifier: License :: OSI Approved :: MIT License
    Classifier: Operating System :: OS Independent
    Requires-Python: >=3.8
    Description-Content-Type: text/markdown
    License-File: LICENSE
    
    # Unitgrade
    
    Unitgrade is an automatic software testing framework that enables instructors to offer automatically evaluated programming assignments with a minimal overhead for students.
    
    Unitgrade is build on pythons `unittest` framework so that the tests can be specified and run in a familiar syntax, 
     and will integrate well with any modern IDE. What it offers beyond `unittest` is the ability to collect tests in reports (for automatic evaluation) 
    and an easy and safe mechanism for verifying results. 
    
     - 100% Python `unittest` compatible
     - Integrates with any modern IDE (VSCode, Pycharm, Eclipse)
     - No external configuration files or setup required
     - Tests are quick to run and will tell you where your mistake is
     - Hint-system collects hints from code and display it with failed unittests
    
    ## Installation
    Unitgrade is simply installed like any other package using `pip`:
    ```terminal
    pip install unitgrade
    ```
    This will install unitgrade in your site-packages directory and you should be all set. If you want to upgrade an old version of unitgrade run:
    ```terminal
    pip install unitgrade --upgrade --no-cache-dir
    ```
    If you are using anaconda+virtual environment you can install it as any other package:
    ```terminal
    source activate myenv
    conda install git pip
    pip install unitgrade
    ```
    When you are done, you should be able to import unitgrade. Type `python` in the termial and try:
    ```pycon
    >>> import unitgrade2
    ```
    
    ## Using Unitgrade
    In unitgrade, your homework assignments are called **reports** and are distributed as regular `.py`-files. I am going to use `cs101report1.py` as a generic example in the following, but a real-world example can be found here: https://gitlab.compute.dtu.dk/tuhe/unitgrade_private/-/blob/master/examples/example_simplest/students/cs101/report1.py .
    
    The report is simply a collection of questions which are individually scored, and each question may in turn involve checking several sub-cases.
    
    You should think of the tests as a help for you when you are debugging your code and when you are trying to figure out what to do. 
    I recommend running the tests through your IDE. In pycharm, this is as simple as right-clicking on the test and selecting `Run as unittest`. The image belows shows the outcome in Pycharm:
    
    ![Using unittests in pycharm](https://gitlab.compute.dtu.dk/tuhe/unitgrade/-/raw/master/docs/pycharm.png)
    
    The tests are shown in the lower-left corner, and in this case they are all green meaning they have passed. If a test fails, you can right-click and select `debug as unittest`, or you can click on it and see the output it produced, and you can right-click on individual tests to re-run them.
    
    ### Checking your score
    To check your score, you have to run the main script (`cs101report1.py`) as a regular python file. This can be done either through pycharm (Hint: Open the file and press `alt-shift-F10`) or in the console by running the command: 
    ```
    python cs101report1.py
    ```
    The file will run and show an output where the score of each question is computed as a (weighted) average of the individual passed tests. An example is given below:
    ```terminal
     _   _       _ _   _____               _