Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do I create a competitive programming question? #19

Open
singhpratyush opened this issue Dec 10, 2017 · 1 comment
Open

How do I create a competitive programming question? #19

singhpratyush opened this issue Dec 10, 2017 · 1 comment

Comments

@singhpratyush
Copy link
Member

The Coding Club of IIIT Vadodara hosts frequent programming competitions in which the members come up with questions and test cases. I would like to know that how the question curator come up with questions and test cases and what is the flow of adding a question to a contest. Also, is there any screening process for the questions?

@Monal5031
Copy link
Member

For any contest we do the following:

  1. Decide the questions' domain
  • Generally, we tend to use the domain which we haven't used earlier or the problem of which were least solved by anyone in past ones or which are very much useful for any programmer to learn along with the difficulty of such.
    e.g. Dynamic Programming, String Manipulation, Math-based etc.
  1. After the selection of domain, member chooses the domain he/she wants to create a question in (along with some nice story 😛 )
  2. The question the curator comes up with is a good one but needs some reviews for that 2-3 other people review the question's details (content), test cases, editorial. Also for every question, there is always a tester.
  3. Right now there is no such defined screening process but it is ensured that the question has an understandable language, test cases are correct and pass in given constraints, the solution given in editorial and tester solutions both work for given question.

My view of creating a question:

  • Focus more on what you are trying to achieve through the problem, frame the story accordingly.
  • Decide the time limit and constraints for which the problem won't face any problem in any programming language
  • For generating test cases, I write a small python script and vary them over the constraint making some test cases easy to pass while making some of them take a lot of execution time.

The flow of adding a question:

  • Create a question.
  • Define what the problem needs.
  • Frame the question in a good story.
  • Code the solution.
  • Define constraint that will work on any language.
  • Generate test cases.
  • Test the question.

I hope this makes things pretty clear 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants