testmycode / testmycode/tmc-server

Allow teachers to give extended deadlines for individual students

Open
#348 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

important
Dominant language
Ruby
Stars
51
Forks
42
Avg merge
1h 27m
Merged PRs (30d)
1

Description

This could be achieved by creating
GracePerioid{course, exercise, student} and then GracePerioid <-->Submission relation.

This would make it possible for individual students to start a hard deadlined course after the first deadline has passed.

Changewise this wouldn't change much and should be pretty straight forward to implement.

It would add a minor cost for calculating deadlines for the json and ui; though we already have the DeadlineSpecObj this shouldn't cause much of additional expenses..

As well for SubmissionsController it would be easyish to check whether grace perioid is being used.
And submission could just show that it was submitted on grace period.

For points, I'd consider this to modify only the hard deadline and not to have any effect on soft deadline. (And for ui/json to have a flag for teachers to see that the grace period was used.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing deadline calculation around DeadlineSpecObj, the Submission model, and SubmissionsController. Define how an individual grace period changes only hard deadlines, how JSON and the UI expose its use, and how teachers can identify grace-period submissions; done means these behaviors are covered and existing soft-deadline behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.