Codeforces (Russian: Кодефорсес) is a website that hosts competitive programming contests.[1] It is maintained by a group of competitive programmers from ITMO University led by Mikhail Mirzayanov.[2] Since 2013, Codeforces claims to surpass Topcoder in terms of active contestants.[3] As of 2019, it has over 600,000 registered users.[4] Codeforces along with other similar websites are used by some sport programmers, like Gennady Korotkevich, Petr Mitrichev, Benjamin Qi and Makoto Soejima, and by other programmers interested in furthering their careers.[5][6][7]
Overview
The Codeforces platform is typically used when preparing for competitive programming contests[8][9][10][11] and it offers the following features:
Short (2-hours) contests, called "Codeforces Rounds", held about once a week[12][13]
Educational contests (2-2.5 hours, with 12 hours (24 hours before Round 45) hacking period),[14] 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.[citation needed]
Rating system
Contestants are rated by a system similar to Elo rating system. There are usually no prizes for winners, though several times a year special contests are held, in which top-performing contestants receive T-shirts. Some bigger contests are hosted on Codeforces base, among them "The Lyft Level 5 Challenge 2018", provided by Lyft[15] or "Microsoft Q# Coding Contest — Summer 2018" provided by Microsoft.[16]
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. There is also a Div. 4, which is for users rated below 1400.[17]
Rating range
Title
Division
≥ 4000
Tourist
1
3000 — 3999
Legendary Grandmaster
1
2600 — 2999
International Grandmaster
1
2400 — 2599
Grandmaster
1
2300 — 2399
International Master
1
2100 — 2299
Master
1
1900 — 2099
Candidate Master
1/2
1600 — 1899
Expert
2
1400 — 1599
Specialist
2/3
1200 — 1399
Pupil
2/3/4
≤ 1199
Newbie
2/3/4
History
Codeforces was created by a group of competitive programmers from Saratov State University led by Mike Mirzayanov. It was originally created for those interested in solving tasks and taking part in competitions.[2] The first Codeforces Round was held on February 19, 2010 with 175 participants. As of the end of August 2022, over 800 rounds were held, with over 9000 registered competitors per round on average.[citation needed] Before 2012, Codeforces Rounds were titled "Codeforces Beta Rounds" to indicate that the system was still under development.[citation needed]
Academic use
Codeforces is recommended by many universities.[18][19] 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.[20] At the National University of Singapore, Codeforces rating is also used as an entrance qualifying criterion for registering for a 4-unit course, CS3233 Competitive Programming, as students have to achieve a rating of at least 1559 to be able to register for the course.[21]
^Difference between HackerRank, LeetCode, Topcoder and Codeforces (Youtube). Event occurs at 1:45. Difference between HackerRank, LeetCode, Topcoder and Codeforces: "Topcoder and Codeforces is a website that's typically used when preparing for actual competitive programming contests"
^Laaksonen, Antti (2018). Competitive Programmer's Handbook(PDF). p. 16. At the moment, the most active contest site is Codeforces, which organizes contests about weekly.