A code autograder for student homework submissions
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Ben Kurtovic 0db69377db Roster loading hace 10 años
desk Structure hace 10 años
jail Structure hace 10 años
lib Roster loading hace 10 años
spec Implement more stuff hace 10 años
.gitignore Structure hace 10 años
.gitmodules Add CS 241 Honors spec hace 10 años
README.md More command-line parsing code hace 10 años
rakefile More work hace 10 años

README.md

kgrader

kgrader is a code autograder, originally created by the course staff of CS 296-41 (Systems Programming Honors) at the University of Illinois to grade student homework submissions.

It is written in Ruby.

Installation

Download kgrader over git:

git clone https://github.com/earwig/kgrader.git kgrader
cd kgrader

If you want to use UIUC-specific assignment specifications (requires special permissions, but you have those if you want to grade our assignments, right?):

git submodule update --init

Usage

kgrader uses rake as its command-line interface.

Setup

To show all known classes, semesters, and assignments:

rake list

To load a roster for a course semester:

rake roster cs123 sp2016 myroster.csv

Grading

To grade a particular assignment (e.g., “mp1” for the “cs123” course):

rake grade cs123 mp1

After verifying that everything looks good, push the grade reports with:

rake commit cs123 mp1

Housekeeping

To do some basic cleanup (i.e., trash uncommitted grading attempts, or reset messy internal state after a bad run):

rake clean

To restore kgrader to its “factory defaults” (i.e., everything clean does, but also delete checked-out student repos and roster files -- dangerous!):

rake clobber

Advanced

grade has an extended syntax for different options.

To specify the semester, instead of the inferred current one:

rake grade cs123 mp1 semester=sp16

To set a cutoff date after which commits will be ignored:

rake grade cs123 mp1 due="March 20, 2016 11:59:59 PM CDT"

To grade without fetching new student repo changes:

rake grade cs123 mp1 fetch=no

To grade specific students only:

rake grade cs123 mp1 students=ksmith12
rake grade cs123 mp1 students=ksmith12,bcooper3,mjones14

Normally, kgrader will only regrade a particular student’s assignment if their repo has changed since the last run. To forcibly regrade:

rake grade cs123 mp1 regrade=yes

You can combine these arguments in any meaningful way.