A code autograder for student homework submissions
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

README.md 2.6 KiB

il y a 8 ans
il y a 8 ans
il y a 8 ans
il y a 8 ans
il y a 8 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. kgrader
  2. =======
  3. __kgrader__ is a code autograder, originally created by the course staff of
  4. [CS 296-41](https://cs.illinois.edu/courses/profile/CS296) (Systems Programming
  5. Honors) at the University of Illinois to grade student homework submissions.
  6. It is written in Ruby.
  7. Installation
  8. ------------
  9. kgrader was developed using Ruby 2.2, though it should work with any recent
  10. version of Ruby.
  11. Install dependencies with gem:
  12. gem install nokogiri ruby-progressbar
  13. Download kgrader over git:
  14. git clone https://github.com/earwig/kgrader.git kgrader
  15. cd kgrader
  16. If you want to use UIUC-specific assignment specifications (requires special
  17. permissions, but you have those if you want to grade our assignments, right?):
  18. git submodule update --init
  19. Usage
  20. -----
  21. kgrader uses rake as its command-line interface.
  22. ### Setup
  23. To show all known classes, semesters, and assignments:
  24. rake list
  25. To load a roster (a newline-delimited list of student identifiers) for the
  26. current semester of a particular course (e.g. "cs123"):
  27. rake roster cs123 myroster.csv
  28. You can also specify the semester:
  29. rake roster cs123 myroster.csv sp16
  30. ### Grading
  31. To grade a particular assignment (e.g., "mp1" for "cs123"):
  32. rake grade cs123 mp1
  33. After verifying that everything looks good, push the grade reports with:
  34. rake commit cs123 mp1
  35. ### Housekeeping
  36. To do some basic cleanup (i.e., trash uncommitted grading attempts, or reset
  37. messy internal state after a bad run):
  38. rake clean
  39. To restore kgrader to its "factory defaults" (i.e., everything `clean` does,
  40. but also delete checked-out student repos and roster files -- dangerous!):
  41. rake clobber
  42. ### Advanced
  43. `grade` has an extended syntax for different options.
  44. To specify the semester, instead of the inferred current one:
  45. rake grade cs123 mp1 semester=sp16
  46. To set a cutoff date after which commits will be ignored:
  47. rake grade cs123 mp1 due="March 20, 2016 11:59:59 PM CDT"
  48. To grade without fetching new student repo changes:
  49. rake grade cs123 mp1 fetch=no
  50. To grade specific students only:
  51. rake grade cs123 mp1 students=ksmith12
  52. rake grade cs123 mp1 students=ksmith12,bcooper3,mjones14
  53. Normally, kgrader will only regrade a particular student's assignment if their
  54. repo has changed since the last run. To forcibly regrade:
  55. rake grade cs123 mp1 regrade=yes
  56. You can enable superscoring as well, which will re-run tests that a student
  57. failed in an attempt to see if they can get a higher grade:
  58. rake grade cs123 mp1 superscore=yes
  59. You can combine these arguments in any meaningful way. `semester` and
  60. `students` are also available options for `commit`.