Always Be Coding. Practice will always be the most important thing you can do.
Read the design patterns books others have recommended. Then code some more.
Learn a MVC framework. Rails is the currently popular one. Code something with storage requirements which can be solved with data structure manipulation behind the scenes. Alternately, play with Hadoop (Pig, Cascading, etc.) or another dataflow abstraction.
Study math, especially abstract algebra and group theory. Or law, or other logical fields.
Play sokoban, it's all about seeing parity, cycles, and other higher order structures. Or play with a Rubik's cube, one of Bram Cohen's puzzles, or another geometric puzzle. Or play go or chess. Then code something.