I've been teaching myself how to write code with the help of a very talented friend, who unfortunately is talented enough that he has never free time. I've read and worked out of a couple books, but I feel more like I'm going through motions, rather than elegantly solving real world problems. What did you guys do to get out of your larval stage?

Is there a course or educational product out there that isn't quite the $1500 all encompassing lecture, but more than just a dry,"regurgitate this example," type book?