Amongst the many coding platforms that promote the concept of competitive programming, the one name that stands out is CodeChef. It is an initiative by Directi which has provided an amazing opportunity for coders to not only pursue their passion, but also collaborate and guide the beginners. Being a worldwide platform, it provides an indication of one’s global ranking in this field. The combination of Ideone (Codechef’s own integrated development environment) and support for 50 different programming languages ensures that coders can code, run and test their programs with as much ease as possible.
This post aims to be an informative guide for beginners on how to use CodeChef and exploit the maximum number of its features.
The first step, naturally, is to log on to http://www.codechef.com and sign up! As the top three tabs on the home page suggest, you can Practice problems according to your level of expertise, Compete on a global scale with other programmers and Discuss your doubts and issues pertaining to questions on the website.

The Practice tab offers questions ranging from Beginner and Peer (school children) all the way to Hard and Challenge. Depending on your level of comfort and knowledge, you can choose to practice with questions belonging to any of these categories.

The contests on CodeChef can be divided into three main categories – the monthly challenge, the lunchtime challenge and the cook-off challenge. These contests are held every month and there are no restrictions on participation. If you think you’re capable enough and want to test yourself, or want to have a taste of competitive programming, this is the place to be.
The monthly challenge consists of about 10 questions that you can solve over a period of 10 days. It is alternatively called as the long challenge. The lunchtime challenge is a three hour contest within which competitors are asked to solve three questions. The cook-off challenge gives the coders two and a half hours to code, compile and run questions. The level of difficulty in all these contests varies from easy to difficult. CodeChef also provides incentives and goodies for winners of these challenges so as to encourage more and more people to participate. Besides, competing is a great way to test your ability to code within a stipulated time – a skill which comes in handy during placement season!


The Discussion board provides coders with a forum and blog to communicate and absolve their queries and issues related to problems on the website, or coding in general. It is a great medium for communication and learning from the experiences of others.
The potential of CodeChef is not limited to hosting challenges and providing questions for practice; it includes tools and features to develop a community of coders online as well as offline. It can be extended to schools and colleges in the form of campus chapters (like CodeBenders in IGDTUW) and allows people to host their own contests on their platform. This facilitates flexibility in the difficulty level of problems, aiming to make them suitable to the competitors’ expertise.
Solving problems on CodeChef is not an unachievable task. These problems are set by programmers who were once beginners. Besides, solutions to all the problems are easily available under the ‘All Submissions’ tab on the contest page. Referring to these solutions, however, calls for respect towards other peoples’ hard work and effort. Plagiarism is strictly prohibited and severely punished.
We hope this article could shed some light on CodeChef and how it works. We hope to see more students from IGDTUW making it big on this platform!