Skip to content

MatthewC/autograder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autograder

Usage

python3 main.py

Quick note: The admin account is defined by a list located in main.py, modify that with your DISCORD ID in order to be considered an admin

Admin-Only Commands

To create an assignment:

!create assignment <assignment name> <questions> <deadline>

Example: !create assignment homework1 "decodeList, capitalizeWords, printUpper, cantUseLoops,usesRecursionWhenTheyCant,isNotRecursive,destructiveFunction,destructiveFunctionFails,nonDestructiveFunction,nonDestructiveFunctionFails,oopTest" “26/11/21 22:59”

To create questions

!create question <function name> <points> <test cases> <flags>

Example: !create question recursiveUpper 10 "{'hello':'HELLO'}" "return, noLoops, recursive"

To delete an assignment/question

!delete <question/assignment> <name>

To upload a set of questions (see tests/questions.json as a guideline):

!upload

Get a list of all users

!users

To view user submissions

!submissions <user id> <assignment name>

Create a competition

!competition create <competition name> <assignment name> <time in hours>

Start a competition

!competition start <competition name>

End a competition

!competition stop <competition name>

Delete a competition

!competition delete <competition name>

User Commands

To run an assignment upload the file and type the command:

!submit <assignment name>

View previous submissions

!submissions <assignment name> [submission id] [file/result]

To run a submission upload the file and type the command:

!competition submit <name>

View competition leaderboard

!competition leaderboard <name>

There is a demo already loaded in (using the tests/sample.py file) which can be uploaded and submitted as 'homework1': !submit homework1

QUESTION TYPES

  • return
  • print
  • destructive
  • nonDestructive
  • oop

QUESTION FLAGS

  • stringIndexing
  • recursion (function can't use recursion)
  • recursive (funciton has to be recursive)
  • tryExcept
  • noLoops

TODO:

  • Add propper comments
  • Add competitions
  • Keep track of submissions per user
  • Allow users to view their previous submissions/results

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published