Codeforces

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Codeforces
Online Judge
Industry Competitive Programming
Founded 2010[1]
Headquarters Saratov[2], Russia
Area served
Worldwide
Key people
Mikhail Mirzayanov (Founder CEO)
Website codeforces.com

Codeforces is a Russian website dedicated to competitive programming. It was created and is maintained by a group of competitive programmers from Saratov State University led by Mikhail Mirzayanov. Since 2013, Codeforces claims to surpass Topcoder in terms of active contestants.[3][4] The Good Bye 2017 contest broke all records in terms of registrants (9733).

Overview[edit]

The Codeforces platform offers the following features:

  • Short (2-hours) contests, called "Codeforces Rounds", held about once a week;
  • Educational contests (2-2.5 hours), held 2-3 times per month;
  • Challenge/hack other contestants' solutions;
  • Solve problems from previous contests for training purposes;
  • "Polygon" feature for creating and testing problems;
  • Social networking through internal public blogs.

Contestants are rated by a system similar to ELO. There are usually no prizes for winners, though 2-3 times a year special contests are held, in which top performing contestants receive T-shirts. Some bigger contests (mostly local to a country) are hosted on Codeforces base, among them "Yandex Algorithm 2011", provided by Yandex, one of Russia's largest IT-companies.

Contestants are divided into ranks based on their ratings. Since May 2018, users with ratings between 1900 and 2099 can be rated in both Div. 1 and Div. 2 contests. At the same time, Div. 3 was created for users rated below 1600.[5] The table below was up-to-date on 2018-05-15.

Rating Bounds Color Title Division Number Number (by color)
≥ 3000 Red Legendary Grandmaster 1 14 261
2600 — 2999 Red International Grandmaster 1 90
2400 — 2599 Red Grandmaster 1 157
2300 — 2399 Orange International Master 1 134 792
2100 — 2299 Orange Master 1 658
1900 — 2099 Violet Candidate Master 1/2 2101 2101
1600 — 1899 Blue Expert 2 5186 5186
1400 — 1599 Cyan Specialist 2/3 10408 10408
1200 — 1399 Green Pupil 2/3 15584 15584
≤ 1199 Gray Newbie 2/3 6250 6250

History[edit]

The first Codeforces Round was held on the February 19, 2010 with 175 participants. As of the end of January 2016 over 300 rounds were held, with over 5000 registered competitors per round on average. Before 2012 Codeforces Rounds were titled "Codeforces Beta Rounds" to indicate that the system was still under development. However development of interconnected facilities such as training, virtual contests, new blog and interface features, etc. At the end of year 2015, Codeforces had over 300000 registered users.[6]

Use in academia[edit]

According to Daniel Sleator, professor of Computer Science at Carnegie Mellon University, competitive programming is valuable in computer science education because competitors learn to adapt classic algorithms to new problems, thereby improving their understanding of algorithmic concepts. He has used Codeforces problems in his class, 15-295: Competition Programming and Problem Solving.[7]

Other university courses that have used Codeforces for practice include CompSci 309s[8] at Duke University, CS 3813/780, Advanced Programming[9] at Oregon State University, and CS104c: Competitive Programming[10] at The University of Texas at Austin.

In addition to being used in courses, Codeforces is recommended as a source of practice questions by the competitive programming textbook Guide to Competitive Programming[11].

Role in technical recruiting[edit]

In the early days of competitive programming (1970), there were few options besides ACM-ICPC, which gathers relatively small groups of programmers together at in-person events. These events were gradually supplemented by online competitive programming sites. By the mid-2010s, there were many online judges to choose from. This allowed contestants to frequently test themselves in timed contests. Major online judges like Codeforces attracted top sport programmers like Gennady Korotkevich and Petr Mitrichev, and also non-celebrity programmers interested in furthering their careers.[12] But compared to online judges like HackerRank and HackerEarth that specialize in recruiting and hiring software developers, Codeforces is slightly removed from the job market. This helps it attract participants who aren't actively looking for work. Software engineer and competitive programmer Abhinav Johri puts it this way: "The #1 platform is Codeforces. The concept is a little different - companies don't come to them for hiring. People compete because they like competing."[13]

Hello Barcelona ACM-ICPC Bootcamp[edit]

In February 2017, Codeforces supported the Hello Barcelona ACM-ICPC Bootcamp, a training program for students preparing for the ACM International Collegiate Programming Contest. Codeforces founder and CEO Mike Mirzayanov participated as a coach for the program, which invited 150 university students.[14]

Contests hosted by Codeforces[edit]

Some bigger contests are hosted on the Codeforces platform, among them:

