Competitive Software Programming Task
A Competitive Software Programming Task is a software programming task that is a competitive task.
- Context:
- It can (often) be from a Competitive Software Programming Contest.
- It can range from being an Competitive Individual Programming Task to being a Competitive Team Programming Task.
- It can range from being a Human Competitive Software Programming Task to being an Automated Competitive Software Programming Task.
- It can range from being an Easy Competitive Software Programming Task to being a Difficult Competitive Software Programming Task.
- It can be a Topic-Focused Competitive Software Programming Task, such as a Data Structure-Focused Competitive Software Programming Tasks, an Algorithms-Focused Competitive Software Programming Task, a Software Design Competitive Software Programming Task.
- …
- Example(s):
- one from Google Code Jam (GCJ).
- one from International Collegiate Programming Contest (ICPC).
- one from International Olympiad in Informatics (IOI).
- one from Meta Hacker Cup.
- one from Topcoder Open (TCO).
- a Balanced Lineup Software Coding Task.
- one from Codeforce platform.
- …
- Counter-Example(s):
- See: Software Programmer, Computer Programming, HackerRank, Software Programming Contest.
References
2023
- (AlphaCode Team, 2023) ⇒ AlphaCode Team. (2023). “AlphaCode 2 Technical Report.” Google DeepMind blog.
- QUOTE: ... Competitive programming is one of the ultimate litmus tests of coding skills. Participants are given limited time to write code to solve complex problems that require critical thinking, logic, and understanding of algorithms, coding and natural language. As such, it is a great benchmark for advanced reasoning and problem solving abilities.
AlphaCode (Li et al., 2022) was the first AI system to reach a competitive level on this task. Its successor, AlphaCode 2, leverages several Gemini-based (Gemini Team, Google, 2023) models as part of a massively improved system. When evaluated on the Codeforces platform – a mainstay of competitive programming – AlphaCode 2 solves 43% of problems within 10 attempts, close to twice as many problems as the original AlphaCode (25%). While its predecessor performed at the level of the median competitor, we estimate that AlphaCode 2 reaches the 85th percentile on average. ...
- QUOTE: ... Competitive programming is one of the ultimate litmus tests of coding skills. Participants are given limited time to write code to solve complex problems that require critical thinking, logic, and understanding of algorithms, coding and natural language. As such, it is a great benchmark for advanced reasoning and problem solving abilities.
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Competitive_programming Retrieved:2023-9-4.
- Competitive programming (also known as sports programming) is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Contestants are referred to as sport programmers. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google and Facebook.
A programming competition generally involves the host presenting a set of logical or mathematical problems, also known as puzzles or challenges, to the contestants (who can vary in number from tens or even hundreds to several thousands). Contestants are required to write computer programs capable of solving these problems. Judging is based mostly upon number of problems solved and time spent for writing successful solutions, but may also include other factors (quality of output produced, execution time, memory usage, program size, etc.).
- Competitive programming (also known as sports programming) is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Contestants are referred to as sport programmers. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google and Facebook.
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Competitive_programming#Overview Retrieved:2023-9-4.
- The aim of competitive programming is to write source code of computer programs which are able to solve given problems. A vast majority of problems appearing in programming contests are mathematical or logical in nature. Typical such tasks belong to one of the following categories: combinatorics, number theory, graph theory, algorithmic game theory, computational geometry, string analysis and data structures. Problems related to constraint programming and artificial intelligence are also popular in certain competitions.
Irrespective of the problem category, the process of solving a problem can be divided into two broad steps: constructing an efficient algorithm, and implementing the algorithm in a suitable programming language (the set of programming languages allowed varies from contest to contest). These are the two most commonly tested skills in programming competitions.
In most contests, the judging is done automatically by host machines, commonly known as judges. Every solution submitted by a contestant is run on the judge against a set of (usually secret) test cases. Normally, contest problems have an all-or-none marking system, meaning that a solution is "Accepted" only if it produces satisfactory results on all test cases run by the judge, and rejected otherwise. However, some contest problems may allow for partial scoring, depending on the number of test cases passed, the quality of the results, or some other specified criteria. Some other contests only require that the contestant submit the output corresponding to given input data, in which case the judge only has to analyze the submitted output data.
Online judges are online environments in which testing takes place. Online judges have rank lists showing users with the biggest number of accepted solutions and/or shortest execution time for a particular problem. [1]
- The aim of competitive programming is to write source code of computer programs which are able to solve given problems. A vast majority of problems appearing in programming contests are mathematical or logical in nature. Typical such tasks belong to one of the following categories: combinatorics, number theory, graph theory, algorithmic game theory, computational geometry, string analysis and data structures. Problems related to constraint programming and artificial intelligence are also popular in certain competitions.
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Competitive_programming#Algorithm_competitions Retrieved:2023-9-4.
Algorithm competitions
Name of the competition[2] | Organizers | Audience | Description | Number of participants | Website |
---|---|---|---|---|---|
Google Code Jam (GCJ) | open | Annual competition organized and sponsored by Google from 2003 until its cancellation in 2023.[3] | 32,702 (2022)[4] | https://codingcompetitions.withgoogle.com/codejam | |
International Collegiate Programming Contest (ICPC)[5] | ICPC Foundation | university student | Team competition for university students, the contest consists of many regional rounds that conclude in a world final organized yearly. Teams consist of three students from the same university and they are allowed to use only one computer. | 50,000+ (2022)[6] | https://icpc.global/ |
International Olympiad in Informatics (IOI) | IOI | secondary school students | International competition for secondary school students. Organized yearly since 1989. Each country can send at most 4 participants to compete. | 349 from 88 countries (2022)[7] | https://ioinformatics.org/ |
Meta Hacker Cup (formerly Facebook Hacker Cup) | Meta Platforms | open | Annual competition held since 2011. Organized and sponsored by Meta (formerly Facebook). | 27,604 (2022)[8] | https://www.facebook.com/codingcompetitions/hacker-cup |
Topcoder Open (TCO) | Topcoder | open | Annual algorithm competition held from 2001 until its cancellation in 2023[9] | https://www.topcoder.com/community/member-programs/topcoder-open/ |
In most of the above competitions, competitions are usually organized in several rounds. They usually start with online rounds, which conclude in the onsite final round. The top performers at IOI and ICPC receive gold, silver and bronze medals. In the other contests, cash prizes are awarded to the top finishers. The competitions also attract interest of recruiters from multiple software and Internet companies, which often reach out to competitors with potential job offers.
2017
- (Wikipedia, 2017) ⇒ https://en.wikipedia.org/wiki/competitive_programming Retrieved:2017-7-20.
- Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Contestants are referred to as sport programmers. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google, and Facebook. There are several organizations who host programming competitions on a regular basis. ...
- ↑ Programming Challenges (Skiena & Revilla) ,
- ↑ Kostka, Bartosz (2021). Sports Programming in Practice. University of Wrocław. https://kostka.dev/sp/spbook.pdf.
- ↑ "Celebrate Google's Coding Competitions with a final round of programming fun". Google. https://developers.googleblog.com/2023/02/celebrate-googles-coding-competitions.html. Retrieved 28 February 2023.
- ↑ "Code Jam - Google's Coding Competitions" (in en). https://codingcompetitions.withgoogle.com/codejam/round/0000000000876ff1. Retrieved 2023-02-26.
- ↑ "ICPC" (in en). https://icpc.global/static/media/mainLogoMobile.12b91576.png. Retrieved 2023-02-26.
- ↑ "ICPC" (in en). https://icpc.global/static/media/mainLogoMobile.12b91576.png. Retrieved 2023-02-26.
- ↑ "Olympiads". https://stats.ioinformatics.org/olympiads/. Retrieved 2023-02-26.
- ↑ "Meta Hacker Cup - 2022 - Qualification Round". https://www.facebook.com/codingcompetitions/hacker-cup/2022/qualification-round. Retrieved 2023-02-26.
- ↑ "FAQ - Topcoder Community Town Hall with Doug Hanson, Topcoder CEO" (in en). https://discussions.topcoder.com/discussion/26097/faq-topcoder-community-town-hall-with-doug-hanson-topcoder-ceo. Retrieved 28 February 2023.