I would add:
Programming Challenges
Project Euler
UVa Online Judge
Sphere Online Judge
The above should keep you busy for a long time! I also agree with your strategy of browsing the threads on this site and trying to come up with your own answers to some of the simpler problems.