I recommend finding a real project that is likely to have some complex needs. It's easier to learn when there are real problems to solve.