I’m going to make a bold claim: every developer (and aspiring developer) should solve the first 50 Project Euler problems.
From the Project Euler site:
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
I have struggled mightily with math in the past. A highly distracted kid, I had trouble memorizing multiplication tables and making sense of equations. I completed my math courses with the lowest of passing grades and celebrated when I completed my first-year prerequisite math modules at college. At last, I was finally free of math!
Now I write software for a living. Ha ha?
Thing is, decades later I now know that math is mysterious and truly awe-inspiring, but that was never how math was taught to me.
Did you know that there are prime numbers we haven’t discovered yet?
Isn’t it weird that prime numbers exist in the first place?
Did you know we can use basic geometry to predict the future by simulating it?
Isn’t it absolutely bonkers that the human species can even conceive of things like Pythagorean triplets? Or counting in something other than base 10? Or pi?
All this stuff sitting out there like an alien language encoded into everyday reality and it’s like NO YOU GET TO DO LONG DIVISION AND MEMORIZE “TIMES TABLES” TRUST US ALL THIS WILL BE VERY IMPORTANT IN THE REAL WORLD SOMEDAY okay I guess I still have some issues over this.
Anyway what I was going to say is that to this day I’m still a late bloomer and looking at the first few Euler Project challenges actually made me hungry to try and learn something new. Maybe I’m not so bad at math after all, just uninspiring, boringly taught math.