It’s been mentioned here on Less Wrong before, but I’ll recommend it again—Project Euler. It’s a set of 300+ math problems that are to be solved by designing an algorithm to run in under a minute.
Getting into Project Euler last summer is likely the best move I’ve ever made to improve my programming skills. I’m not a programmer, but coding skills come in handy in lots of places, so I started working through the PE problems as means of learning Python.
Since I started I’ve replaced almost all my casual reading with research into algorithms and math, and I’ve gone from a Python novice to a fairly advanced user without it ever seeming like work. Getting the right answer makes you feel smart, which is an ego-stroking way of making you continue.
I’ve replaced almost all my casual reading with research into algorithms and math
Where did you start? Did you have a vague idea of algorithms before? If you began with introductory texts which ones would you recommend? Did you know any other programming languages before you started on Python? Could one get a job based solely on knowing Python to your level, do you think?
I’d had a “Computer science for electrical engineers” course in school, which discussed data structures and algorithms from a high level (the usual sorting algorithm discussion, implementing a linked list, that kind of thing), but nothing too in-depth. I’ve had various experience in programming before PE.
In solving PE problems I’ve mostly used Wikipedia and Mathworld for research, and sometimes I’ll Google for lecture notes on a relevant topic.
I’ve used the Python skills I’ve picked up from PE in my job already. I think I could function in a more programming-oriented job now, though solving math problems doesn’t give you much help in hooking into existing APIs or writing web services, which are probably pretty important.
I heard about it a few times, but finally just registered … went through 6 problems, they’re pretty neat, thanks :) My maths is getting rusty, this is a nice boost.
That’s worth a bunch of upvotes. I think I got less than 100 done before losing interest. It was a great way to learn a new programming language (Haskell).
It’s been mentioned here on Less Wrong before, but I’ll recommend it again—Project Euler. It’s a set of 300+ math problems that are to be solved by designing an algorithm to run in under a minute.
Getting into Project Euler last summer is likely the best move I’ve ever made to improve my programming skills. I’m not a programmer, but coding skills come in handy in lots of places, so I started working through the PE problems as means of learning Python.
Since I started I’ve replaced almost all my casual reading with research into algorithms and math, and I’ve gone from a Python novice to a fairly advanced user without it ever seeming like work. Getting the right answer makes you feel smart, which is an ego-stroking way of making you continue.
Where did you start? Did you have a vague idea of algorithms before? If you began with introductory texts which ones would you recommend? Did you know any other programming languages before you started on Python? Could one get a job based solely on knowing Python to your level, do you think?
I’d had a “Computer science for electrical engineers” course in school, which discussed data structures and algorithms from a high level (the usual sorting algorithm discussion, implementing a linked list, that kind of thing), but nothing too in-depth. I’ve had various experience in programming before PE.
In solving PE problems I’ve mostly used Wikipedia and Mathworld for research, and sometimes I’ll Google for lecture notes on a relevant topic.
I’ve used the Python skills I’ve picked up from PE in my job already. I think I could function in a more programming-oriented job now, though solving math problems doesn’t give you much help in hooking into existing APIs or writing web services, which are probably pretty important.
I heard about it a few times, but finally just registered … went through 6 problems, they’re pretty neat, thanks :) My maths is getting rusty, this is a nice boost.
I just did the first three—and I think my solution to problem 2 was fairly elegant!
Edit:
My profileI’ll have to try this!
How many have you solved so far? I just got to level one the other day.
I started last June and am at 196 solved currently.
That’s worth a bunch of upvotes. I think I got less than 100 done before losing interest. It was a great way to learn a new programming language (Haskell).
Couldn’t reach level one until the submission rate limiter had cleared...