Depends on what you’re interested in. If you’re a mathematician, Project Euler is a collection of recreational mathematical problems that need to be solved with programming (some can be solved with pen-and-paper in a reasonable amount of time, but the majority require the processing power of modern PCs) - in other words, a good way to learn to re-phrase mathematical thinking in terms of the programming language you’re trying to learn.
Consider taking some of your routine computer activities (batch photo manipulation, organising files, filtering email, etc) and automating them. Python is a great language for that, it can easily interface with system shells on just about any OS and has a ton of well-supported libraries for just about everything. Yes, you’ll be reinventing inferior solutions to problems that have been solved long ago, but the point is to learn.
I’ve gone and done 20 problems on Project Euler, and learned a little, but it didn’t seem like the fastest way to learn. Some of the problems took me awhile, but mostly they could be done with things I already knew. There was just one that I had to resort to Googling how to do, which led to learning a bit more about Python’s max command. But maybe I should take most of Project Euler seeming relatively easy as encouragement?
But maybe I should take most of Project Euler seeming relatively easy as encouragement?
If you did 20 problems at random, certainly. If you started from the beginning, all I can say is keep going. A good way to judge difficulty is to sort the problems in descending order of the number of people who solved them.
Depends on what you’re interested in. If you’re a mathematician, Project Euler is a collection of recreational mathematical problems that need to be solved with programming (some can be solved with pen-and-paper in a reasonable amount of time, but the majority require the processing power of modern PCs) - in other words, a good way to learn to re-phrase mathematical thinking in terms of the programming language you’re trying to learn.
Consider taking some of your routine computer activities (batch photo manipulation, organising files, filtering email, etc) and automating them. Python is a great language for that, it can easily interface with system shells on just about any OS and has a ton of well-supported libraries for just about everything. Yes, you’ll be reinventing inferior solutions to problems that have been solved long ago, but the point is to learn.
I’ve gone and done 20 problems on Project Euler, and learned a little, but it didn’t seem like the fastest way to learn. Some of the problems took me awhile, but mostly they could be done with things I already knew. There was just one that I had to resort to Googling how to do, which led to learning a bit more about Python’s max command. But maybe I should take most of Project Euler seeming relatively easy as encouragement?
If you did 20 problems at random, certainly. If you started from the beginning, all I can say is keep going. A good way to judge difficulty is to sort the problems in descending order of the number of people who solved them.
Learn math too, to understand data structures, graphs, algoritms and all the basic CS stuff.