As mentioned many times above just try and think of something you'd like to have or something someone you care about would value and try to build that.
I would put a slightly different slant on this point from melaos
"but you might want to do some research first on whatever you're trying to do, no point in reinventing the wheel with square blocks."
I think it can be very worthwhile to struggle along with finding a solution and getting it working and then, and only then, seeing someone else's code that solves the same problem better can be an amazing moment of breakthrough. You really understand the problem (because you solved it) and then you see a whole other way of solving it than your approach and it can be like a lightening bolt to the brain (in a good way) that opens up all sorts of new understandings about programming or the language you are working in.
Just doing 'cut and paste' programming on an 'old' problem won't give you this so avoid it.
So, in my opinion, don't be too concerned if you are covering old ground. It can be valuable to your learning and you might even be a prodigy who finds a whole new, better, way to solve the problem (not likely, but it's possible).