No. Contest Year Ref. External Link
1. Yandex.Algorithm Contest 2013 http://codeforces.com/ya2013 https://contest.yandex.ru/
2011 http://codeforces.com/yandex2011
2. Russian Code Cup 2017 http://codeforces.com/rcc2017 http://www.russiancodecup.ru/
2016 http://codeforces.com/rcc2016
2015 http://codeforces.com/rcc2015
2014 http://codeforces.com/rcc2014
3. ABBYY Cup 2013 http://codeforces.com/abbyycup30 http://www.abbyy.ru/science/students/cup/
2012 http://codeforces.com/abbyycup20
4. CROC Contest 2016 http://codeforces.com/croc2016 https://web.archive.org/web/20160402102402/http://www.crocok.ru/championship/
2013 http://codeforces.com/croc2013
2012 http://codeforces.com/croc2012
5. VK Cup 2017 http://codeforces.com/vkcup2017 http://vkcup.ru/
2016 http://codeforces.com/vkcup2016
2015 http://codeforces.com/vkcup2015
2012 http://codeforces.com/vkcup2012
6. MemSQL start[c]up 2014 http://codeforces.com/memsql2014
7. Coder-Strike 2014 http://codeforces.com/coderstrike2014
8. ZeptoLab Code Rush 2015 http://codeforces.com/zeptolab2015
2014 http://codeforces.com/zeptolab2014
9. 8VC Venture Cup 2017 http://codeforces.com/8vc
2016
10. Wunder Fund Contest 2016 http://codeforces.com/wunderfund2016
11. AIM Fund Round 2015 http://codeforces.com/aimfund2015
12. Looksery Cup 2015 http://codeforces.com/blog/entry/16744
13. Rockethon Contest 2015 http://codeforces.com/rockethon2015
2014 http://codeforces.com/rockethon2014
14. Bayan Programming Contest 2015 http://codeforces.com/bayan2015 http://contest.bayan.ir/
2013 http://codeforces.com/bayan201213
15. Manthan Contest - Hosted by IIT (BHU) Varanasi 2016 http://codeforces.com/blog/entry/43375
2011 http://codeforces.com/blog/entry/1475
16. Techno Cup 2017 http://codeforces.com/technocup2017 https://it.mail.ru/technocup
2016 http://codeforces.com/technocup2016
17. VeeRoute Marathon 2016 http://codeforces.com/blog/entry/43350
18. Canada Cup 2016 http://codeforces.com/canadacup2016
19. Divide By Zero 2017 - Hosted by IIT Indore 2017 http://codeforces.com/contests/768
20. Tinkoff Challenge 2017 http://codeforces.com/tinkoff2017
21. Playrix Codescapes Cup 2017 http://codeforces.com/playrix2017
22. HFT Battle 2017 http://codeforces.com/hftbattle2017
23. Intel Code Challenge 2016 http://codeforces.com/blog/entry/47431

References[edit]

  1. ^ "Codeforces". Crunchbase. Crunchbase Inc. Retrieved 12 May 2018. 
  2. ^ "Codeforces privacy policy". 
  3. ^ Mirzayanov, Mike. "Codeforces: Results of 2013 - Codeforces". Codeforces. Retrieved 28 July 2017. 
  4. ^ Mirzayanov, Mike. "Codeforces: results of 2014 - Codeforces". Codeforces. Retrieved 28 July 2017. 
  5. ^ "Codeforces: Updates in rating and rounds - Codeforces". Codeforces. Retrieved 2018-05-15. 
  6. ^ Mirzayanov, Mike. "Codeforces: Statistics 2015 - Codeforces". Codeforces. Retrieved 28 July 2017. 
  7. ^ "15-295: Competition Programming and Problem Solving, Fall 2016". Retrieved 12 May 2018. 
  8. ^ "CompSci 309s, Spring 2014". Retrieved 12 May 2018. 
  9. ^ "CS 3813/780, Advanced Programming, Fall 2014". Retrieved 12 May 2018. 
  10. ^ "CS104c: Competitive Programming". Retrieved 12 May 2018. 
  11. ^ Laaksonen, Antti (2017). Guide to Competitive Programming. Springer International Publishing. ISBN 978-3-319-72547-5. Retrieved 12 May 2018. 
  12. ^ "The Jocks of Computer Code Do It for the Job Offers". Bloomberg.com. Bloomburg. 25 September 2015. Retrieved 15 May 2018. 
  13. ^ "How Competitive Programming Platforms are Changing Tech Hiring". NDTV Gadgets360.com. NDTV. Retrieved 15 May 2018. 
  14. ^ "Barcelona bootcamp to feature instructors from Moscow Physics and Technology Institute". Government Security News. Retrieved 12 May 2018. 

External links[edit]