Giter VIP home page Giter VIP logo

grade's People

Contributors

codesee-maps[bot] avatar deepsource-autofix[bot] avatar deepsourcebot avatar jmdwow avatar thoward27 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

grade's Issues

Leaderboard default score should be last in ordering

Describe the bug
The leaderboard's default score is None, it should be whatever value ensures it shows up in the last place.

To Reproduce
Steps to reproduce the behavior:

  1. Create a leaderboard question
  2. Student's code doesn't complete the test
  3. Default value of leaderboardScore may place it at the top of the leaderboard

Expected behavior
Leaderboard default values should put students in last place.

Specific User-Defined Error Messages on Test Case Failure

Is your feature request related to a problem? Please describe.
When a test case fails currently, the reason for the assertion failure is printed in full, along with other potentially confusing information for students.

Describe the solution you'd like
It would be great to have a way to specify an error message for each assert, and have that error message be the only thing that gets output if the assert fails.

Describe alternatives you've considered
A function-wide error message decorator could work, but would lack the nuance of being able to give the student what their output was, or having different messages for asserts for different incorrect outputs.

Grade does not appear to set test-case level visibility correctly.

Describe the bug
When using the '@visibility' decorator for an individual test case function, nothing is actually changed. The visibility for the whole assignment is still 'visible', while the visibility value for the individual test cases is not output as a part of the JSON file. The attribute appears to be set correctly, but just not included in the JSON output.

To Reproduce
Steps to reproduce the behavior:

  1. Decorate a test function with '@visibility('after_due_date)'
  2. Call grade run and grade report
  3. Look at JSON output for individual test cases
  4. See error

Expected behavior
The visibility of an individual test case should show up in the list of properties for that test case in the JSON file.

PartialCredit appears to not be working correctly for lists of values.

Describe the bug
When using PartialCredit on a list of pipelines and a list of values, it raises an error upon calling the 'score' function. This appears to be due to this code from partialcredit.py:

line 31: self.max_score = value
and
line 41: return min(self.max_score, round(self._score, 2))

Since value can be an int or a list inside init, max_score can be set to a list, and an error pops up when trying to compare that list to the proper score.

A Feature to Name Test Cases

Is your feature request related to a problem? Please describe.
The names of each test case in grade's output is just the class name, function name, and function docstring, instead of being user-defined.

Describe the solution you'd like
Potentially a name decorator that will override the default name if one exists for a test function.

Describe alternatives you've considered
The docstring for each test function could also be used by itself, but this wouldn't allow more descriptive test docstrings, forcing them to be solely names.

Json output lacking newlines.

Describe the bug
The json output from grade report is formatted without any newlines.

To Reproduce
Steps to reproduce the behavior:

  1. Run an autograder
  2. Run grade report --format json

Expected behavior
The json output has newlines to easily read the output if needed.

Documentation

The documentation leaves a lot to be desired. Here are some things that need to be done.

  • Sphinx Integration
  • README updates
  • Github Pages to serve Sphinx Docs

Display compilation failure messages in output

Currently, unlike the standard Gradescope autograder, when a student's code fails to compile, nothing informative is shown (not even to the instructor). Ideally, the compilation failure (stderr) could be captured and shown (possibly even to the student) as the test output for the compilation check. This would cut down on TA support time, as often it's something as simple as the student forgot their compile script.

Markdown output

The Results class should be able to produce valid Markdown grade reports. Similarly to JSON, it should return a string, and be a property of the results class.

I have some work I can dredge up on this from a project a while back, I'll work to integrate it in and we can move from there.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.