Whether you are a Computer Science student or just an individual with an interest in programming, who is looking to develop his skills then this article is a must read for you.
One can always try to do projects which interests them but there is one more very productive way to develop your programming skills – Competitive Programming.
Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google, Facebook, IBM etc. There are several organizations who host programming competitions on a regular basis. But if you are too new to start competing with experts in these competitions then there are various websites which allows you to practice programming problems.
In this post i’m going to list 5 such websites which hosts coding competitions and also provide previous contests problems to practice upon. They are:
Sphere Online Judge :-
SPOJ (Sphere Online Judge) is an online judge system with over 200,000 registered users and over 20,000 problems. Tasks are prepared by its community of problem setters or are taken from previous programming contests. SPOJ allows advanced users to organize contests under their own rules and also includes a forum where programmers can discuss how to solve a particular problem. The website is considered both an automated evaluator of user-submitted programs as well as an online learning platform to help people understand and solve computational tasks. It also allows students to compare paradigms and approaches with such a wide variety of languages.
HackerRank is a company that focuses on competitive programming challenges for both consumers and businesses and has an online community of over one million computer programmers. HackerRank’s programming challenges can be solved in a variety of programming languages (including, but not limited to, Java, C++, PHP, SQL) and span multiple computer science domains.
On the consumer side, when a programmer submits a solution to a programming challenge, their submission is scored on the accuracy of their output and the execution time of their solution. Programmers are then ranked globally on the HackerRank leaderboard and earn badges based on their accomplishments to drive competition among users. In addition to individual programming challenges, HackerRank also hosts contests (often referred to by HackerRank as “CodeSprints”) where users compete on the same programming challenges during a set period of time and are then ranked at the conclusion of the event. HackerRank is seen as a market leader in the growing gamification trend within competitive computer programming and the consumer-side of their website is free for coders to use.
CodeChef is a non-profit educational initiative of Directi. It is a global competitive programming platform which supports over 35 programming languages and has a large community of programmers that helps students and professionals test and improve their coding skills. Its objective is to provide a platform for practice, competition and improvement for both students and professional software developers. Apart from this, it aims to reach out to students while they are young and inculcate a culture of programming in India.
TopCoder is a company which administers contests in computer programming. TopCoder hosts fortnightly online competitive programming competitions—known as SRM’s or “single round matches”—as well as weekly competitions in graphic design and development. The work in design and development produces useful software which is licensed for profit by TopCoder. Competitors involved in the creation of these components are paid royalties based on these sales. The software resulting from algorithm competitions—and the less-frequent marathon matches—is not usually directly useful, but sponsor companies sometimes provide money to pay the victors. Statistics (including an overall “rating” for each developer) are tracked over time for competitors in each category.
This one doesn’t offer programming contests rather video tutorials on various subjects related to Computer Science, Maths and Physics. Udacity is the next best on the web to learn to code. Udacity believes today’s higher education system is broken. Udacity believes that education is no longer something that happens once in a lifetime, but rather is a lifelong experience. It is true in every sense and so it has ported loads of computer science, math and physics courses online.
Learning how to code is easy but learning how to code efficiently is painfully long and a hard process. So without wasting any further time, pick one of these websites and start practicing. Ciao..