Code Monkey home page Code Monkey logo

vg101-grade-helper's Introduction

VG101-Grade-Helper

A script that perform cast-to-cast VG101 grading for UMJI VG101FA2020-1.

It helps you begin from clone repo from Gitea to giving grade to canvas with comment of rubric.

Installation & Usage

First install ctags for C code quality checking.

$ pip3 install -r requirement.txt
$ mv hgroups.example.json hgroups.json
$ vim hgroups.json
$ mv settings.example.py settings.py
$ vim settings.py
$ ./VG101GradeHelper.py --help
usage: VG101GradeHelper.py [--help] [-h HW] [-p PROJ] [-f FEEDBACK] [-m MS] [-r REJUDGE] [-a] [-s] [-t] [-d] [-i] [-g] [-j] [-u]

optional arguments:
  --help                show this help message and exit
  -h HW, --hw HW        # homework
  -p PROJ, --proj PROJ  # project
  -f FEEDBACK, --feedback FEEDBACK
                        give feedback to project
  -m MS, --ms MS        # milestone
  -r REJUDGE, --rejudge REJUDGE
                        rejudge group num or stu ID
  -a, --all             check all
  -s, --score           generate score
  -t, --tidy            check tidy
  -d, --dir             create dir for individual submission
  -i, --indv            check individual submission
  -g, --group           check group submission
  -j, --joj             check joj score
  -u, --upload          upload score to canvas

Please modify JOJ_INFO for different homework.

Example

For homework

./VG101GradeHelper.py -h1 -au

For project

./VG101GradeHelper.py -p1 -m1

Features

  • At least two days before the group deadline, all students should individually complete all the mandatory tasks and push their work to their personal branch of their group git repository and issue a pull request. Students late for the individual submission must open an issue featuring: (i) apologies to the reviewer, (ii) clear explanations on why the work is late, and (iii) a request for a new deadline fitting the reviewer. The reviewer is allowed to reject the request and should set the deadline based on his/her own schedule. (-0.5 mark)
  • A student should provide feedbacks to at least one teammate for each mandatory exercise. Low quality reviews will be ignored. Each student should receive feedbacks on his individual submission. e.g. for a three students group: student1 → student2 → student3 → student1. (-1 mark)
  • The final group submission, done on the master branch of the group repository, should successfully compile or be interpreted. (-1 mark)
  • Any group submission that is more than 24 hours late will be rejected. (-2.5 marks)
  • For each exercise, the final submission must pass at least 25% of the test cases. (-0.25 mark per exercise, up to -0.5)
  • For a homework the final submission must pass at least 50% of all the test cases. (-0.5 mark)
  • Using global variable, breaking the rule in code_quality.pdf. (-0.5 mark)

Tips:

You need set a default grade for assignments on canvas before running the script, otherwise you can not get their submissions and edit scores.

vg101-grade-helper's People

Contributors

boyanzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vg101-grade-helper's Issues

Why are redundant files penalized?

If you don't mind, I'm going to question a design choice of the Helper.

I am a freshman UMJI student. Half an hour ago, I was informed my hgroup's grade was deducted because of a redundant file in my individual branch. The file, it turns out, is an alternative, non-recursive implementation of an exercise. So we have the following:

...
h2/ex3.m
h2/ex3_no_recursion.m
...

Why are redundant files considered deduction-worthy when one cannot be really sure what their existence implies? What's the story that led to this choice?

My instructor is Manuel, if that helps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.