You are currently browsing the tag archive for the ‘project euler’ tag.
Further to my first post on Project Euler I invited the members of the GDC to take on a 12 week challenge to improve their programming skills by solving 12 problems, then aiming to improve their solutions by reviewing other approaches and finally blog about their progress.
We had a great response with over 10 people agreeing to take on the challenge, three of whom have already set up blogs to track their progress. Good luck Fatos, Adam & Gabs.
So that everyone can easily keep track of the participants progress (and anyone else who sets up a blog and takes the challenge on), I have set up a site to aggregate all the blogs into one. Please check out our Aggrity site. It currently aggregates the blogs from Adam, Fatos and Gabriella but also the GDC Blog and the GDC Careers Blog. This is not just for the Project Euler challenge, our intention is to add any feeds/blogs relevant to Graduate Developers, so that you can see everything related to Graduate Developers in one place – if you know of a blog/feed that we should add then just let us know. Special thanks to Brendan Quinn for developing the Aggrity.com site.
If you are interested in taking on or finding out more about the GDC Project Euler challenge, here are the brief instructions. Just let me know and I’ll add your blog to the site.
- What do I have to do?
- Basically solve 12 different problems from Project Euler, keeping a diary to track your progress. Once you have solved the problem, read about alternative solutions from others that have solved it and come up with a new improved version of solving the problem.
- Why should I do it?
- There are two main benefits to you. Firstly it will improve your development skills and secondly it will improve your employability. With record numbers of graduates unable to find employment and many employers looking for the candidates that stand out, this is a way of elevating your profile. Many employers are looking for candidates that have gone above and beyond their academic projects to develop their skills. This will help your CV stand out, will act as a superb talking point at interviews and you can use the skills you develop to help with problems at technical interviews. You can also use it as a way to publicly show off your programming skills.
- Ok I’m in, so where do I start?
- First thing you need to do is write an initial post. This should be relatively brief and give details of your name, current position (in academia, employed), how man years commercial experience you have, your reasons for attempting this and what you’re hoping to learn. If you currently have a blog then we would recommend using that or obtaining a free one from http://www.wordpress.com. If you do not currently have a blog and are looking for something simple then just start a google doc.
Once you have done this, sign up to http://projecteuler.net. Have a read through the details of the site and then find your first problem to solve. (We would recommend starting with problem 1)
- How do I go about solving them, and what do I do once I have?
- You can use whichever techniques you want to research and solve the problem, feel free to use the GDC mailing list for help. Each problem has been designed according to a “one-minute rule”, which means that although it may take several hours/days to design a successful algorithm with more difficult problems, an efficient implementation will allow a solution to be obtained on a modestly powered computer in less than one minute.
Here is the important bit, once you have successfully solved the problem you will be granted access to the problem’s forum. At this point you need to spend some time reading about how other people went about solving the problem. At this point you need to come back and try to solve your problem in a new more efficient way.
- How do I track my progress?
- Once you have given a new more efficient solution you need to track your progress. Add a post to your blog which lists the following:
- Which problem you solved
- Difficulty level
- Your first solution
- Techniques used to solve problem
- How long did it take you to solve problem
- Your final solution
- Any problems you encountered, and how you solved them
- What did you learn
- What do I do when I’ve finished?
- Once you have completed the 12 challenges, write a final post to summarise what you feel you have learned, some of the major problems you overcame. At this point, you’re free to tackle as many of the problems on Project Euler and can continue the blog if you like.
I came across this post today titled “How I Failed, Failed, and Finally Succeeded at Learning How to Code” http://www.theatlantic.com/technology/print/2011/06/how-i-failed-failed-and-finally-succeeded-at-learning-how-to-code/239855/
It talks about Project Euler and how it is a great way for junior developers to go beyond the teaching at University and discover their passion for programming. I would recommend reading it and giving Project Euler a try to anyone new to programming.