Skip to content

Requirements for Class

brett1479 edited this page Dec 28, 2015 · 2 revisions

Class

  • Unique Name (e.g., CS480F15S01)

Admin Role

  • See error log of judges (which should exist on database)
  • Start judges
  • See queue of unsolved problems

Teacher Role

  • Create assignments (contests)
  • Modify assignments
  • View student code
  • Delete assignments
  • Possibly can batch create users, and have temporary passwords sent (depends how open we want the server to be)

Grader Role

  • View student code
  • Has access to teacher's judge and input files
  • Has ability to download a tar.gz of all submissions for a given problem in a format ready for easy MOSS (or other anti-cheat software). Should we have anti-cheat built into the server?

Student role

  • Can submit problems for classes they are in

Permissions

  • Permissions a user can have (student in class X, is a teacher for class X, is a grader, is an admin)

Assignment (contest)

  • Multiple problems
  • Value of each problem (sum of values is total score)
  • List of permitted users/groups of users
  • Duration (start,end date/time)
  • Late Policy?

Problem

  • Multiple test batches
  • Custom Judge (given as java file or tar.gz/zip)
  • Scoring (all-or-none, or fraction of value per test)
  • PDF or HTML statement
  • Languages allowed

Test Batch

  • Optionally allow students to see stdin, stdout, stderr
  • Has associated input file (that will be used as stdin)
  • Has associated files (tar.gz/zip or just regular file) that may be used by the judge or solution(will be put in working directory of tester)
  • Has time limit/memory limit/etc

Submission

  • File(s) provided by user for a given problem

Submission Task

  • One per each submission/test batch pair
  • Graded by judge
  • Has links to compile results, output files, result, runtime, memory usage, judge's host and pid that executed it
  • Has status: Submitted/Judging/Judged/Error
Clone this wiki locally