-
Notifications
You must be signed in to change notification settings - Fork 1
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