Project Euler, founded in 2001, is one of the more well-known sites for providing programming challenges due to how long it’s been around. The questions don’t target a specific programming language, instead you just need to provide the answer using whatever tools available to you. With options becoming available with more recent tools and problems, is Project Euler still relevant?
Everyone knows programming is hard, and anyone who says otherwise is lying to you. It takes serious dedication as a beginner to learn the core concepts of a language, and then even more self-motivation etc. to apply it to a real problem! There’s always much easier activities available as an alternative to programming – watching a movie/ TV show, endlessly browsing Reddit, waiting for that 1 question on StackOverflow to pop that you know how to answer (only to be the 2nd answer) The list goes on. If you do have the motivation to code, the next step is to figure out what problem you’re going to solve. In steps Project Euler. Hundreds of small problems ranging in difficulty are available to everyone where the main theme is maths in order to promote problem-solving in both a logical and lateral approach. The questions usually have a small premise which describes the setup of the problem and even a basic example of what is implied.
Although the questions themselves may not be absolutely relevant to the field of programming that you’re doing, the basic process of encountering a problem and working your way through it is applicable to anyone. Becoming accustomed to this process is vital for programmers especially when it comes to coding interviews. Practice makes perfect, and by doing some problems from Project Euler – I aim to do at least 1 per week, it will train you to problem solve and come up with suitable solutions. Once you devise a solution and generate a result, you can check if it’s right or not on the website and you will receive a glorious green tick or a giant red X based on what you submitted. Project Euler gives no hints if you answer incorrectly or what the answer should be; it’s up to you to debug your solution which I think is an important task for any programmer. The correct answer more often than not is unavailable or unknown to the programmer so practicing this situation is key to moving forward with programming. Once you get the correct answer you can view the forum thread for the problem and see other’s solutions to the problem, usually varying between the more modern languages most recently and more often than not x86 assembly on the first page of the thread.
So although it may look a bit old and out-dated, and the majority of questions are math-based with little string manipulation (another very important subject for interviews!) Project Euler still provides the ability to practice problem solving and more often than not debugging of programs. Some newer alternatives are a bit easier and give hints and tips based on your answer if it is incorrect, but you usually won’t have this luxury in real-world situations. Project Euler’s single downfall is the captchas which seem to be everywhere. Logging in? Captcha. Suggesting an answer? Captcha. And god forbid you forget your account password – Project Euler has a strange method where unless you generated a key from the account settings page you’re account is then unrecoverable unless you magically remember the password, and don’t forget each attempt requires a captcha. The basis of so many captchas is to try prevent brute-forcing answers and login attempts but they make the site unappealing. Other than this I would definitely recommend it as a regular test for yourself and your problem solving skills.