DEV Community

loading...
Cover image for What is competitive programming?

What is competitive programming?

rahxuls profile image Rahul ・2 min read

Competitive Programming is a contest usually held over the internet involving participants trying to solve well-defined problems by writing computer programs according to provided specifications. Contestants are referred to as sport programmers.


A competition generally involves the host presenting a set of logical or mathematical problems to the contestants and contestants are required to write computer programs capable of solving each problem.

Usually, judging is based on the number of problems solved and the time spent for writing solutions, but may include other factors such as time complexity, space complexity, program size, etc. In most contests, the judging is done automatically by host machines.

There are 2 types of competition formats:

  • Short-term: Each round of short-term competition lasts from 1 to 5 hours.
  • Long-term: Long-term competitions can last from a few days to a few months.

Some of the most popular contests are:

  • International Collegiate Programming Contest(ICPC)
  • International Olympiad in Informatics (IOI)
  • American Computer Science League (ACSL)
  • ICFP Programming Contest
  • Facebook Hacker Cup
  • Google Code Jam

Pros

Participations in programming contests may increase contestant's enthusiasm for computer science studies. Also, the acquired skills improve career prospects, as they help to pass the technical interviews, which often require candidates to solve complex programming and algorithmic problems on the spot.

Cons

One critical point is that fast-paced contests teach competitors bad coding habit like lack of abstractions and comments, use of short variable names, etc. Also, by offering only small algorithmic puzzles, contests don't necessarily teach good software engineering skills ad practices.


How to Start ?

Some popular online resources for learning and participating in competitive programming are:

  • Topcoder.com
  • HackerRank.com
  • Codeforces.com
  • CodeChef.com

Most competitive programming contests have cash prizes πŸ˜‰.

Thanks For Reading 🀩


Removal.AI - [SPONSOR]

Remove background from multiple images in a single upload straight to your desktop using Bulk Photo Background Remover for Windows.

  • βœ… Drag & Drop Multiple Images
  • βœ… Optimize Product Images
  • βœ… Select Your Background
  • βœ… Set Your Output Size
  • βœ… Exceptional Results

Visit -> Removal AI

Discussion (0)

pic
Editor guide