As a part of GitHub Education, social coding community launched GitHub Student Developer Pack for students to get free access to developer tools such as text editor Atom, cloud-application Bitnami, Crowdflower platform, database API Orchestrate and other tools, and while some are free, others are in the form of platform credits.
This is a great initiative and opportunity for young developers and programmers to test their knowledge, and to learn by doing. However, more opportunities exist for those ready to do a self-evaluation and practice. For years now, programming contests have been attracting professionals, enthusiasts and programmers-to be, thus, if you are not afraid to get out of your comfort zone, and test your skills (not every programmer is willing to do so), get more familiar with online programming contest websites.
The following is the list of the best and most interesting contents one can enroll in.
Topcoder – The largest community in which developers from all over the world take part in to find effective solutions in categories like design, assembly, SRM, algorithms, marathon and other. Solutions can be submitted in Java, C++, C# or VB, and given Microsoft and the NSA sponsor these competitions, apart from cash prizes, it’s carrier challenging competition.
Sphere online judge (SPOJ) – One of the earliest competitions, an online judge system (automatic assessment of user-submitted programs) supports more than 40 programming languages. Apart from English, competitions can be submitted in Polish, Vietnamese, Armenian and Portuguese.
CodeChef – A global programming community that hosts online contests, training and events giving programmers an opportunity to be trained, meet each other, and work together. It is a non-commercial competitive organization, run by an Indian software company.
UVa Online Judge – An online judge system where one can submit problems in a variety of languages and find problems from past programming contests (the ACM International Programming Contest).
CodingBat – A live coding site for programmers to build their skills in Java and Python. With instant feedback, it is a great platform for learning.
Python Challenge – A contest focused on programming challenges in Python, although any language can be used to solve the problems.
Codeforces – An online programming platform for practicing variety of coding problems and compete with other users.
Project Euler – A website that challenges professionals, students and enthusiasts to solve mathematical/computer programming problems in less than a minute. These ongoing series of challenges are created in a fun way for those who have an interest in exploring mathematical world, although, for most problems programming skills are required.
If you are more interested in annual contests, the following are good challenges.
ACM-ICPC – One of the largest annul programming contests in the world, sponsored by IBM. It tackles algorithmic programming problems supporting only two languages: Java and C/C++.
Google Code Jam – A well-known annual programming competition since 2008. Professionals and students alike test their knowledge solving complex algorithmic challenges using languages of their choice in a limited time.
International Conference on Functional Programming (ICFP) – An annual contest open to everyone, for any programming language(s) on any platform(s) from any location, with prizes for first and second place teams. This years’ task was to delve into LamCo’s software and hardware technology, (during the 80’s LamCo was a manufacturer of arcade games), to write a software to run on arcade hardware, and to reconstruct the arcade hardware in simulation.
International Problem Solving Contest (IPSC) – An online programming contest, mostly for fun, for teams up to three. The difficulty of the problems varies – one can use any programming language, even solve problems by hand, while the most problems are algorithmic.