Codeforces Customizable Contests/Scoreboard

Revision en7, by ThunderStruct, 2017-12-08 02:00:53

Hi people!

I recently published a platform to host custom Codeforces contests. This was a personal project I worked on (as a contribution to an introductory undergraduate course I TA'd) to serve as a means of hosting mock ACM competitions for training purposes

Features

So far, it has been used in no less than 10 contests, which helped with enhancing it and adding more useful features, including:

  • Auto-updating scores
  • Blind time
  • Varying problem weights/points (an option to manually set the more difficult problems to yield a higher score)
  • Cancelling certain submissions
  • Verifying which of the entered problems were solved by the given user handles (could be used to ensure none of the contest problems was pre-solved before the contest)
  • Logging a detailed report of the given handles, showing their submissions' details in a certain time-frame (or all time)
  • Copying/Loading a contest using a compressed string (to help setup the same contest across multiple rooms/computers)
  • Color-coded scoreboard indicating first submissions, accepted answers, and attempts

Scoring

Currently, the scoring system works as follows:

  1. Each individual problem has it's own linear-based time penalty. The way it works is by calculating how many points should be lost per minute if the problem points are to be halved by the end of the contest (since both the contest duration and problem points are variable)
  2. All penalties/bonuses are in terms of time (minutes)
  3. Each wrong answer results in a 10 minutes penalty (10 minutes' worth of points)
  4. Program efficiency adds bonus points; 20 minutes for a 15ms time-consumed submission

This scoring formula can be changed/customized. I tried to think of a fair way to cover all grounds, but it could be flawed (if that's the case, please suggest ways to improve it)

Finally...

I open-sourced this project to allow people to contribute and modify it to suit their needs. The README markdown contains a fairly thorough documentation of all the tools available and some helpful tips for customization and contribution.

It's also hosted here for convenience.

Update

Please note that all updates and changes made to the platform are logged and documented on GitHub. PRs are more than welcome and feel free to request features or suggest improvements via GitHub issues or mailing me

Tags codeforces tools, scoreboard, custom contests, mock contests, acm, programming websites, thunderstruct

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en7 English ThunderStruct 2017-12-08 02:00:53 325 Tiny change: 'e.\n\n#### Updat' -> 'e.\n\n##### Updat'
en6 English ThunderStruct 2017-11-30 09:59:58 1 Tiny change: 'st using an compresse' -> 'st using a compresse'
en5 English ThunderStruct 2017-11-30 00:44:08 14 Tiny change: 'eeds. The markdown README contains ' -> 'eeds. The README markdown contains '
en4 English ThunderStruct 2017-11-30 00:41:19 1 Tiny change: 'g purposes.\n\n### Fe' -> 'g purposes\n\n### Fe' (published)
en3 English ThunderStruct 2017-11-30 00:40:26 4
en2 English ThunderStruct 2017-11-30 00:39:52 66
en1 English ThunderStruct 2017-11-30 00:38:57 2349 Initial revision (saved to drafts)