Becoming a Problem Setter for Codechef

Codechef is a popular site which hosts monthly programming competitions with participants from all over the world. But you probably already know this, so lets jump to the point – How to become a problem setter for Codechef?

First you should go through the Official FAQs for problem setters and the Official page on problem creation. This should pretty much tell you everything, but I will add following points-

Who can become problem setter?

Anyone can apply to become problem setter. While applying you need to mention what roles you are interested in – Problem Creation, Problem Testing, Editorial Writing . Your handles on TopCoder, CodeForces, SPOJ and CodeChef. Your contact details, details for payment etc. Plus you need to print, sign and scan a NDA(Non Disclosure Agreement). Once applied it is up to the administration of Codechef to accept you or not. Don’t make tall claims and give a true picture of your abilities.

What are the tasks of problem setter?

I have set problem in 6 monthly Long contest at the time of writing. From my experience I can tell you that problem setting is a fun task, but not necessarily easy and possible for everyone. So think wisely. Responsibilities of problem setter are-

  • Create a problem and categorize it in appropriate difficulty level – Cakewalk, Simple, Easy, Medium, Hard, Challenge. This is very important. When you submit a problem, you have to give its difficulty level as well. If your given difficulty level is different from actual difficulty, the contest can become unbalanced.
  • Provide Test data plan and Test data generator as mentioned here.
  • Provide Commented solution for the problem submitted by you.
  • Once your problem is accepted, the testing and polishing work starts. You get a mail roughly 10-12 days before contest. During this you need to address the concerns of tester/editorialist regarding problem statement, test cases, constraints, solution complexity etc.
  • During testing phase you need to devote roughly 4-10 hours. This can vary a lot depending upon problem difficulty and your preparedness.
  • A problem can undergo a lot of changes before contest, so you need to be active all the time.
  • Once the contest starts – It is your responsibility to moderate comments and monitor solutions. If a submission seems suspicious check if it is a case of cheating or not.

That’s pretty much to it. If you have any doubts you can ask in comments.

One Response to Becoming a Problem Setter for Codechef

  1. DEVENDRA Agarwal says:

    I had applied for the problem setter a long back ago (nearly 6 months ago) and the last mail i got was “We have forwarded your test generator for verification. We request you to wait till then.” on June 4 and no replies after that. I believe if they found some thing wrong in application they must let the applicant know about it or I think they currently have a lot of problem setters and they are in no need of a problem setter.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s