Full Stack Web Developer

Project Euler

A Personal Challenge

For over a year, I've practiced solving mathematical and computational challenges posted at Project Euler. As I complete these challenges, I've been honing my skills in areas of software development I don't regularly work with.

  • Skills: Perl, algorithm design & optimization, mathematics

Progress

As of January 2017, I've completed over 50 challenges. (For fun, I create my own high-resolution versions of the Project Euler badges earned.)

Level 2 Badge
Level 2 Badge
Solved 50 problems.

What does solving 50 problems mean?

Compared to others who have solved at least ten problem, this is how I rank.

Top 15% — around 35,000 out of 225,000 people have accomplished this.

Top 40% — around 1,800 out of 4,800 Americans* have accomplished this.

Top 55% — around 90 out of 160 Perl-ites* have accomplished this.

* (Self-identification of nationality and programming language is optional.)

Lessons

What have I learned through these challenges? (Spoiler-free)

  • Practical experience with Big-O notation and algorithm optimization.
  • Improved ability to catch off-by-one errors.
  • An appreciation of the Perl programming language.
  • Experience with creating algorithms to solve unusual problems.
  • Lots of trivia about math and numbers. Especially prime numbers.
  • When time can be saved by making an estimation based on math.
  • Reusing code and extending code without breaking backward compatibility.